Чи корисно читати старі книги програмування Java? [зачинено]


10

Багатьом моїм книгам на Java 5 - 10 років. Чи все-таки це допомагає прочитати їх, або я повинен щось використовувати протягом 2 років.


2
залежить від того, чи все ще застарілий час повернення, вкладений для його читання, також слід порівнювати з часом використання для читання оновленої книги.
Sarawut Positwinyu

Відповіді:


26

Якщо книги стосуються самої мови , втрачайте її та отримайте нову.

Якщо книга йде про програмування як предмет (мистецтво, предмет, дисципліна, техніка, будь-що інше), то його, безумовно, варто прочитати. Найкращі книги з програмування, які я написав понад 10 років тому.


12
Можна стверджувати, що K&R - це саме C, і це найкраща книга C, яку ви збираєтесь знайти.
Vitor Py

7
Я згоден з @Victor Braga. Йдеться не про те, коли книга була написана, а про те, наскільки змінилася мова. Ява сильно змінився за останні 5-10 років. Однак C не має. Ваші 5-річні книги на Java майже нічого не варті. Однак ваше перше видання книги K&R C 1978 року є набагато актуальнішим (хоча це не на 100% точності, а також не друге видання з 1988 року). Основним фактором є те, наскільки змінилася мова та допоміжні засоби між публікацією книги та коли ви хочете користуватися нею.
Томас Оуенс

1
+1 невеликим книгам - 30 років і досі є безцінними.
Каміль Томшик

8

Це залежить від книги та від того, що ви хочете дізнатися з них та від вас.

На те, щоб прочитати старі книги, є товари:

  • Якщо вони навчають понять краще, ніж їхні нові еквіваленти.
  • Якщо вони навчають загальних принципів, а не конкретних технологій.
  • Якщо технологія, яку вони навчають, не дуже змінилася.

Особисто я дещо зберігаю свої старі книги програмування:

  • Я знаю, де знайти те, що шукаю.
  • У них є мої примітки.
  • Вони пробігають мою пам’ять краще, ніж нові книги.
  • Це (нав'язливо) дешевше, ніж купувати нове.

Наприклад, керівництво користувача для ZX81 (приблизно з 1981 р.) Має чудовий опис алгоритму малювання прямолінійної лінії. Це все ще має сенс для мене, ніж все, що я читав з тих пір. Я використовував це як основу впровадження багато разів протягом багатьох років.

Все, що сказали, я читав і нові книги. Я, звичайно, не хочу зациклюватися на темних століттях.


4

Якщо вони тоді були добрі, а мовні особливості, які вони навчають, не змінилися - то чому б і ні!

Я не думаю, що фундаментальні дані Java сильно змінилися після 1.2 (або Java 2).


6
Це залежить від того, як ви визначаєте основи. 5-10 років тому такі речі, як дженерики, автобоксинг, перерахування, варагги та цикл «для кожного», були новими або ще не існували. Я вважаю, що ці функції кардинально змінили те, як ви пишете гарне, якісне, читабельне та ремонтоване програмне забезпечення на Java. Не кажучи вже про те, що низка стандартних функцій не буде охоплена, тому що люди повинні виконувати свої власні. Навіщо вивчати 5-10-річну практику та звички, які вам просто доведеться ламати та вивчати нові методи?
Томас Оуенс

5
@World Engineer - це страшно. 12 років тому був 1999 рік, а значить, Java 1.2 вийшла. Після цього були внесені зміни в RMI, JNDI стало ядром, додано ключове слово АСТР, внесені зміни в регулярне вираження, а також були створені API NIO та журналів, дженерики, клас сканера, автобоксинг, перерахунки, вараги та цикл для кожного додано. Не кажучи вже про зміни в AWT, Swing, JDBC та компіляторі та компіляторі JIT. Цей університет навчає шкідливим звичкам для кожного, хто читає цю книгу. Мені доведеться сумніватися у цінності кожного, хто закінчив цю програму, якщо вони не зможуть використати адекватні ресурси для перших курсів
Thomas Owens

3
@Thomas Він сказав "відкриття курсу". Нічого, що ви перерахували, не викладається в жодному вступному курсі, крім, можливо, передбачення.
Піт

2
@ Pete Ми використовували або обговорювали дженерики, сканер, перерахунки, автобоксинг та Swing у перші два квартали (приблизно півтора семестру) моєї послідовності CS першого року.
Томас Оуенс

1
Текст був більш довідковим, Swing та сканери з'явилися в перший тиждень.
Всесвітній інженер

2

Одна з найкращих книг з електротехніки (мистецтво електроніки) була написана понад 20 років тому, і хоча електротехнічна сфера зростала за стрибки та межі, можливо, найбільший ріст будь-якої галузі, книга все ще відома багатьом як єдиний, авторитетний текст.

Незважаючи на те, що багато прикладів у книзі застаріли і замінені новішими конструкціями, книга не про те, щоб навчити вас будувати цифровий годинник, а про те, як слід його спроектувати . Основні правила як і раніше діють, і якщо це була гарна книга, то тоді її хороша книга зараз.

Очевидно, що якщо це книга про якийсь старий і неясний API, вона може бути не корисною сьогодні чи найближчим часом, і ви, ймовірно, можете обійтися і без цього. але знову-таки така книга лише розповідає про те, як щось побудувати і для цього його тривалість життя обмежена, зберігайте узагальнені книги.

Тримайте книги, які навчать вас розробляти рішення, а не ті, що розповідають, як його побудувати. Можливо, буде зрозуміло, які методи змінилися, і ви можете просто проігнорувати ці частини, але хороша книга на C все-таки вартує ваги золота.


1
Перша частина правдива, але я не згоден з другою. Книга на Java, як правило, навчить вас будувати з Java, а не проектувати систему, яка згодом буде реалізована на Java. А також порівняння відносно незмінної мови (наприклад, C) з швидко мінливою мовою (як Java) є недоліком.
Томас Оуенс

2

Можливо, буде корисно зберігати старі книги як орієнтир, якщо ви працюєте в будь-яких застарілих системах, що базуються на застарілих технологіях, особливо старих системах J2EE. Раніше я тримав стару книгу J2EE, бо час від часу я натрапляв на якийсь старий код, який використовував код EJB 2.1 або старий Swing.

Останньою версією Java, яка запровадила великі зміни до мови, була Java 5 у 2004 році. Будь-які книги, написані після цього часу, повинні включати ці зміни в мові, і їх слід читати загалом (і, можливо, навіть не було опубліковано нове видання). Однак зауважте, що в екосистемі Java з того часу багато що змінилося; Наприклад, Spring Spring та Maven зараз широко застосовуються технології, які тоді не були настільки поширеними.


0

Заходьте на amazon.com і шукайте книги Java. Зазвичай книги приблизно однакові, але ви можете зрозуміти, яка з них краща, прочитавши огляди. Я завжди вибираю такі книги - читаю огляди, а потім вирішую, яку я буду читати.


-1

Що стосується мови Java та як програмувати на Java, добре мати останні видання цих книг, наприклад, клас WeakReference походить з Java 1.2, і не так багато програмістів, які не знають, що цей клас існує навіть у Java SE , що означає, що найкраще читати найновіші книги для Java. Це добре лише для деяких фреймворків, але для того, щоб зрозуміти ці останні книги, потрібно мати основи, яких ви не збираєтеся отримувати з останніми книгами, але книги з найбільш рекомендованими книгами. Я думаю, що, думаючи в останньому виданні Java, це хороша книга, щоб почати з Java

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.