È utile leggere vecchi libri di programmazione Java? [chiuso]


10

Molti dei miei libri su Java hanno 5 - 10 anni. Aiuta ancora a leggerli o dovrei usare qualcosa entro 2 anni.


2
dipende dal fatto che è ancora obsoleto il tempo di ritorno investito per leggerlo, inoltre dovrebbe essere confrontato con il tempo impiegato per leggere il libro aggiornato.
Sarawut Positwinyu,

Risposte:


26

Se i libri parlano della lingua stessa , perdila e prendine una nuova.

Se il libro parla della programmazione come materia (arte, materia, disciplina, tecniche, qualunque cosa), allora vale sicuramente la pena di leggerla. I migliori libri di programmazione che ho scritto sono stati scritti più di 10 anni fa.


12
Si può sostenere che K&R riguarda la C stessa ed è il miglior libro C che troverai.
Vitor Py,

7
Sono d'accordo con @Victor Braga. Non si tratta di quando il libro è stato scritto, ma di quanto è cambiata la lingua. Java è cambiato molto negli ultimi 5-10 anni. Tuttavia, C no. I tuoi libri Java di 5 anni sono praticamente inutili. Tuttavia, la tua prima edizione del libro K&R C del 1978 è molto più aggiornata (anche se non è accurata al 100% e nemmeno la seconda edizione del 1988). Il fattore principale è quanto la lingua e gli strumenti di supporto sono cambiati tra la pubblicazione del libro e quando si desidera utilizzare il libro.
Thomas Owens

1
+1 I libri smalltalk hanno 30 anni e sono ancora preziosi.
Kamil Tomšík,

8

Dipende dal libro e da cosa vuoi imparare da loro e da te.

Ci sono ragioni per leggere vecchi libri:

  • Se insegnano concetti meglio dei loro nuovi equivalenti.
  • Se insegnano principi generali piuttosto che tecnologie specifiche.
  • Se la tecnologia che insegnano non è cambiata molto.

Personalmente, tengo ALCUNI dei miei vecchi libri di programmazione:

  • So dove trovare quello che sto cercando.
  • Hanno le mie annotazioni in esse.
  • Corrono la mia memoria meglio dei nuovi libri.
  • È (ovviamente) più economico rispetto all'acquisto di nuovi.

Ad esempio, il manuale dell'utente per ZX81 (intorno al 1981) ha una descrizione eccellente di un algoritmo di disegno a linee rette. Per me ha ancora più senso di qualsiasi cosa abbia letto da allora. L'ho usato come base di un'implementazione numerose volte nel corso degli anni.

Detto questo, ho letto anche nuovi libri. Non voglio certo rimanere bloccato nei secoli bui.


4

Se erano bravi allora e le caratteristiche della lingua che insegnano non sono cambiate, allora perché no!

Non credo che i fondamenti di Java siano cambiati molto dall'1.2 (o Java 2).


6
Dipende da come definisci i fondamenti. 5-10 anni fa, cose come generici, autoboxing, enumerazioni, vararg e il ciclo for-each erano nuovi o non esistevano ancora. Credo che queste funzionalità abbiano sostanzialmente cambiato il modo in cui si scrive un software valido, di alta qualità, leggibile e gestibile in Java. Per non parlare del fatto che un certo numero di funzioni standard non verrebbero coperte perché le persone dovrebbero farle proprie. Perché imparare pratiche e abitudini di 5-10 anni che dovrai solo rompere e apprendere nuove tecniche?
Thomas Owens

5
@World Engineer - È spaventoso. 12 anni fa era il 1999, il che significa che Java 1.2 era uscito. Successivamente, sono state apportate modifiche a RMI, JNDI è diventato core, è stata aggiunta la parola chiave assert, sono state apportate modifiche a regex e le API NIO e di registrazione, generici, classe Scanner, autoboxing, enum, varargs e il ciclo for-each sono stati aggiunto. Per non parlare delle modifiche ad AWT, Swing, JDBC e al compilatore e al compilatore JIT. Quell'università insegna cattive abitudini a chiunque legga quel libro. Dovrei mettere in discussione il valore di chiunque si laurea in quel programma se non possono usare risorse adeguate per i primi corsi
Thomas Owens

