Nếu bạn click vào bài viết này tôi nghĩ kha khá ae sẽ pick quyển: Clean Code hay Code Complete? Nhưng không…
“Inside the Machine” – nhân vật chính của chúng ta hôm nay. Không hoa mỹ để nói nhưng tôi có thể suggest cho bất cứ LTV nào với tư cách là 1 nhà phát triển phần mềm. Đây là quyển sách hay nhất mà tôi từng đọc…
Trở lại với nội dung cuốn sách, chắc hẳn nhiều bạn sẽ “khó hiểu” vì đây là 1 quyển sách gần như hoàn toàn nói về phần cứng. Vậy tại sao? Tại sao lại đâm đầu vào quyển này trong khi có hàng ngàn tựa sách được suggest bởi nhiều người nổi tiếng, những lập trình viên kinh nghiệm,… Liệu có sai lầm gì khi cố gắng giải thích những vấn đề phần cứng cho 1 nhà phát triển phần mềm?
“Inside the Machine” nói về mối quan hệ gắn kết giữa phần cứng và phần mềm. Mở đầu cuốn sách tiếp cận người đọc với các cấu trúc sơ khai của bộ vi xử lý như ALU (*). Đóng cuốn sách lại, bạn sẽ hiểu được kiến trúc và thiết kế 1 bộ vi xử lý phức tạp.
Sự thật thú vị:
“Inside the Machine” được viết bởi Jon Stokes, người sáng lập ra Ars Technica và là biên tập viên của tờ Wired!
- Link tải sách: http://joe90.yolasite.com/resources/InsidetheMachine.pdf
Tại sao lại chọn quyển sách này?
Thực sự mà nói thì nó ĐƠN GIẢN & DỄ HIỂU.
Nội dung trình bày trong bài viết được đơn giản hóa tới mức tối thiểu giúp người đọc “dễ thở”, dễ đọc, dễ tiếp thu nhất có thể. Sử dụng những khái niệm cơ bản để giải thích những vấn đề lớn mang tính tương tự, từ đó tăng tính nhất quán đưa người đọc từ đơn giản đến phức tạp 1 cách “tự nhiên” nhất.
Khi bạn dành nhiều thời gian trên trường học để hoàn thành tín chỉ cho môn Kiến trúc máy tính, bạn có thể mệt mỏi để hiểu muôn vàn những khái niệm mới hoặc bạn có thể tự tin là mình nắm vững. Tuy nhiên Inside the Machine là mảnh ghép giữa khoảng trống những gì bạn được học trong Sách Giáo Khoa với kiến trúc máy tính hiện đại. Dù sao đi nữa, các khái niệm cứ dồn dập đến trong khi bạn chưa sẵn sàng để hiểu thì không tốt chút nào. Inside the Machine phù hợp với cả độc giả có chút kinh nghiệm sử dụng máy tính, thậm chí với độc giả có kinh nghiệm trong lập trình đều sẽ hoàn thành tốt với sự hiểu biết tường tận về máy tính hiện đại.
Nếu bạn không phải là một lập trình viên giỏi, tôi sẽ giới thiệu cuốn sách này nhiều hơn nữa. Tôi đọc cuốn sách này từ rất sớm trong sự nghiệp dev của tôi (khi tôi còn tệ) và tôi tin rằng nó đã định hình rất nhiều cho sự phát triển trong tương lai của tôi.
Hiểu những gì đang thực sự chạy phía sau những dòng code.
Một trong những điều tuyệt vời nhất của cuốn sách này là đến cuối cùng, bạn sẽ thực sự hiểu “bản chất” của những dòng code được bạn viết ra. Ngay cả đối với hầu hết các nhà phát triển có kinh nghiệm, câu hỏi làm thế nào máy tính hoạt động về cơ bản là phép màu với họ. Cuốn sách này cho phép bạn biến thành phù thủy với sự hiểu thấu tường tận về cách ma thuật trong những dòng code hoạt động ra sao.
Có lẽ hầu hết ae đọc bài viết sẽ thấy “lạ đời” khi tôi đề xuất rằng nên học về phần cứng, điều đó sẽ giúp bạn viết phần mềm. Nhưng bạn nên nhớ rằng: sau tất cả, phần mềm chỉ là một sự trừu tượng hóa phần cứng.
ĐÂY LÀ QUYỂN SÁCH ĐẸP: CẢ VỀ CẤU TRÚC LẪN NỘI DUNG
Điều này sẽ rõ ràng hơn khi bạn dành thời gian ra để đọc. Là một người hơi cầu toàn, tôi đánh giá cao những hình minh họa mang tính trừu tượng hóa cao, phong cách và thiết kế tổng thể của cuốn sách cũng rất rõ ràng. Các hình minh họa thực sự cung cấp giá trị có ý nghĩa chứ không phải để cho có; và bạn biết đấy, hình ảnh thay vì các “số liệu” thô cứng trong những quyển sách giáo khoa thật không dễ thương chút nào. Ví dụ, đây là một trong những hình ảnh minh họa mà tác giả sử dụng khi muốn người đọc hiểu về bộ nhớ đệm.
Hay 1 ví dụ khác minh họa kỹ thuật ống dẫn (pipelining):
Cuối cùng, tôi muốn nói rằng dù bạn mới bắt đầu phát triển phần mềm hay đã là một nhà phát triển có kinh nghiệm, cuốn sách này dành cho bạn. Thông tin được trình bày 1 cách thú vị khiến bạn đọc hết chương này phải tò mò đọc chương sau <3.