Una transmisión de libros imprescindibles para los profesionales de Java :
Cada programador tiene algunos libros que a menudo se usan porque a menudo se les conoce como materiales profesionales. Los siguientes libros deben ser imprescindibles en la estantería de los programadores de lenguaje Java. Los libros son caros, por lo que intencionalmente hago esta lista y limitado a libros importantes.
Pensando en Java (Bruce Eckel)
Pensando en Java, 3ª edición (Bruce Eckel; Prentice Hall Ptr, 2002)
Pensamientos de programación de Java : tercera edición (traducida por Chen Haopeng et al.; Machinery Industry Press, 2005)
El libro de Eckel es muy útil para aprender a usar la tecnología orientada a objetos en un local de Java. Una gran cantidad de ejemplos de código en el libro explican el concepto que introdujo. El texto proviene de alguien que no cree que la tecnología Java sea siempre la respuesta correcta, por lo que es bastante práctico. Eckel tiene mucha experiencia en múltiples idiomas y habilidades sólidas para pensar de manera orientada a objetos. Este libro pone estas habilidades en un lugar práctico de Java. También está escribiendo un nuevo libro llamado Thinking in Enterprise Java.
Java efectivo (Joshua Bloch)
Java efectiva: Guía de lenguaje de programación (Joshua Bloch; Addison-Wesley, 2001)
Versión china de Java efectiva (traducida por Pan Aimin; Machinery Industry Press, 2003)
Este libro es el mejor libro para comprender los principios de la excelente programación de Java. La mayoría de los materiales simplemente no se encuentran en otros libros sobre "Aprender Java". Por ejemplo, el capítulo sobre sobrescribir es igual a () en el libro de Bloch es una de las mejores referencias que he leído. También incluyó sugerencias muy prácticas en el libro: reemplazar las clases abstractas con interfaces y usar excepciones de manera flexible. Bloch es el arquitecto de la Biblioteca de la plataforma Java de Sun, por lo que tiene un conocimiento profundo del idioma. De hecho, escribió una gran cantidad de bibliotecas útiles en el idioma. ¡Debe leer este libro!
El lenguaje de programación Java (Ken Arnold, James Gosling, David Holmes)
El lenguaje de programación Java (Ken Arnold, James Gosling, David Holmes; Addison-Wesley, 2000)
Java Programming Language (tercera edición) (Traducido por Yu Wanrong et al., China Electric Power Press, 2003)
Esta es quizás la mejor introducción de Java para ti. No es una especificación estándar, sino un libro legible que introduce las características de cada idioma. El libro pesa rigurosa y educativamente bien, lo que permite a los programadores que rápidamente se sientan atraídos por el lenguaje Java (y su rica biblioteca).
Programación concurrente en Java: principios y patrones de diseño (Doug Lea)
Programación concurrente en Java: principios y patrones de diseño, 2ª edición (Doug Lea; Addison-Wesley, 1999)
Programación concurrente de Java - Principios y patrones de diseño (segunda edición) (traducido por Zhao Yong et al., China Electric Power Press, 2004)
No todos los desarrolladores necesitan tener una comprensión tan meticulosa de la concurrencia, y no todos los ingenieros pueden alcanzar el nivel de este libro, pero no hay una mejor visión general de la programación de concurrencia que este libro. Si está interesado en esto, comience aquí. Lea es un programador profesional en SUNY, y sus obras e ideas relacionadas con la concurrencia están incluidas en la especificación JDK 5.0 (citada de JSR166), por lo que puede estar seguro de que vale la pena escuchar su consejo sobre el uso de Java de manera efectiva. Es muy bueno para comunicar a la persona.
Diseño y desarrollo de J2EE de expertos (Rod Johnson)
Diseño y desarrollo de J2EE de expertos (Rod Johnson)
Wrox: Guía de programación de diseño y diseño J2EE (traducido por Wei Haiping, Electronics Industry Press, 2003)
Para aquellos nuevos en J2EE, este es el único libro que realmente refleja esta tecnología. Este libro contiene años de éxito y experiencia en fracaso. A diferencia de muchos otros autores, Johnson está feliz de hacer pública la experiencia de fracaso. J2EE a menudo se usa en exceso. El libro de Johnson puede ayudarlo a evitar esto.
Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)
Refactorización: Mejora del diseño del código existente (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts;
Addison-Wesley, 1999)
Refactorización: Mejora del diseño del código existente (versión china) (traducido por Hou Jie et al., China Electric Power Press, 2003)
Fowler ha escrito varios de los libros de programación más populares que se han publicado ahora, incluidos los patrones de análisis. Su libro sobre reconstrucción es el libro básico sobre este tema. La refactorización del código es una capacitación que los programadores ignoran, pero es la idea más intuitiva para los programadores. La refactorización es mejorar el diseño del código existente sin cambiar los resultados del código. Esta es la mejor manera de mantener su código ordenado, y el código diseñado de esta manera siempre es fácil de modificar. ¿Cuándo se refactorará? Cuando el código "siente un sabor". El libro de Fowler está lleno de ejemplos de código de idioma Java. Muchos entornos de desarrollo integrado de lenguaje Java (IDES) (incluido el eclipse de IBM) incluyen la reconstrucción de Fowler, y cada uno se nombra con su nombre de reconstrucción, por lo que vale la pena familiarizarse con los métodos de reconstrucción como el método de extracto.
Patrones de diseño (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
Patrones de diseño: Elementos de software reutilizable orientado a objetos (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Addison-Wesley, 1997)
Patrón de diseño: los conceptos básicos del software reutilizable orientado a objetos (traducido por Li Yingjun et al., Machinery Industry Press, 2005)
Este es un libro que es más famoso en el círculo de programadores profesionales. Basado en el apodo común del autor, este libro se considera el "Libro de la pandilla de cuatro (gof)". Los patrones son una forma de reutilizar al pensar y resolver problemas de programación ordinarios. El modelo de aprendizaje es un tema. Usar buenos modos (o saber cuándo no usarlos) es una habilidad. Ignorar el patrón es incorrecto. Todos los ejemplos del libro están representados en C ++, pero el lenguaje Java nació desde allí, por lo que es relativamente simple conectar a los programadores de lenguaje Java con cómo implementar estos patrones en el idioma Java. Esté familiarizado con los patrones y comprenda cómo usar buenos patrones para facilitar la programación. Esto hace que la comunicación con otros programadores también sea más fácil porque en una solución general a problemas comunes, los patrones son atajos para describir una gran cantidad de conceptos de programación relacionados en la solución que colabora entre sí. Algunos métodos más generales, como los métodos de fábrica, existen en general, e incluso existen en el lenguaje Java en sí. Para el tema de usar patrones con uso inteligente, también puede leer la refactorización de Joshua Kerievsky a los patrones, lo que dice que puede dejar que el código le diga cuándo implementar patrones.
Patrones de arquitectura de aplicaciones empresariales (Martin Fowler)
Patrones de arquitectura de aplicaciones empresariales (Martin Fowler; Addison-Wesley, 2002)
Modelo de arquitectura de aplicaciones empresariales (traducido por Wang Huainin et al., Machinery Industry Press, 2004)
En comparación con los proyectos pequeños y únicos, el desarrollo corporativo ciertamente representa un desafío mayor. Eso no significa que todos los desafíos traídos por el desarrollo empresarial sean nuevos desafíos. De hecho, a veces, este desarrollo se ha completado antes. Fowler ha realizado muchos de estos proyectos. Su libro menciona algunas soluciones generales y brinda orientación sobre el uso, los compromisos y las opciones. Fowler incluye patrones familiares en el libro, como Model View Controller (MVC), y también proporciona patrones que puede no entender, como el modo de controlador de página que maneja solicitudes o solicitudes de comportamiento específicas en un sitio web. A medida que tratas la mayoría de los modos, una vez que lees muchos modos, piensas "Ya sé ese modo". Tal vez ese sea el caso, pero es útil tener una expresión común para patrones de referencia. Esta clase de referencias es de gran ayuda en grandes proyectos con múltiples componentes (desarrollados por diferentes personas).
Uml destilado (Martin Fowler)
UML Destillado: una breve guía del lenguaje de modelado de objetos estándar (Martin Fowler; Addison-Wesley 2003)
Esencia UML: una breve guía para el lenguaje de objetos estándar (tercera edición) (traducida por Xu Jiafu, Tsinghua University Press, 2005)
Para los programadores profesionales, UML es un importante lenguaje de comunicación visual universal, pero es en exceso y apresurado. No necesita saber mucho sobre el uso de la comunicación UML. El refinamiento de Martin de UML le proporciona las cosas más centrales. De hecho, las páginas de portada delantera y trasera proporcionan todo lo que podría usar de manera regular. El código para ejemplos de UML en este libro es el código Java.
Desarrollo basado en pruebas: por ejemplo (Kent Beck)
Desarrollo impulsado por las pruebas: por ejemplo (Kent Beck; Addison-Wesley 2002)
Desarrollo basado en pruebas (versión china) (traducido por Cui Kai, China Electric Power Press, 2004)
La programación de prueba primero revolucionará la programación y lo ayudará a convertirse en un mejor programador. Es difícil escribir una prueba antes de escribir código, pero es una habilidad poderosa. Al priorizar las pruebas, el código se puede simplificar y asegurarse de que funcione desde el principio (Beck practicó su prioridad de prueba defendida, Junit coescrito, el marco de prueba más popular para Java). El libro de Beck es una referencia autorizada, y los ejemplos de dinero extendido también se escriben en Java. BECK detalla cómo pensar con la prioridad de la prueba (que puede ser el primer obstáculo que encuentran muchos programadores).
El programador pragmático: de Journeyman a Master (Andy Hunt y Dave Thomas)
El programador pragmático: desde el oficial hasta el maestro (Andrew Hunt y David Thomas; Addison-Wesley 1999)
La forma de practicar programadores: desde pequeños trabajadores hasta expertos (traducido por Mavida, Electronics Industry Press, 2004)
Ser un desarrollador puro orientado a objetos tiene sus ventajas . En la compleja sociedad actual, como desarrollador de idiomas Java, a menudo tiene que comprometerse para completar sus tareas. Cazar y
Thomas explora cómo completar las tareas sin comprometer lo que realmente importa. Este no es un libro sobre el idioma Java, sino una lectura de pensamiento importante para los desarrolladores de idiomas Java. Por ejemplo, no creo que los programadores que se beneficien del consejo honesto de "resolver problemas, no eludir la responsabilidad" no pueden firmar un nombre famoso en su obra maestra como un artista orgulloso.
Peopleware: proyectos y equipos productivos (Tom DeMarco y Timothy Lister)
Peopleware: proyectos y equipos productivos (Tom DeMarco, Timothy Lister; Dorset House, 1999)
Documentos personales (2ª edición) (Group de traducción de Umlchina, Tsinghua University Press, 2003)
Todos los demás libros en esta lista están al menos algo relacionados con la tecnología. Este libro no lo es. En el océano de todas las jergas y acrónimos técnicas, a veces los desarrolladores y gerentes de software olvidan: son las personas las que hicieron el software. DeMarco y Lister nos recuerdan este hecho y también sobre las razones de esta diferencia. Este no es un libro sobre un lenguaje de programación específico, pero es un libro que cada programador de lenguaje Java debe leer. Hay muchos otros buenos libros sobre "cómo los programadores agotados hacen que los gerentes sean contraproducentes", pero este es el mejor.
¡Aprender el idioma Java bien comienza con la lectura!