¿Es beneficioso leer viejos libros de programación Java? [cerrado]

10

Muchos de mis libros de Java tienen entre 5 y 10 años. ¿Sigue siendo útil leerlos o debo usar algo dentro de 2 años?

Adel
fuente
2
dependerá de si todavía es obsoleto, el tiempo de retorno invertido para leerlo también debe compararse con el uso del tiempo para leer el libro actualizado.
Sarawut Positwinyu

Respuestas:

26

Si los libros tratan sobre el lenguaje en sí , piérdelo y obtén uno nuevo.

Si el libro trata sobre la programación como materia (arte, materia, disciplina, técnicas, lo que sea), entonces definitivamente vale la pena leerlo. Los mejores libros de programación que tengo fueron escritos hace más de 10 años.

CesarGon
fuente
12
Se puede argumentar que K&R se trata de C en sí y que es el mejor libro de C que encontrarás.
Vitor Py
77
Estoy de acuerdo con @Victor Braga. No se trata de cuándo se escribió el libro, sino de cuánto ha cambiado el idioma. Java ha cambiado mucho en los últimos 5-10 años. Sin embargo, C no. Sus libros de Java de 5 años son prácticamente inútiles. Sin embargo, su primera edición del libro K&R C de 1978 está mucho más actualizada (aunque no es 100% precisa, y tampoco la segunda edición de 1988). El factor principal es cuánto han cambiado el lenguaje y las herramientas de soporte entre la publicación del libro y cuándo desea usar el libro.
Thomas Owens
1
Los libros de +1 smalltalk tienen 30 años y siguen siendo invaluables.
Kamil Tomšík
8

Depende del libro y de lo que quieras aprender de ellos y de ti.

Hay razones de bienes para leer libros antiguos:

  • Si enseñan conceptos mejor que sus nuevos equivalentes.
  • Si enseñan principios generales en lugar de tecnologías específicas.
  • Si la tecnología que enseñan no ha cambiado mucho.

Personalmente, guardo ALGUNOS de mis viejos libros de programación:

  • Sé dónde encontrar lo que estoy buscando.
  • Tienen mis anotaciones en ellos.
  • Ellos refrescan mi memoria mejor que los libros nuevos.
  • Es (obviamente) más barato que comprar uno nuevo.

Por ejemplo, el manual del usuario del ZX81 (de alrededor de 1981) tiene una excelente descripción de un algoritmo de dibujo de línea recta. Todavía tiene más sentido para mí que cualquier cosa que haya leído desde entonces. Lo he usado como base de una implementación numerosas veces a lo largo de los años.

Dicho todo esto, también leo libros nuevos. Ciertamente no quiero quedar atrapado en la edad oscura.

Kramii
fuente
4

Si fueron buenos y las características del idioma que enseñan no han cambiado, ¿por qué no?

No creo que los fundamentos de Java hayan cambiado mucho desde 1.2 (o Java 2).

Martin Beckett
fuente
66
Depende de cómo definas los fundamentos. Hace 5-10 años, cosas como genéricos, autoboxing, enumeraciones, varargs y el ciclo for-each eran nuevos o aún no existían. Creo que esas características cambiaron fundamentalmente la forma en que escribes un software bueno, de alta calidad, legible y mantenible en Java. Sin mencionar que una serie de funciones estándar no estarían cubiertas porque las personas tendrían que rodar las suyas. ¿Por qué aprender prácticas y hábitos de 5 a 10 años que solo tendrás que romper y aprender nuevas técnicas?
Thomas Owens
55
@World Engineer - Eso da miedo. Hace 12 años era 1999, lo que significa que Java 1.2 estaba fuera. Después de eso, se realizaron cambios en RMI, JNDI se convirtió en el núcleo, se agregó la palabra clave de aserción, se realizaron cambios en regex, y las API NIO y de registro, genéricos, clase de escáner, autoboxing, enumeraciones, varargs y el ciclo for-each. adicional. Sin mencionar los cambios en AWT, Swing, JDBC y el compilador y el compilador JIT. Esa universidad está enseñando malos hábitos a cualquiera que lea ese libro. Tendría que cuestionar el valor de cualquiera que se gradúe de ese programa si no puede usar los recursos adecuados para los primeros cursos
Thomas Owens
3
@Thomas Él dijo "curso de apertura". Nada de lo que enumeras se enseña en ningún curso introductorio, excepto tal vez un foreach.
Pete
2
@Pete Utilizamos o discutimos genéricos, escáner, enumeraciones, autoboxing y Swing en los primeros dos trimestres (aproximadamente un semestre y medio) de mi secuencia de CS de primer año.
Thomas Owens
1
El texto era más una referencia, Swing and Scanners aparecieron en la primera semana.
Ingeniero mundial
2

