Bueno, depende de cuál sea tu definición de teoría. Para ser un buen programador en cualquier idioma, necesita saber más allá de la sintaxis y la semántica del lenguaje. Si ya tiene una buena comprensión del lenguaje informático en general y de cómo funciona JVM, y solo busca una buena referencia para la sintaxis o clases de Java, “Java in a Nutshell” es un buen candidato. Solía tener ese libro a mano todo el tiempo, pero ahora simplemente confío en Internet para cualquier soporte de idiomas: sintaxis, código de muestra, documentos Java, biblioteca de terceros, etc.
Si usted es un nuevo programador y se toma en serio el trabajo de desarrollo de Java, le sugiero que comprenda bien alguna “teoría” detrás de Java. Sin la “teoría”, será difícil tener éxito en esta carrera. Para ser más específico, la teoría a la que me referí lo ayudará a responder preguntas como:
- ¿Por qué Java proporcionó tantos objetos de colección?
- ¿Por qué me encontré con problemas de memoria mientras me dijeron que JVM se encargará de eso por mí?
- ¿Por qué mi código funciona en Eclipse IDE, pero no en un contenedor (Tomcat, WebLogic, JBoss, etc.)?