Clásico libro de programación en Java: el Deitel & Deitel
Un saludo cordial a tod@s los que se toman tiempo para leerme: no hay nada más gratificante que tener lectores de estas pocas entradas con las que ha comenzado dCodinGames. Es hermoso saber que hay alguien al otro extremo del cable (por así decirlo) que te lee y al que le sirve lo que estás escribiendo. Gracias de todo corazón.
He decidido abrir una nueva sección del blog en donde comentaré libros, blogs y sitios que he usado para aprender o como referencia de este juego que se llama programación. En esta ocasión hablaré sobre un clásico entre la literatura de programación: Cómo programar en Java de H.M. Deitel y P.J. Deitel de la editorial Prentice-Hall (su título original es JAVA How to program).
Creo que este libro es una referencia obligada para los cursos básicos de programación: lo usé en mi época de estudiante y también en mi época de docente.
Ediciones
La primera edición en español de este libro se publicó en 1998, y si estoy en lo correcto ya salió la décima edición, aunque no estoy segura si ya fue traducida al español. La única edición que poseo en físico es la primera, y aunque ya ha pasado bastante agua por el río, me sigue pareciendo una referencia sólida para los conceptos de POO y lógica de la programación. Eso sí, para temas no incluidos como Swing tengo que leer las versiones más recientes, las cuales además incluyen UML y patrones de diseño entre otros temas que han hecho a este libro permanecer como una fuente sólida de consulta desde hace ya casi ya 18 años.

Figura 1. La primera edición en español
¿Qué les ofrece el libro a los estudiantes?
Tristemente tengo que reconocer que, a pesar de los esfuerzos de los docentes, como estudiantes somos muy impacientes y con la tendencia a no leer, sino a “rastrear” información, y más los estudiantes modernos, tan acostumbrados a esta práctica por la sobrecarga de información que nos representa Internet. Se busca información rápida, si viene acompañada de código mucho mejor, y sobre todo de código que funcione. A pesar de esa tendencia, les recomiendo que no les hará daño detenerse un momento y leer concienzudamente algunos de sus capítulos, pues les ayudará a reforzar conceptos que pensaban que ya tenían bien claros. Desde mi humilde opinión, lo que trae de bueno este libro para los estudiantes es lo siguiente:
- Código: Deitel & Deitel viene con muchos ejemplos y fragmentos de código. La gran mayoría de los ejemplos que utilizan están reproducidos íntegramente en el libro. Lo que quiere decir que no hay pretexto para que no puedas probar ese código, pero una vez más mi recomendación es que, aunque ya hayas encontrado la solución a la tarea de Programación, no te limites a copiar y probar el código, dale una leída a la explicación de los programas, de esa forma harás tuyo el conocimiento y andarás adivinando qué puedes moverle o no al programa.
- Acompañamiento en la Web: este es un plus que aunque hoy ya es muy común que los autores coloquen material extra en la red, Deitel & Deitel lo vienen haciendo desde la primera edición. Obviamente el link publicado en el libro ha cambiado con el tiempo, pero en esta liga puedes encontrar el micro sitio que Prentice-Hall ha creado para Deitel. Y en particular aquí puedes descargar los ejemplos publicados en la décima edición del libro.
- Autoevaluación: el libro incluye, al término de cada capítulo, una serie de ejercicios con respuestas incluidas para que los estudiantes puedan autoevaluarse. Un buen recurso que muchas veces dejan pasar, y que luego los docentes aprovechamos ¡para incluirlos como preguntas en los exámenes! Así que no te caería mal resolver los ejercicios de algunos capítulos.
- Impresión de corridas: se incluyen además imágenes demostrando la ejecución de los programas propuestos. Esto es interesante, porque si deseas probar los programas, puedes tener una idea de lo que esperas obtener como resultado de la ejecución de un programa específico, y usarlo como guía por si algo no funciona como debería.
Además, por supuesto de lo más importante: una redacción clara, libre de artificios, y muy enfocada en el objetivo principal: la enseñanza de la programación en lenguaje java. Aunque utiliza la terminología técnica adecuada, no se despliega un cúmulo de especificaciones técnicas con definiciones rebuscadas y difíciles de comprender para los aprendices.
¿Qué les ofrece el libro a los docentes?

