Nhận Định Về Cuốn "Đường Lối Lập Trình Sư"
Mọi lần đọc đều là đọc lệch đi một chút
|
|
Lần cuối cùng tôi đọc cuốn sách này đã là năm năm trước. Ngay khi bản dịch tiếng Việt vừa ra mắt, tôi đã lập tức mua về một cuốn. Lúc đó công việc tương đối nhẹ nhàng, có nhiều thời gian rảnh để nghiền ngẫm sách vở. Đặc biệt, tôi đang đảm nhiệm công tác tuyển dụng thực tập sinh và đào tạo nhân sự mới cho công ty, nên rất cần những tài liệu chất lượng. Trước đó đã từng nghe danh tiếng bản gốc tiếng Anh nhưng chưa có cơ hội tiếp cận, nên lần này nhất định không thể bỏ qua. Thêm nữa, năm đó tôi cũng đang viết một cuốn sách riêng ghi lại những trải nghiệm trong hành trình lập trình, nên đặc biệt quan tâm đến việc tổng hợp kinh nghiệm thực tế.
Cảm giác sau lần đầu đọc xong là “không thể rời tay”. Vừa hoàn thành dự án phần mềm lớn đầu tiên trong đời, tôi có rất nhiều cảm xúc dâng trào. Dù hiểu rõ nhiều nguyên tắc nên làm và không nên làm, nhưng khi muốn hệ thống hóa thành lời văn thì lại thấy bối rối không biết bắt đầu từ đâu. Cuốn sách này đã thay tôi diễn đạt những điều tôi muốn nói nhưng chưa thể truyền đạt thành lời.
Trong những năm sau đó, tôi đã tổ chức nhiều buổi đào tạo kỹ thuật trong công ty, chủ đề của các buổi này đều dựa trên những chương mục cụ thể trong sách, kết hợp với trải nghiệm thực tế của bản thân để triển khai. Đối với những học viên tin tưởng tôi, đây luôn là cuốn sách được xếp đầu tiên trong danh sách tài liệu tham khảo tôi giới thiệu.
Sau này, Việt Nam tiếp tục dịch và xuất bản nhiều tác phẩm xuất sắc cùng chủ đề như “Hoàn Thiện Mã Nguồn” (Code Complete) hay “Nghệ Thuật Lập Trình Unix”. Tôi nhớ lại lời dạy của cổ nhân về “tam thượng độc thư” (đọc sách trên yên ngựa, trên gối đầu, trên nhà xí), nên đã mua cả chục bản, đặt ở đầu giường, bàn làm việc, cài bản điện tử trong điện thoại để tranh thủ đọc trong lúc đi đường. Những cuốn sách này thực sự xứng đáng để đọc đi đọc lại nhiều lần, chọn lọc tinh hoa từng chương mục. Tuy nhiên, vài năm trước khi giới thiệu “Đường Lối Lập Trình Sư” cho nhân viên mới, tôi đã để cuốn sách này dần khuất khỏi tầm ngắm của mình.
Vài hôm trước, khi đồng nghiệp trả lại sách và nhận được bản điện tử từ giáo sư Chu Quân, tôi mới có dịp đọc lại từ đầu. Ban đầu nghĩ rằng những nội dung đã thuộc nằm lòng sẽ không còn gì mới mẻ, nhưng tôi đã nhầm.
Cùng một chân lý, mỗi tác giả lại trình bày từ góc nhìn và phương pháp khác nhau. Những khác biệt tinh vi này chỉ có thể cảm nhận rõ khi người đọc tích lũy đủ nhiều trải nghiệm. Ví dụ, nguyên tắc DRY (Don’t Repeat Yourself) được phân tích kỹ lưỡng trong 6 trang của “Đường Lối Lập Trình Sư”, nhưng trong “Nghệ Thuật Lập Trình Unix” lại gọi là SPOT (Single Point of Truth) và chỉ dùng khoảng một trang rưỡi. Liệu hai cách trình bày này có thực sự đồng nhất về bản chất? Tôi nghĩ không hẳn. Cũng chính vì vậy, mỗi độc giả lại có những cảm nhận riêng. Khi tích lũy thêm nhiều kinh nghiệm lập trình và suy tư, ta sẽ có dịp đối chiếu lại với những tư tưởng kinh điển này - một niềm vui trí tuệ không thể bỏ qua.
Chúng ta tưởng rằng đã hiểu tác giả, nhưng thực ra có thể là hiểu sai. Nhưng rồi qua từng lần đọc lại, ta lại tiếp cận gần hơn với bản chất lập trình.
Bài viết này ra đời từ lời mời của ban biên tập, nhưng cũng chính là những điều tôi muốn chia sẻ. Nhờ “bài tập” này mà tôi có dịp tái ngộ cuốn sách quý, và thu hoạch được nhiều điều bất ngờ.