Có đọc được sách lập trình Java cũ không? [đóng cửa]


10

Nhiều cuốn sách Java của tôi đã 5 - 10 tuổi. Nó vẫn giúp đọc chúng, hay tôi nên sử dụng thứ gì đó trong vòng 2 năm.


2
phụ thuộc vào việc nó vẫn còn lỗi thời thời gian hoàn vốn đầu tư để đọc nó cũng nên được so sánh với thời gian sử dụng để đọc cuốn sách cập nhật.
Sarawut Positwinyu

Câu trả lời:


26

Nếu những cuốn sách nói về ngôn ngữ , hãy đánh mất nó và lấy một cái mới.

Nếu cuốn sách nói về lập trình như một chủ đề (nghệ thuật, chủ đề, kỷ luật, kỹ thuật, bất cứ điều gì), thì nó chắc chắn là đáng đọc. Những cuốn sách lập trình tốt nhất tôi đã viết hơn 10 năm trước.


12
Người ta có thể lập luận rằng K & R là về chính C và đó là cuốn sách C hay nhất mà bạn sẽ tìm.
Vitor Py

7
Tôi đồng ý với @Victor Braga. Đó không phải là khi cuốn sách được viết, mà là về ngôn ngữ đã thay đổi bao nhiêu. Java đã thay đổi rất nhiều trong 5-10 năm qua. Tuy nhiên, C thì không. Sách Java 5 tuổi của bạn khá nhiều vô giá trị. Tuy nhiên, phiên bản đầu tiên của cuốn sách K & R C từ năm 1978 cập nhật hơn nhiều (mặc dù nó không chính xác 100% và cũng không phải là phiên bản thứ hai từ năm 1988). Yếu tố chính là ngôn ngữ và các công cụ hỗ trợ đã thay đổi bao nhiêu giữa việc xuất bản cuốn sách và khi bạn muốn sử dụng cuốn sách.
Thomas Owens

1
+1 sách smalltalk đã 30 tuổi và vẫn còn giá trị.
Kamil Tomšík

8

Nó phụ thuộc vào cuốn sách và vào những gì bạn muốn học hỏi từ họ và vào bạn.

Có những lý do hàng hóa để đọc sách cũ:

  • Nếu họ dạy các khái niệm tốt hơn so với tương đương mới của họ.
  • Nếu họ dạy các nguyên tắc chung hơn là các công nghệ cụ thể.
  • Nếu công nghệ họ dạy không thay đổi nhiều.

Cá nhân, tôi giữ MỘT SỐ sách lập trình cũ của mình:

  • Tôi biết nơi để tìm những gì tôi đang tìm kiếm.
  • Họ có chú thích của tôi trong đó.
  • Họ chạy bộ nhớ của tôi tốt hơn so với những cuốn sách mới.
  • Nó (rẻ hơn) rẻ hơn so với mua mới.

Ví dụ, hướng dẫn sử dụng cho ZX81 (từ khoảng năm 1981) có một mô tả tuyệt vời về thuật toán vẽ đường thẳng. Nó vẫn có ý nghĩa với tôi hơn bất cứ điều gì tôi đã đọc kể từ đó. Tôi đã sử dụng nó như là cơ sở của việc thực hiện nhiều lần trong nhiều năm.

Tất cả những gì đã nói, tôi cũng đọc sách mới. Tôi chắc chắn không muốn bị mắc kẹt trong thời kỳ đen tối.


4

Nếu họ giỏi thì các tính năng ngôn ngữ họ dạy đã không thay đổi - vậy thì tại sao không!

Tôi không nghĩ rằng các nền tảng của Java đã thay đổi rất nhiều kể từ 1.2 (hoặc Java 2).


6
Nó phụ thuộc vào cách bạn xác định các nguyên tắc cơ bản. 5-10 năm trước, những thứ như generic, autoboxing, liệt kê, varargs và for-every loop là mới hoặc chưa tồn tại. Tôi tin rằng các tính năng đó đã thay đổi căn bản cách bạn viết phần mềm tốt, chất lượng cao, dễ đọc và có thể bảo trì trong Java. Chưa kể, một số chức năng tiêu chuẩn sẽ không được đề cập vì mọi người sẽ phải tự lăn. Tại sao học các thói quen và thói quen 5-10 năm tuổi mà bạn sẽ phải phá vỡ và học các kỹ thuật mới?
Thomas Owens

5
Kỹ sư @World - Điều đó thật đáng sợ. 12 năm trước là 1999, có nghĩa là Java 1.2 đã ra mắt. Sau đó, các thay đổi đã được thực hiện cho RMI, JNDI trở thành cốt lõi, từ khóa khẳng định đã được thêm vào, các thay đổi được thực hiện cho regex và NIO và ghi nhật ký API, generic, lớp Scanner, autoboxing, enums, varargs và cho mỗi vòng lặp thêm. Không đề cập đến các thay đổi đối với AWT, Swing, JDBC, và trình biên dịch và trình biên dịch JIT. Trường đại học đó đang dạy những thói quen xấu cho bất cứ ai đọc cuốn sách đó. Tôi sẽ phải đặt câu hỏi về giá trị của bất kỳ ai tốt nghiệp chương trình đó nếu họ không thể sử dụng đủ nguồn lực cho các khóa học đầu tiên
Thomas Owens