Figura 2. La 9a. edición en español
Como profesor(a), puedes utilizar este libro de múltiples formas:
- Como material de referencia rápida sobre conceptos básicos de POO y lógica de programación en general.
- Como un material de consulta para mejorar tu propia práctica docente, pues el enfoque de enseñanza “código en vivo” que emplean les da a los estudiantes las herramientas necesarias para probar los ejemplos. El término “live code” lo acuña Paul Deitel para referirse al hecho de que todos sus ejemplos se basan en código completo y no sólo mostrando snippets o fragmentos de código, bastante popular en la literatura de programación. El empleo de snippets puede causar confusión entre los estudiantes pues muchos (sobre todo los novatos) no tienen aún los conocimientos para terminar de desarrollar el ejemplo a partir del fragmento y así poder ejecutarlo. Desde mi punto de vista es más “código completo” que “código en vivo”, pero quiero suponer que Deitel en sus seminarios en línea emplea la técnica de codificar en vivo a la par de sus estudiantes, algo que en mi práctica docente es el eje fundamental de mi enseñanza.
- Las guías de “errores comunes de programación” como docente me recuerdan en donde pueden fallar mis estudiantes y estar preparada ante estos errores, pues el alumno no solo quiere que el error se corrija, sino también entender por qué ocurrió el error y qué debe hacer en los ejercicios siguientes para evitarlo.
- Las secciones: “sugerencias para mejorar el rendimiento”, “observaciones de ingeniería de software” y “práctica recomendada de programación” favorecen el aprendizaje de nuestros estudiantes. Pienso que tenemos que tener en cuenta el recordatorio constante de que no sólo estamos enseñando un lenguaje de programación, sino que todas las buenas prácticas de programación comienzan en nuestro curso, y que es mejor desarrollar estos buenos hábitos ahorita, que después intentar eliminar los vicios.
- Puedes hacer uso de los recursos de acompañamiento disponibles en la Web, desde la primera edición, Deitel y la editorial Prentice-Hall han puesto a la disposición de los docentes una serie de recursos, como presentaciones de Power Point de ciertos capítulos del libro, el manual para laboratorio con soluciones para el instructor y el banco de reactivos para evaluar el progreso de los estudiantes. Todo esto lo puedes encontrar en este enlace.
Lo malo
Si hay algo que se puede catalogar como “malo” en este libro es el hecho de que en sus últimas ediciones han optado por publicar en la versión impresa sólo hasta el capítulo 19. Por ejemplo, en la 9ª. Edición en español, los capítulos 20 a 31 únicamente están disponibles en inglés en el sitio Web. Puedo entender que quieran reducir los costos de publicación, pero el hecho de que no estén disponibles en español es la mosca en el arroz blanco, como decimos en México. Indica que la editorial se ha olvidado (¡¿a propósito?!) de la comunidad hispana y eso no lo puedo entender, pues somos una comunidad creciente de programadores y merecemos el acceso al contenido completo en nuestro idioma.
Esta es mi opinión sobre uno de los libros más populares de la literatura escrita para programación de computadoras. En general considero que es un buen material para introducir a los principiantes con los conceptos fundamentales de la POO. También funciona como material de referencia, y auxiliar en la enseñanza de la programación. Ahora sólo queda conocer sus opiniones sobre este material, y si tienen alguno que les parezca mejor, coméntenlo porque siempre es bueno conocer el material que l@s colegas están usando.
Hola quisiera saber si este libro me sirve hoy por hoy 2016 a aprender java
Hola. Claro que sí! He encontrado que este texto se ha actualizado a través de los años. En la nueva edición incluye además programación para la Web. Además, mi opinión sobre los primeros capítulos sigue siendo la misma: su enfoque es importante para programar con calidad y considero que está escrito en un lenguaje sencillo para que incluso cualquier persona que nunca ha programado lo entienda. En conclusión: sí, es una buena alternativa para aprender Java, aún hoy en el 2016. Saludos.
Hola, acabo de descubrir tu blog y es muy bueno.Te importaría compartir algunas técnicas para escribir entradas. Me gustaría crear y compartir mis conocimientos. Tips y cómo organizar al momento de escribir sobre un tema. Gracias ! 🙂
Hola Orlando, muchas gracias por tu comentario, esto me motiva a continuar con este blog. No estoy segura si entendí tu pregunta, ¿te refieres a compartir técnicas para escribir entradas de blog? No es un tema que había considerado, pero por supuesto que si los lectores como tú lo piden, comenzaré a estructurar una entrada sobre este tema. Gracias
He conocido mucho a cerca del libro gracias a este blog, tengo la primera edición y acompañaré con la última edición.