Câu hỏi Cuốn sách có ảnh hưởng nhất mà mọi lập trình viên nên đọc là gì? [đã đóng]


Nếu bạn có thể quay ngược thời gian và tự bảo mình đọc một cuốn sách cụ thể khi bắt đầu sự nghiệp với tư cách là một nhà phát triển, cuốn sách đó sẽ là cuốn sách nào?

Tôi hy vọng danh sách này sẽ khác nhau và bao quát nhiều thứ.

Tìm kiếm: Sử dụng hộp tìm kiếm ở góc trên bên phải. Để tìm kiếm câu trả lời của câu hỏi hiện tại, hãy sử dụng inquestion:this. Ví dụ:

inquestion:this "Code Complete"

1439


gốc


Duyệt chủ đề này làm cho tôi nhận ra những sách liên quan đến lập trình xấu xí nhất đến mức nào. Chủ đề rất tốt mặc dù! - Carl Bergquist
Điều thú vị này là, trong khi tựa đề đọc "Cuốn sách có ảnh hưởng nhất mỗi Theo định nghĩa, và theo câu hỏi như nó đã được đưa ra, những cuốn sách được đề nghị ở đây nên đối phó với các chủ đề bất khả tri ngôn ngữ, mà chứng minh hầu hết các lập trình viên vẫn chưa học đọc thế nào. - Rook
Nếu tôi có thể quay ngược thời gian và tự bảo mình đọc một cái gì đó, tốt hơn là một tờ báo hoặc cuốn sách thể thao mà tôi mang theo. Bất cứ điều gì khác là một sự lãng phí thời gian đi lại tốt. :-) - jmucchiello
Bạn biết không, nếu tôi không lo lắng về việc bỏ phiếu bình chọn thì tôi sẽ trêu trọc và đề nghị Twilight. "C ItsNG của nó về những người nhợt nhạt và tránh mặt trời!" - Jacob Bellamy
Ai đó có thể dọn dẹp câu trả lời bằng cách xóa các mục lặp lại trên sách không? Hầu hết trong số họ đã bị bỏ phiếu. - rao