3
@Thomas Anh ấy đã nói "khóa học mở". Không có gì bạn liệt kê được dạy trong bất kỳ khóa học giới thiệu nào ngoại trừ có thể là một bài giảng.
Pete

2
@Pete Chúng tôi đã sử dụng hoặc thảo luận về thuốc generic, Scanner, enums, autoboxing và Swing trong hai quý đầu tiên (khoảng một học kỳ rưỡi) của chuỗi CS năm đầu tiên của tôi.
Thomas Owens

1
Các văn bản có nhiều tài liệu tham khảo, Swing và Máy quét đã xuất hiện trong tuần đầu tiên.
Kỹ sư thế giới

2

Một trong những cuốn sách kỹ thuật điện tốt nhất (nghệ thuật điện tử) đã được viết cách đây hơn 20 năm và mặc dù lĩnh vực kỹ thuật điện đã phát triển vượt bậc, có thể là sự tăng trưởng lớn nhất của bất kỳ ngành nào, cuốn sách vẫn được nhiều người biết đến như là đơn, văn bản có thẩm quyền.

Mặc dù nhiều ví dụ trong cuốn sách đã lỗi thời và được thay thế bằng các thiết kế mới hơn, cuốn sách không phải là dạy bạn cách chế tạo đồng hồ kỹ thuật số mà là cách bạn nên thiết kế . Các quy tắc cơ bản vẫn được áp dụng và nếu đó là một cuốn sách tốt thì bây giờ nó là một cuốn sách tốt.

Rõ ràng nếu đó là một cuốn sách về một số API cũ và tối nghĩa thì nó có thể không hữu ích ngày hôm nay hoặc trong tương lai gần và bạn có thể có thể làm mà không cần. nhưng một lần nữa, một cuốn sách như thế chỉ nói cho bạn cách xây dựng một cái gì đó và do tuổi thọ của nó bị hạn chế, hãy giữ những cuốn sách tổng quát.

Giữ những cuốn sách dạy bạn cách thiết kế một giải pháp chứ không phải những cuốn sách cho bạn biết cách xây dựng nó. Có thể rõ ràng những phương pháp đã thay đổi và bạn có thể đơn giản bỏ qua những phần đó nhưng một cuốn sách hay về C vẫn có giá trị bằng vàng.


1
Phần đầu tiên là đúng, nhưng tôi không đồng ý với phần thứ hai. Một cuốn sách về Java thường sẽ dạy bạn cách xây dựng với Java, chứ không phải thiết kế một hệ thống cuối cùng sẽ được triển khai trong Java. Và cũng vậy, việc so sánh một ngôn ngữ tương đối không thay đổi (như C) với một ngôn ngữ thay đổi nhanh (như Java) là thiếu sót.
Thomas Owens

2

Có thể hữu ích để giữ những cuốn sách cũ xung quanh làm tài liệu tham khảo nếu bạn làm việc trên bất kỳ hệ thống cũ nào dựa trên công nghệ lỗi thời, đặc biệt là các hệ thống J2EE cũ. Tôi đã từng giữ một cuốn sách J2EE cũ bởi vì thỉnh thoảng tôi sẽ bắt gặp một số mã cũ sử dụng mã EJB 2.1 hoặc mã Swing cũ.

Phiên bản cuối cùng của Java để giới thiệu những thay đổi lớn đối với ngôn ngữ là Java 5 vào năm 2004. Bất kỳ cuốn sách nào được viết sau thời gian đó nên kết hợp những thay đổi ngôn ngữ đó và nên đọc chung (và thậm chí có thể không có phiên bản mới hơn được xuất bản). Tuy nhiên, lưu ý rằng rất nhiều thứ đã thay đổi trong hệ sinh thái Java kể từ thời điểm đó; Ví dụ, khung công tác Spring và Maven hiện là những công nghệ được sử dụng rộng rãi mà không phổ biến lắm.


0

Truy cập amazon.com và tìm sách java. Thông thường các cuốn sách là như nhau nhưng bạn có thể tìm ra cái nào tốt hơn bằng cách đọc các nhận xét. Tôi luôn chọn những cuốn sách như thế - đọc các đánh giá và sau đó quyết định tôi sẽ đọc cuốn nào.


-1

Đối với ngôn ngữ Java và cách lập trình trong java, thật tốt khi có các phiên bản mới nhất của những cuốn sách này, ví dụ lớp WeakReference là từ Java 1.2 và không có nhiều lập trình viên không biết rằng lớp này thậm chí còn tồn tại trong Java SE , điều đó có nghĩa là đọc những cuốn sách mới nhất cho Java là điều tốt nhất, điều này chỉ tốt cho một số khung công tác, nhưng để hiểu những cuốn sách mới nhất này, bạn cần có những điều cơ bản, nhưng bạn sẽ không có được những cuốn sách mới nhất, nhưng với hầu hết các cuốn sách được đề nghị. Tôi nghĩ Thinking in Java phiên bản mới nhất là một cuốn sách hay để bắt đầu với Java

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.