3
@Thomas Ha detto "corso di apertura". Nulla di ciò che hai elencato viene insegnato in alcun corso introduttivo, tranne forse per una foreach.
Pete,

2
@Pete Nei primi due trimestri (circa un semestre e mezzo) della sequenza CS del primo anno ho usato o discusso di generici, scanner, enum, autoboxing e Swing.
Thomas Owens

1
Il testo era più di un riferimento, Swing e Scanner sono comparsi nella prima settimana.
Ingegnere mondiale il

2

Uno dei migliori libri di ingegneria elettrica (l'arte dell'elettronica) è stato scritto oltre 20 anni fa e anche se il campo dell'ingegneria elettrica è cresciuto a passi da gigante, probabilmente la più grande crescita di qualsiasi settore, il libro è ancora noto a molti come il testo unico e autorevole.

Mentre molti degli esempi nel libro sono obsoleti e sostituiti da progetti più recenti, il libro non tratta dell'insegnamento di come costruire un orologio digitale ma di come dovresti progettarne uno. Si applicano ancora le regole fondamentali e se fosse un buon libro allora è un buon libro ora.

Ovviamente se è un libro su alcune API vecchie e oscure potrebbe non essere utile oggi o nel prossimo futuro e probabilmente ne puoi fare a meno. ma ancora una volta un libro del genere ti sta solo dicendo come costruire qualcosa e quindi la sua durata è limitata, continua con libri generalizzati.

Conserva i libri che ti insegnano come progettare una soluzione e non quelli che ti dicono come costruirla. Potrebbe essere chiaro quali metodi sono cambiati e puoi semplicemente ignorare quelle parti, ma un buon libro su C vale ancora il suo peso in oro.


1
La prima parte è vera, ma non sono d'accordo con la seconda parte. Un libro su Java in genere ti insegnerà come costruire con Java, non progettare un sistema che alla fine verrà implementato in Java. Inoltre, il confronto tra un linguaggio relativamente immutabile (come C) e un linguaggio in rapido cambiamento (come Java) è errato.
Thomas Owens

2

Può essere utile tenere vecchi libri come riferimento se lavori su sistemi legacy basati su tecnologia obsoleta, in particolare i vecchi sistemi J2EE. Conservavo un vecchio libro J2EE perché ogni tanto mi imbattevo in qualche vecchio codice che utilizzava EJB 2.1 o il vecchio codice Swing.

L'ultima versione di Java per introdurre grandi cambiamenti nella lingua è stata Java 5 nel 2004. Tutti i libri scritti dopo quel tempo dovrebbero incorporare quelle modifiche di lingua e dovrebbero essere ok per leggere in generale (e potrebbe non aver nemmeno pubblicato una nuova edizione). Si noti tuttavia che molto è cambiato nell'ecosistema Java da allora; il framework Spring e Maven per esempio sono ormai tecnologie ampiamente utilizzate che non erano così diffuse allora.


0

Vai su amazon.com e cerca libri java. Di solito i libri sono più o meno gli stessi, ma puoi capire quale è meglio leggendo le recensioni. Scelgo sempre i libri in quel modo: leggo le recensioni e poi decido quale leggerò.


-1

Per il linguaggio Java e come programmare in Java, è bene avere le ultime edizioni di questi libri, ad esempio la classe WeakReference proviene da Java 1.2 e non ci sono molti programmatori che non sanno che questa classe esiste anche in Java SE , il che significa che leggere gli ultimi libri per Java è la cosa migliore, questo è buono solo per alcuni framework, ma per capire questi ultimi libri devi avere delle basi, che non otterrai con gli ultimi libri, ma il con i libri più consigliati. Penso che pensare all'ultima edizione di Java sia un buon libro per iniziare con Java

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.