Các câu trả lời:


  • Hoàn thành mã (Ấn bản lần 2) của Steve McConnell
  • Lập trình viên thực dụng
  • Cấu trúc và diễn giải các chương trình máy tính
  • Ngôn ngữ lập trình C bởi Kernighan và Ritchie
  • Giới thiệu về thuật toán bởi Cormen, Leiserson, Rivest & Stein
  • Mẫu thiết kế bởi Gang of Four
  • Tái cấu trúc: Cải thiện thiết kế của mã hiện tại
  • Tháng Manical Man
  • Nghệ thuật lập trình máy tính bởi Donald Knuth
  • Trình biên dịch: Nguyên tắc, kỹ thuật và công cụ bởi Alfred V. Aho, Ravi Sethi và Jeffrey D. Ullman
  • Gödel, Escher, Bach bởi Douglas Hofstadter
  • Mã sạch: Cẩm nang về nghề thủ công phần mềm nhanh nhẹn bởi Robert C. Martin
  • Hiệu quả C ++
  • Hiệu quả hơn C ++
  •  bởi Charles Petzold
  • Lập trình ngọc trai bởi Jon Bentley
  • Làm việc hiệu quả với Mã kế thừa bởi Michael C. Feathers
  • Phần mềm bởi Demarco và Lister
  • Coders tại nơi làm việc bởi Peter Seibel
  • Chắc chắn bạn đang đùa, ông Feynman!
  • Java hiệu quả Ấn bản lần 2
  • Các mẫu của kiến ​​trúc ứng dụng doanh nghiệp bởi Martin Fowler
  • The Little Schemer
  • Các Schemer dày dạn
  • Tại sao (có hại) Hướng dẫn cho Ruby
  • Các tù nhân đang điều hành trại tị nạn: Tại sao các sản phẩm công nghệ cao lại thúc đẩy chúng ta điên rồ và làm thế nào để khôi phục lại tình trạng
  • Nghệ thuật lập trình Unix
  • Phát triển theo hướng thử nghiệm: Theo Ví dụ bởi Kent Beck
  • Thực tiễn của một nhà phát triển Agile
  • Đừng làm tôi nghĩ
  • Phát triển phần mềm nhanh, nguyên tắc, mẫu và thực tiễn bởi Robert C. Martin
  • Thiết kế theo hướng miền bởi Eric Evans
  • Các thiết kế của những thứ hàng ngày bởi Donald Norman
  • Thiết kế C ++ hiện đại bởi Andrei Alexandrescu
  • Viết phần mềm tốt nhất tôi bởi Joel Spolsky
  • Thực hành lập trình bởi Kernighan và Pike
  • Suy nghĩ và học tập thực dụng: Refactor Wetware của bạn bởi Andy Hunt
  • Đánh giá phần mềm: Làm sáng tỏ nghệ thuật đen bởi Steve McConnel
  • The Passionate Programmer (Công việc của tôi đã đi đến Ấn Độ) bởi Chad Fowler
  • Tin tặc: Anh hùng của cuộc cách mạng máy tính
  • Thuật toán + Cấu trúc dữ liệu = Chương trình
  • Viết mã rắn
  • JavaScript - Các bộ phận tốt
  • Bắt Real bởi 37 tín hiệu
  • Cơ sở lập trình bởi Karl Seguin
  • Đồ họa máy tính: Nguyên tắc và thực hành trong C(Ấn bản lần 2)
  • Suy nghĩ trong Java bởi Bruce Eckel
  • Các yếu tố của hệ thống máy tính
  • Tái cấu trúc cho các mẫu bởi Joshua Kerievsky
  • Hệ điều hành hiện đại bởi Andrew S. Tanenbaum
  • Annotated Turing
  • Những điều làm cho chúng ta thông minh bởi Donald Norman
  • Con đường vô tận của tòa nhà bởi Christopher Alexander
  • Hạn chót: Một tiểu thuyết về quản lý dự án bởi Tom DeMarco
  • Ngôn ngữ lập trình C ++ (ấn bản thứ 3) bởi Stroustrup
  • Các mẫu của kiến ​​trúc ứng dụng doanh nghiệp
  • Hệ thống máy tính - Phối cảnh của một lập trình viên
  • Nguyên tắc nhanh, mẫu và thực tiễn trong C # bởi Robert C. Martin
  • Phát triển phần mềm hướng đối tượng, được hướng dẫn bằng xét nghiệm
  • Hướng dẫn thiết kế khung bởi Brad Abrams
  • Tư duy đối tượng bởi Tiến sĩ David West
  • Lập trình nâng cao trong môi trường UNIX bởi W. Richard Stevens
  • Tin tặc và họa sĩ: Ý tưởng lớn từ thời đại máy tính
  • Linh hồn của một cỗ máy mới bởi Tracy Kidder
  • CLR qua C # bởi Jeffrey Richter
  • Con đường vô tận của tòa nhà bởi Christopher Alexander
  • Mẫu thiết kế trong C # bởi Steve Metsker
  • Alice ở xứ sở thần tiên bởi Lewis Carol
  • Zen và nghệ thuật bảo dưỡng xe máy bởi Robert M. Pirsig
  • Giới thiệu về khuôn mặt - Khái quát về thiết kế tương tác
  • Ở đây có tất cả mọi người: Sức mạnh của tổ chức mà không có tổ chức bởi Clay Shirky
  • The Tao Lập trình
  • Vẻ đẹp tính toán của thiên nhiên
  • Viết mã rắn bởi Steve Maguire
  • Hướng dẫn xuất bản web của Philip và Alex
  • Phân tích và thiết kế hướng đối tượng với các ứng dụng bởi Grady Booch
  • Java hiệu quả bởi Joshua Bloch
  • Tính toán bởi N. J. Cutland
  • Masterminds của lập trình
  • Tao Te Ching
  • Lập trình viên sản xuất
  • Nghệ thuật lừa dối bởi Kevin Mitnick
  • Lập trình viên nghề nghiệp: Chiến thuật Guerilla cho một thế giới không hoàn hảo bởi Christopher Duncan
  • Mô hình của trí tuệ nhân tạo Lập trình: Nghiên cứu điển hình trong Common Lisp
  • Masters of Doom
  • Thử nghiệm đơn vị thực dụng trong C # với NUnit bởi Andy Hunt và Dave Thomas cùng Matt Hargett
  • Làm thế nào để giải quyết nó bởi George Polya
  • Nhà giả kim bởi Paulo Coelho
  • Smalltalk-80: Ngôn ngữ và cách thực hiện
  • Viết mã bảo mật (2nd Edition) của Michael Howard
  • Giới thiệu về Lập trình hàm bởi Philip Wadler và Richard Bird
  • Không có lỗi! bởi David Thielen
  • Làm lại bởi Jason Freid và DHH
  • JUnit đang hoạt động

