Mình sẽ cập nhật tại đây:

Trong một lần lọ mọ trên các diễn đàn công nghệ để tìm hiểu vài thứ linh tinh thì mình có tình cờ thấy một bài giới thiệu về những thứ cơ bản nhập môn về khoa học máy tính của một anh nào nước ngoài mình quên mất tên rồi, có đề cập đến quyển Code, và ca ngợi nhiều lắm. Mình thấy cũng được nhiều phản hồi tích cực nên ngắm nghía em nó sơ sơ rồi đọc thử thì thấy là hay thiệt. Sách nói về những thứ mình thắc mắc lâu nay, không những là về máy tính, về cách nó hoạt động mà còn về những kiến thức cơ bản khác có liên quan. Với cách giải thích dễ hiểu, ví dụ rõ ràng với cái giọng hài hài nữa, mình bị nó cuốn đi luôn, để rồi mới dẫn đến quyết định dịch sang tiếng Việt. Mình mong nó sẽ đem đến một vài kiến thức có lẽ là sẽ cần thiết cho các bạn, một cách nhanh hơn so với việc ngồi đọc tiếng Anh (trừ mấy bạn giỏi Anh nhé :p).
Vì mình cũng không giỏi tiếng Anh cho lắm, cùng với nền tảng văn học tích lũy vô vàn còn 3, 4, 5 trên ghế nhà trường nên mình rất rất mong các bạn góp ý nhiệt tình vào, các bạn thấy có gì không đúng hay câu văn tối nghĩa hay gì gì đó không ưng thì cứ để lại bình luận mình sẽ xem rồi chỉnh sửa. Có nhiều chỗ mình cũng không thông cho lắm, nên mong được các cao nhân trên này chỉ giáo. Được nói chuyện với mấy bạn rất vui, nên cứ thảo luận thoải mái nha. Nhớ đó!
Mình vẫn còn đang dịch với đang học lại giáo dục quốc phòng ;( nên chắc không ra nhanh được. Mong là một tuần được 2 chương. Vui.
Dưới đây là lời nói đầu của tác giả cho sách.

Code đã làm rộn tâm trí tôi cũng được khoảng một thập kỷ trước khi tôi bắt đầu viết về đề tài này. Khi tôi đang chìm đắm trong suy tưởng về Code và rồi viết về nó, và thậm chí cả sau khi cuốn sách được xuất bản, mọi người thường hỏi tôi, “Cuốn sách viết về cái gì thế?”
Tôi luôn luôn lưỡng lự khi trả lời câu hỏi này. Tôi thường sẽ lầm bầm một thứ gì đó đại loại như “một chuyến viễn du độc nhất đi qua tiến trình tiến hóa của công nghệ kỹ thuật số đã định hình nên kỷ nguyên hiện đại” và mong rằng thế là đã đủ.
Nhưng cuối cùng tôi cũng phải thừa nhận điều này: “Code là một cuốn sách về cách hoạt động của máy tính.”
Như tôi lo sợ, phản ứng không được tốt đẹp mấy. “Ồ, tôi có một cuốn giống vậy”, vài người sẽ nói thế, và ngay lập tức đáp trả của tôi là, “Không, không, không, bạn không có cuốn nào như cuốn này được đâu.” Tôi vẫn còn nghĩ điều này đúng. Code không giống những cuốn sách máy-tính-hoạt-động-như-thế-nào khác. Nó không có các hình minh họa màu lớn về ổ đĩa (disk drive) với các mũi tên chỉ cách dữ liệu quét vào máy tính. Code không có những hình vẽ về các đoàn tàu hỏa chở một lô một lốc những số không và một. Phép ẩn dụ và so sánh là những công cụ văn học tuyệt vời nhưng chúng không làm gì khác ngoài việc làm lu mơ vẻ đẹp của công nghệ.
Những phản hồi khác mà tôi nghe được là, “Người ta không muốn biết cách máy tính hoạt động”. Và điều này tôi cũng chắc là đúng. Tôi tự thưởng thức việc học về cách mọi vật hoạt động một cách cá nhân. Nhưng tôi cũng thích chọn những thứ gì để học và thứ gì thì không. Tôi sẽ rất áp lực nếu phải giải thích cách cái tủ lạnh nhà tôi hoạt động ra sao, ví dụ vậy.
Thế nhưng tôi thường nghe mọi người hỏi những câu mà ẩn chứa trong đó là nhu cầu muốn biết đôi điều về hoạt động bên trong của máy tính cá nhân. Một câu hỏi phổ biến là, “Điểm khác nhau giữa storage và memory là gì?”
Đó chắc chắn là một câu hỏi quan trọng. Thị trường máy tính cá nhân dựa trên những khái niệm như này. Thậm chí đến những người dùng mới cũng mong muốn biết xem các ứng dụng cụ thể của họ cần bao nhiêu megas cho thứ này và bao nhiêu gigas cho thứ kia. Người dùng mới cũng mong muốn hiểu được khái niệm “file” máy tính và hình dung cách mà các file được tải từ storage vào memory và lưu ngược lại từ memory về storage.
Câu hỏi storage-và-memory thường được trả lời với một bài phân tích: “Memory kiểu như bề mặt bàn còn storage thì như ngăn bàn”. Đó không phải là một câu trả lời dở trong giới hạn của nó. Nhưng tôi thấy nó không đạt yêu cầu lắm. Nó làm ta nghe có vẻ như cấu trúc máy tính giống với một văn phòng vậy. Sự thật thì sự phân biệt giữa memory và storage là một thứ do con người nghĩ ra và tồn tại đơn độc bởi vì ta không có một phương tiện lưu trữ đơn nào mà vừa nhanh vừa lớn cũng như không bị mất dữ liệu khi tắt nguồn. Những gì ta biết ngày nay cũng như “cấu trúc von Neumann” – cấu trúc máy tính chủ yếu trong hơn 50 năm – là một kết quả trực tiếp của sự thiếu sót về mặt kỹ thuật này.
Đây là một câu hỏi khác mà ai đó đã có lần hỏi tôi: “Tại sao ông không thể chạy các chương trình Macintosh trên nền Windows?” Mồm tôi chuẩn bị mở ra để bắt đầu câu trả lời khi tôi nhận ra rằng nó liên quan đến nhiều vấn đề mang tính kỹ thuật hơn hẳn những gì mà tôi chắc người hỏi được trang bị để hiểu liền một mạch ngay được.
Tôi muốn Code trở thành một cuốn sách giúp cho bạn hiểu được những thứ này, không phải theo những cách trừu tượng, mà với một chiều sâu mà có thể thậm chí sánh được với các kỹ sư điện và lập trình viên. Tôi cũng mong rằng bạn có thể nhìn nhận máy tính là một trong những thành tựu tột bật của công nghệ thế kỷ hai mươi và xem nó như là một thứ đẹp đẽ mà tự nó có được chứ không phải bởi những phép so sánh hay ẩn dụ mang lại.
Máy tính được cấu tạo theo thứ bậc, từ các transistor nằm tầng đáy đến các thông tin được hiển thị trên màn hình máy tính ở tầng trên. Lên mỗi cấp độ trong thứ bậc đó – cũng là cách Code được sắp đặt – thì có lẽ sẽ không khó cho hầu hết mọi người suy ngẫm. Chắc chắn là có rất nhiều thứ đang diễn ra trong máy tính hiện đại, nhưng nó chỉ là rất nhiều những hoạt động đơn giản và thông thường.
Mặc dù máy tính ngày nay phức tạp hơn nhiều so với các máy ở cách đây 25 hay 50 năm, nhưng về cơ bản thì vẫn giống nhau. Đó là những gì tuyệt vời khi nghiên cứu lịch sử công nghệ: Càng đi xa về quá khứ, công nghệ càng trở nên đơn giản. Cho nên có khả năng ta sẽ chạm đến một điểm nơi mà mọi thứ sẽ đều tương đối dễ hiểu.
Trong Code, tôi đã đi xa hết mức trong khả năng của tôi. Ngạc nhiên thay, tôi nhận ra là mình có thể đi ngược về thế kỉ mười chín và dùng những thiết bị điện báo đời đầu để biểu diễn cách máy tính được xây dựng. Ít nhất về mặt lý thuyết, mọi thứ trong 17 chương đầu của Code có thể được tạo nên hoàn toàn bằng việc dùng các thiết bị điện đơn giản có mặt quanh ta trong vòng một thế kỉ.
Việc dùng công nghệ lỗi mốt cho Code một cảm giác khá hoài cổ, tôi nghĩ vậy. Code là cuốn sách mà không bao giờ có thể mang tên The Faster New Faster Thing hay Bussiness @ the Speed of a Digital Nervous System. “Bit” không được định nghĩa cho tới trang 68; “byte” thì mãi tới trang 180. Tôi không đề cập đến transistor cho tới trang 142, và chỉ lướt qua nhanh.
Vì vậy, trong khi Code đi khá sâu vào hoạt động máy tính (một ít cuốn sách khác trình bày cách bộ xử lý máy tính thật sự hoạt động, ví dụ), thì nhịp độ vẫn khá là thong thả. Mặc dù đi sâu, tôi cũng cố làm cho chuyến đi thoải mái nhất có thể.
Nhưng sẽ không có các hình vẽ nhỏ về các đoàn tàu chở những lô hàng toàn không với một đâu.
Charles Petzold
16 tháng 8, 2000