Czy warto czytać stare książki programistyczne Java? [Zamknięte]

10

Wiele moich książek o Javie ma od 5 do 10 lat. Czy nadal pomaga je przeczytać, czy powinienem użyć czegoś w ciągu 2 lat?

Adel
źródło
2
zależy od tego, czy wciąż jest przestarzały, czas zwrotu zainwestowany w lekturę należy również porównać z czasem poświęconym na czytanie aktualnej książki.
Sarawut Positwinyu

Odpowiedzi:

26

Jeśli książki dotyczą samego języka , zgub je i zdobądź nowy.

Jeśli książka dotyczy programowania jako przedmiotu (sztuka, przedmiot, dyscyplina, technika, cokolwiek), to zdecydowanie warto ją przeczytać. Najlepsze książki programistyczne, jakie napisałem ponad 10 lat temu.

CesarGon
źródło
12
Można argumentować, że K&R dotyczy samego C i jest to najlepsza książka C, jaką znajdziesz.
Vitor Py
7
Zgadzam się z @Victor Braga. Nie chodzi o to, kiedy książka została napisana, ale o to, jak bardzo zmienił się język. Java bardzo się zmieniła w ciągu ostatnich 5-10 lat. Jednak C nie ma. Twoje 5-letnie książki Java są prawie bezwartościowe. Jednak twoje pierwsze wydanie książki K&R C z 1978 roku jest znacznie bardziej aktualne (chociaż nie jest w 100% dokładne, podobnie jak drugie wydanie z 1988 roku). Głównym czynnikiem jest to, jak bardzo zmienił się język i narzędzia pomocnicze między wydaniem książki a momentem, kiedy chcesz z niej korzystać.
Thomas Owens
1
Książki +1 smalltalk mają 30 lat i wciąż są bezcenne.
Kamil Tomšík
8

To zależy od książki i tego, czego chcesz się od nich nauczyć i od ciebie.

Istnieją powody, dla których warto czytać stare książki:

  • Jeśli nauczą pojęć lepiej niż ich nowe odpowiedniki.
  • Jeśli nauczą ogólnych zasad, a nie konkretnych technologii.
  • Jeśli technologia, której uczą, niewiele się zmieniła.

Osobiście przechowuję NIEKTÓRE moje stare książki programistyczne:

  • Wiem, gdzie znaleźć to, czego szukam.
  • Mają w sobie moje adnotacje.
  • Pobudzają moją pamięć lepiej niż nowe książki.
  • Jest (oczywiście) tańsze niż kupowanie nowego.

Na przykład instrukcja obsługi ZX81 (z około 1981 r.) Zawiera doskonały opis algorytmu rysowania linii prostych. Nadal ma to dla mnie większy sens niż cokolwiek, co przeczytałem. Używałem go wielokrotnie jako podstawy wdrożenia.

To powiedziawszy, czytam też nowe książki. Na pewno nie chcę utknąć w mrocznych czasach.

Kramii
źródło
4

Jeśli byli wtedy dobrzy, a funkcje językowe, których uczą, nie uległy zmianie - to dlaczego nie!

Nie sądzę, że podstawy Java znacznie się zmieniły od wersji 1.2 (lub Java 2).

Martin Beckett
źródło
6
To zależy od tego, jak zdefiniujesz podstawy. 5-10 lat temu rzeczy takie jak generics, autoboxing, wyliczenia, varargs i pętla for-each były nowe lub jeszcze nie istniały. Uważam, że te funkcje zasadniczo zmieniły sposób pisania dobrego, wysokiej jakości, czytelnego i łatwego do utrzymania oprogramowania w Javie. Nie wspominając, że szereg standardowych funkcji nie byłby objęty, ponieważ ludzie musieliby sami wprowadzać własne. Po co uczyć się 5-10-letnich praktyk i nawyków, które trzeba przełamać i nauczyć się nowych technik?
Thomas Owens
5
@World Engineer - To przerażające. 12 lat temu był 1999, co oznacza, że ​​Java 1.2 została wydana. Następnie dokonano zmian w RMI, JNDI stał się rdzeniem, dodano słowo kluczowe assert, zmiany w wyrażeniach regularnych, a interfejsy API NIO i rejestrowania, generics, klasa Scanner, autoboxing, wyliczenia, varargs i pętla dla każdego dodany. Nie wspominając o zmianach w AWT, Swing, JDBC oraz kompilatorze i kompilatorze JIT. Ten uniwersytet uczy złych nawyków każdemu, kto czyta tę książkę. Musiałbym zakwestionować wartość każdego, kto ukończy ten program, jeśli nie będzie w stanie wykorzystać odpowiednich zasobów na pierwsze kursy
Thomas Owens
3
@Thomas Powiedział „kurs otwarcia”. Nic, co wymieniłeś, nie jest nauczane na żadnym kursie wprowadzającym, z wyjątkiem może Foreach.
Pete
2
@Pete W pierwszych dwóch kwartałach (około półtora semestru) mojej sekwencji CS z pierwszego roku używaliśmy lub omawialiśmy ogólne, Skaner, wyliczenia, autoboxing i Swing.
Thomas Owens
1
Tekst był raczej referencją, Swing i skanery pojawiły się w pierwszym tygodniu.
Inżynier świata
2