1747



Hoàn thành mã là một cuốn sách hay nếu bạn đang học đại học. Nếu bạn có ít nhất 1 năm kinh nghiệm lập trình, đó là tổng số lỗ khoan. - Bogdan Gavril
Hoàn thành mã có rất nhiều thông tin hữu ích trong đó nhưng nó bị chôn vùi trong cường điệu, bánh quế và sự lặp lại, khiến nó trở nên khó đọc. - Jeff Yates
tôi đọc Hoàn thành mã 3 năm trong sự nghiệp của tôi. Tôi đã không tham gia một khóa học kĩ nghệ phần mềm hay ngôn ngữ lập trình nào, nhưng đã học một số khóa học CS giới thiệu. Đó là một cuốn sách hay nhất mà tôi từng đọc để trở thành một lập trình viên giỏi hơn. Nó sẽ không làm cho bạn thành một chuyên gia nhưng nó sẽ làm cho bạn nhiều hơn một tinkerer. - Arnshea C
Vấn đề với cuốn sách này là cho người mới bắt đầu, nó không thực sự có ý nghĩa như các khái niệm là một chút tiên tiến. Vào thời điểm bạn đã sẵn sàng để có thể đọc nó, bạn đã biết và thực hành 99% các khái niệm trong cuốn sách. - esac
Đó là thỏa thuận với những gợi ý thông thường, giống như những đề xuất được tìm thấy trong cuốn sách này. Mỗi lần như vậy bạn thường cần phải được nhắc nhở của họ để rơi trở lại trong dòng. - JohnFx


K & R

@Juan: Tôi biết Juan, tôi biết - nhưng có một số điều mà chỉ có thể học được bằng cách thực sự nhận được nhiệm vụ trong tầm tay. Nói trong lý tưởng trừu tượng cả ngày chỉ đơn giản là làm cho bạn thành một học tập. Đó là trong ứng dụng của trừu tượng mà chúng tôi thực sự grok lý do cho sự tồn tại của họ. : P

@Keith: Great đề cập đến "Các tù nhân đang chạy tị nạn" của Alan Cooper - một cái mở mắt cho một số, bất kỳ nhà phát triển đã làm việc với tôi kể từ khi tôi đọc cuốn sách đó đã nghe tôi đề cập đến những ý tưởng nó espouses. +1


9





Toán học rời rạc cho các nhà khoa học máy tính http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

Toán học rời rạc cho các nhà khoa học máy tính bởi J.K. Giàn.

Trong khi điều này không dạy cho bạn lập trình, nó dạy bạn toán học cơ bản mà mọi lập trình viên đều nên biết. Bạn có thể nhớ công cụ này từ trường đại học, nhưng thực sự, làm logic vị ngữ sẽ cải thiện kỹ năng lập trình của bạn, bạn cần phải học Lý thuyết tập nếu bạn muốn lập trình bằng cách sử dụng các bộ sưu tập.

Có rất nhiều thông tin thú vị ở đây có thể giúp bạn suy nghĩ về các vấn đề theo nhiều cách khác nhau. Thật thuận tiện để có, chỉ để nhận một lần trong một thời gian để tìm hiểu một cái gì đó mới.


9