Uno de los mejores libros de ingeniería eléctrica (el arte de la electrónica) fue escrito hace más de 20 años y, aunque el campo de la ingeniería eléctrica ha crecido a pasos agigantados, posiblemente el mayor crecimiento de cualquier industria, el libro todavía es conocido por muchos como el Texto único y autorizado.

Si bien muchos de los ejemplos en el libro están desactualizados y reemplazados por diseños más nuevos, el libro no se trata de enseñarle cómo construir un reloj digital, sino cómo debe diseñar uno. Las reglas fundamentales aún se aplican y si fue un buen libro, entonces es un buen libro ahora.

Obviamente, si se trata de un libro sobre alguna API antigua y oscura, puede que no sea útil hoy o en un futuro próximo y probablemente pueda prescindir de ella. pero una vez más, un libro como ese solo te dice cómo construir algo y, por lo tanto, su vida útil es limitada, sigue con los libros generalizados.

Guarde los libros que le enseñan cómo diseñar una solución, no los que le dicen cómo construirla. Puede estar claro qué métodos han cambiado y simplemente puede ignorar esas partes, pero un buen libro sobre C todavía vale su peso en oro.

Silverfire
fuente
1
La primera parte es cierta, pero no estoy de acuerdo con la segunda parte. Un libro sobre Java generalmente le enseñará cómo construir con Java, no diseñar un sistema que eventualmente se implementará en Java. Y también, comparar un lenguaje relativamente inmutable (como C) con un lenguaje que cambia rápidamente (como Java) es defectuoso.
Thomas Owens
2

Puede ser útil mantener libros antiguos como referencia si trabaja en cualquier sistema heredado basado en tecnología obsoleta, especialmente en sistemas J2EE antiguos. Solía ​​tener un viejo libro J2EE porque ocasionalmente me encontraba con algún código antiguo que usaba EJB 2.1 o código Swing anterior.

La última versión de Java que introdujo grandes cambios en el lenguaje fue Java 5 en 2004. Cualquier libro escrito después de ese tiempo debería incorporar esos cambios de lenguaje y debería estar bien para leer en general (y puede que ni siquiera haya publicado una edición más reciente). Sin embargo, tenga en cuenta que muchas cosas han cambiado en el ecosistema de Java desde entonces; Spring Framework y Maven, por ejemplo, ahora son tecnologías ampliamente utilizadas que no eran tan frecuentes entonces.

Ken Liu
fuente
0

Vaya a amazon.com y busque libros de Java. Por lo general, los libros son más o menos iguales, pero puede averiguar cuál es mejor leyendo reseñas. Siempre escojo los libros así: leo las reseñas y luego decido cuál leeré.

Sergey
fuente
-1

Para el lenguaje Java y cómo programar en Java, es bueno tener las últimas ediciones de estos libros, por ejemplo, la clase WeakReference es de Java 1.2 y no hay muchos programadores que no sepan que esta clase incluso existe en Java SE , lo que significa que leer los últimos libros para Java es lo mejor, esto solo es bueno para algunos marcos, pero para entender estos últimos libros necesitas tener conceptos básicos, que no vas a obtener con los últimos libros, pero el con los libros mas recomendados. Creo que pensar en la última edición de Java es un buen libro para comenzar con Java

usuario31645
fuente