Jedna z najlepszych książek z dziedziny elektrotechniki (sztuka elektroniki) została napisana ponad 20 lat temu i mimo że dziedzina inżynierii elektrycznej rozwijała się w zawrotnym tempie, być może największy wzrost w jakiejkolwiek branży, książka jest nadal znana jako pojedynczy, autorytatywny tekst.

Podczas gdy wiele przykładów w tej książce jest przestarzałych i zastąpionych nowszymi projektami, książka nie ma na celu nauczyć Cię, jak zbudować zegar cyfrowy, ale jak go zaprojektować . Nadal obowiązują podstawowe zasady, a jeśli była to dobra książka, to teraz jest to dobra książka.

Oczywiście, jeśli jest to książka o jakimś starym i niejasnym API, może nie być użyteczna dzisiaj lub w niedalekiej przyszłości i prawdopodobnie możesz się obejść. ale znowu taka książka mówi ci tylko, jak coś zbudować, a zatem jej żywotność jest ograniczona, trzymaj się książek ogólnych.

Zachowaj książki, które uczą, jak zaprojektować rozwiązanie, a nie te, które mówią, jak je zbudować. Może być jasne, jakie metody się zmieniły i możesz po prostu zignorować te części, ale dobra książka o C jest nadal warta swojej wagi w złocie.

Silverfire
źródło
1
Pierwsza część jest prawdą, ale nie zgadzam się z drugą częścią. Książka o Javie zazwyczaj nauczy Cię, jak budować w Javie, a nie projektować system, który ostatecznie zostanie zaimplementowany w Javie. Również porównywanie stosunkowo niezmiennego języka (jak C) z szybko zmieniającym się językiem (jak Java) jest wadliwe.
Thomas Owens
2

Pomocne może być trzymanie starych książek w celach informacyjnych, jeśli pracujesz na dowolnym starszym systemie opartym na przestarzałej technologii, zwłaszcza na starych systemach J2EE. Kiedyś trzymałem przy sobie starą książkę J2EE, ponieważ czasami natrafiałem na stary kod, który używał EJB 2.1 lub starego kodu Swing.

Ostatnią wersją Javy, która wprowadziła duże zmiany w języku, była Java 5 w 2004 roku. Wszelkie książki napisane po tym czasie powinny zawierać te zmiany językowe i ogólnie powinny być w porządku do przeczytania (i może nawet nie opublikowano nowszego wydania). Zauważ jednak, że od tego czasu wiele się zmieniło w ekosystemie Java; Na przykład framework Spring i Maven to obecnie szeroko stosowane technologie, które wtedy nie były tak rozpowszechnione.

Ken Liu
źródło
0

Wejdź na amazon.com i poszukaj książek java. Zwykle książki są mniej więcej takie same, ale możesz dowiedzieć się, która z nich jest lepsza, czytając recenzje. Zawsze wybieram takie książki - czytam recenzje, a następnie decyduję, którą z nich przeczytam.

Siergiej
źródło
-1

Jeśli chodzi o język Java i programowanie w Javie, dobrze jest mieć najnowsze wydania tych książek, na przykład klasa WeakReference pochodzi z Java 1.2 i nie ma wielu programistów, którzy nie wiedzą, że ta klasa istnieje nawet w Java SE , co oznacza, że ​​czytanie najnowszych książek o Javie to najlepsza rzecz, jest to dobre tylko w niektórych środowiskach, ale aby zrozumieć te najnowsze książki, musisz mieć podstawy, których nie uzyskasz dzięki najnowszym książkom, ale z najbardziej polecanymi książkami. Myślę, że myślenie w najnowszej edycji Java to dobra książka na początek w Javie

użytkownik31645
źródło