Systemantics: Làm thế nào hệ thống làm việc và đặc biệt là cách họ thất bại. Làm cho nó được sử dụng giá rẻ. Nhưng bạn có thể không nhận được sự hài hước cho đến khi bạn đã làm việc trên một vài dự án không thành công.

Vẻ đẹp của cuốn sách là năm bản quyền.

Có lẽ là "luật" mang tính sâu sắc nhất được trình bày trong cuốn sách:

Định lý chế độ lỗi cơ bản (F.F.T.): Các hệ thống phức tạp thường hoạt động ở chế độ lỗi.

Ý tưởng được rằng có những phần không trong bất kỳ phần mềm nhất định được che giấu bởi thất bại trong các bộ phận khác hoặc bằng cách xác nhận trong các phần khác. Xem ví dụ thực tế tại Máy bức xạ Therac-25có lỗ hổng phần mềm bị che bởi phần cứng lỗi. Khi các phần cứng bị lỗi đã được gỡ bỏ, điều kiện cuộc đua phần mềm đã không bị phát hiện, tất cả những năm đó dẫn đến máy giết chết 3 người.


9



Ngoài ra, hãy xem The Bible Bible của cùng tác giả (John Gall). Đây là phiên bản thứ ba của Systemantics, anh ấy đã thay đổi tiêu đề. Đây là cuốn sách bạn muốn ăn cắp từ trường. Đó là cuốn sách mà người lớn trưởng thành đọc dưới tấm chăn bằng đèn pin. - Chris Wenham


Một trong những mục yêu thích cá nhân của tôi là Sở thích của hacker, bởi vì nó đã được nhiều niềm vui để đọc vì nó là giáo dục.

Tôi hy vọng ấn bản thứ hai sẽ sớm được phát hành!


9



1 cho "Delight Delight" của Henry S. Warren Jr - nó không phải là về hack theo nghĩa phổ biến nhưng hack như ở cấp độ thấp bit twiddling và "hack" khác trong ý nghĩa thực sự và nguyên bản của từ đó. Không phải dành cho tất cả mọi người, nhưng nếu bạn tham gia vào việc tối ưu hóa mã, trình biên dịch, v.v ... hoặc chỉ là một mọt sách chung, những người quan tâm đến những thứ cấp thấp thì đây là một cuốn sách tuyệt vời. - Paul R


Các khái niệm, kỹ thuật và mô hình lập trình máy tính.

alt văn bản http://ecx.images-amazon.com/images/I/51YZ50ZR13L._SL500_AA240_.jpg


9



Brillant, bìa sách cho thấy "La Sagrada Família", một nhà thờ Công giáo La Mã lớn đang được xây dựng ở Barcelona, ​​Catalonia, Tây Ban Nha. Sẽ hoàn thành vào năm 2026 (chỉ còn 17yrs). Giống như hầu hết các chương trình, ngay cả với những cuốn sách hay nhất, chúng chưa bao giờ kết thúc ... - PeterMmm


Giải thích lập trình cực đoan: Embrace Change của Kent Beck. Trong khi tôi không ủng hộ một XP-hoặc-the-đường cao tốc hardcore đi vào phát triển phần mềm, tôi ước tôi đã được giới thiệu với các nguyên tắc trong cuốn sách này sớm hơn nhiều trong sự nghiệp của tôi. Đơn vị kiểm tra, tái cấu trúc, đơn giản, tích hợp liên tục, chi phí / thời gian / chất lượng / phạm vi - những thay đổi cách tôi nhìn vào phát triển. Trước Agile, đó là tất cả về trình gỡ rối và sợ các yêu cầu thay đổi. Sau Agile, những con quỷ đó không lờ mờ.


9





Các loại và ngôn ngữ lập trình bởi Benjamin C Pierce cho một sự hiểu biết thấu đáo về nền tảng của ngôn ngữ lập trình.


9





alt văn bản http://ecx.images-amazon.com/images/I/51E0Ojkz8iL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg


9





Khái niệm hệ thống cơ sở dữ liệu là một trong những cuốn sách hay nhất mà bạn có thể đọc về các nguyên tắc thiết kế cơ sở dữ liệu tốt.

alt text


9