Làm thế nào để không viết một cuốn sách lập trình

Bài viết được dịch từ blog Coding Horror

Nếu tôi yêu cầu bạn lựa chọn giữa 2 cuốn sách lập trình, một cuốn được viết bởi tác giả chuyên viết về lập trình Windows nổi tiếng Charles Petzold, và cuốn kia được viết bởi một gã mà có thể bạn chưa bao giờ nghe tên, bạn sẽ chọn cuốn nào?

Tôi sẽ chọn cuốn sách lập trình nào đây?Tôi sẽ chọn cuốn sách lập trình nào đây?


Thực ra trước đây tôi cũng đã có cùng ý nghĩ như của bạn ngay lúc này. Mãi cho tới khi tôi ngồi xuống và đọc cả 2 cuốn sách đó. Bạn hãy xem qua nội dung của chúng một chút nhé:

Cuốn sách Applications = Code + Markup của tác giả Charles Petzold:

Sách lập trình kiểu cũCuốn sách Windows Presentation Foundation Unleashed của tác giả Adam Nathan:

Sách lập trình kiểu mớiHơn cả nhưng lợi ích hiển nhiên từ việc nội dung được in có màu sắc, bổ sung thêm những chiều kích khác của bất kỳ đoạn text nào. Cuốn sách của tác giả Nathan chiến thắng ở hạng mục rõ ràng hơn:

  • Nó có đầy đủ những biểu đồ, hình chụp màn hình và minh họa để chỉ ra ý nghĩa của đoạn code đó.
  • Nội dung thường xuyên được chèn vào bởi những đoạn code đầy màu sắc phía bên lề như “để hiểu sâu hơn”, “FAQ”, và “cảnh báo”.
  • Các đoạn code/markup ngắn và dễ hiểu hơn; chúng không kéo dài lê thê từ trang này sang trang khác.
  • Sử dụng rất nhiều các bullets, tables, subheadings, và những thành phần văn bản khác cung cấp cho người đọc khả năng đọc lướt tuyệt vời.
  • Cuốn sách này có một văn phong hài hước chứ không phải theo lối trịnh trọng và khô cứng.
  • Tôi đã đề cập đến màu sắc của nó chưa nhỉ?

Cuốn sách của Nathan rất tươi mới. Đọc nó giống như là bạn đang đọc một blog và nó cạnh tranh ngang ngửa với bất cứ điều gì mà bạn có thể tìm thấy trên web. Cuốn sách của Petzold thì ngược lại, nó giống như bầu trời xám xịt của những dòng chữ dài vô tận và một mớ bòng bong toàn code là code. Có rất ít các biểu đồ trong cuốn sách đó đến nỗi mỗi khi bạn bắt gặp một cái biểu đồ có lẽ bạn sẽ cảm thấy bồi hồi sung sướng. Nó cũng có sự phân chia một cách giả tạo giữa code và markup: nửa đầu thì toàn là code C#; mãi cho đến nửa sau bạn mới nhìn thấy mã XAML markup, mặc dù XAML là một trong những đặc trưng mới và quan trọng nhất của WPF, và các lập trình viên ít ra cũng đã quen thuộc với nó.

Tôi cho rằng loại sách của Petzold là điển hình cho loại sách kiểu cũ. Bạn mong chờ điều gì từ một gã mà nghĩ rằng Visual Studio sẽ làm rối tâm trí của các nhà phát triển phần mềm? Sự khác biệt trong cách tiếp cận sẽ rõ ràng ngay lập tức khi bất kỳ ai mở 2 cuốn sách đó ra. Một cuốn trông hấp dẫn, vui vẻ, và mơn mởn mời gọi như cô gái đôi mươi; còn cuốn kia thì trông có vẻ đau khổ, xám xịt và giống như là bạn đang viết code trong Notepad vậy. Petzold là một tác giả xuất sắc, nhưng chỉ viết không thôi thì không thể bù đắp cho những thiếu sót về cách sắp xếp nội dung trong cuốn sách của ông ta.

Điều này thật quá dở, bởi vì tôi đã rất thích cuốn sách trước đây của Petzold có tên là Code, đó là một bức thư tình tới máy tính cá nhân vời đầy rẫy những hình ảnh minh họa tuyệt vời. Mặc dù tôi rất tôn trọng tác giả Petzold, nhưng bạn nên tránh xa cuốn sách WPF của ông ta. Thay vào đó bạn hãy chọn cuốn sách của tác giả Nathan — bạn sẽ yêu quý nó. Các nhà xuất bản hãy lưu ý rằng: tôi chắc chắn sẽ mua rất nhiều sách lập trình nếu những cuốn sách đó có cách trình bày giống như cuốn sách của Nathan.

Các bài viết liên quan:

Về tác giả bài viết:

Jeff_atwood_coding_horrorJeff Atwood là một chuyên gia công nghệ tại Mỹ, hiện đang sinh sống và làm việc tại Berkeley, CA. Anh là một kỹ sư phần mềm chuyên về công nghệ Microsoft .NET, và là một blogger nổi tiếng trong cộng đồng công nghệ với blog Coding Horror, anh là người sáng lập và kiêm Giám đốc điều hành (CEO) của trang web hỏi đáp uy tín Stack Overflow và cũng là đồng sáng lập của Stack ExchangeDiscourse.

Advertisements

One comment on “Làm thế nào để không viết một cuốn sách lập trình

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s