Hãy viết quyển sách lập trình bạn muốn đọc!
Nhìn lại khoảng thời gian tự học lập trình, mình chưa từng đọc hết một quyển sách lập trình tiếng Việt nào? Bạn có thế không?
Thị trường sách lập trình tiếng Việt
Nghèo nàn. Phải gọi là như vậy. Ngoài những quyển lưu hành nội bộ, những tài liệu được dịch lại từ sách nước ngoài, thì số lượng sách lập trình bằng tiếng Việt cực kì ít
Khi tìm kiếm từ khóa lập trình trên Tiki
Đọc tiếng Anh đi
Đây là câu cửa miệng của mình khi ai đó nhờ tư vấn tài liệu học/sách học lập trình hay. "Đọc tiếng Anh đi, tiếng Việt có gì đâu mà đọc". Bạn bè thì cũng ngật đầu đồng ý, nhưng sau đó, họ cũng lên mạng tìm đọc tiếng Việt. Và đa số đều nhận xét sách tiếng Việt "dở".
Vạn sự khởi đầu nan - Gian nan bắt đầu nản
Để mình kể bạn nghe câu chuyện từ chính bản thân mình. Hồi năm nhất đại học, mình có luyện thi ACT - cho bạn nào chưa biết - ACT là một kỳ thi để lấy điểm nộp vào đại học Mỹ. ACT làm theo dạng trắc nghiệm, trong đó có phần Science sẽ liên quan đến các môn Lý, Hóa, Sinh.
Nhưng khi mình học cấp 3, mình học lệch theo khối A1 gồm Anh, Lý, Toán nên kiến thức Hóa - Sinh gần như bằng không. Những câu hỏi trong phần Hóa Sinh gần như mình đều làm sai. Lý do vì nó có quá nhiều thuật ngữ chuyên ngành mà nghĩa tiếng Việt mình còn chưa hiểu: Đồng phân hình học,Đồng vị, Phân tử lưỡng cực, Biểu mô, Lưới nội chất, Đại phân tử, vv
Mình rút ra bài học là:
Nếu bạn không hiểu được thuật ngữ chuyên ngành thì việc đọc tài liệu vô cùng khó dù tiếng Anh hay tiếng Việt
Mình từng có suy nghĩ chỉ trích, thậm chí cười nhếch môi khi thấy một ai đó giờ này còn đọc tài liệu lập tình bằng tiếng Việt. Nhưng mà ai cũng có lúc khởi đầu khó khăn, sao không giúp đỡ mọi người mà lại chỉ trích họ?
Thuật ngữ lập trình
Lập trình cũng như bao ngành khoa học khác, nó cũng có rất nhiều thuật ngữ. Mình tin chắc dù bạn học giỏi tiếng Anh cỡ nào đều cũng gặp khó khăn thi gặp một thuật ngữ chưa biết.
Chẳng hạn lấy ví dụ từ biến ( variable ). Nhiều người nước ngoài cũng lên các diễn đàn hỏi "what is variable in programming?". Hên là từ biến ( variable ) chúng ta đã khá quen trong môn Toán ở Việt Nam nên thấy nó dễ hiểu. Tuy nhiên thử một vài từ khác và xem nếu bạn tra từ điển thì nghĩa của chúng là gì:
Global variable = biến toàn cầu ử?
Static varibale = biến tĩnh
Dynamic variable = biến động
Encapsulation
Interface Class
Xem từ điển không thể hiểu hết nghĩa của các thuật ngữ
Khuyết điểm chết người của việc dịch sách lập trình
Vừa rồi bạn mình có mua quyển 20 giờ đầu tiên của Josh Kaufman. Mình đã đọc bản tiếng Anh của nó rồi nên muốn xem bản tiếng Việt thế nào. Trong sách có một phần tác giả kể lại chuyện anh ấy đã học lập trình web.
Điều đáng nói là những từ chuyên ngành trong sách dịch khá "củ chuối". Rất nhiều từ nhưng mình chỉ lấy một ví dụ là từ framework thôi nhé. Trong sách người dịch giả dịch từ framework thành "bộ khung".
Quỷ thần thiên địa ơi, nói "bộ khung" không sao hiểu
Thử xem định nghĩa này có dễ hiểu hơn không nhé:
Framework có thể gọi là bộ khung, tuy nhiên khi trao đổi với nhau nên gọi là framework. Framework như là bộ xương, còn việc của lập trình viên là đắp thịt vào bộ xương này để hoàn thiện một cơ thể ( ứng dụng ). Phần thịt sẽ liên kết với phần xương để cơ thể ( ứng dụng ) có thể hoạt động được. Nếu không có bộ xương thì lập trình viên phải làm mọi thứ từ đầu rất mất thời gian.
Sau ví dụ trên, ta có thể đưa thêm định nghĩa chuyên ngành vào để người đọc hiểu rõ hơn.
Nếu đính kèm định nghĩa này ở phần phụ lục người đọc sẽ dễ hình dung hơn khi đọc sách.
Thuật ngữ chuyên ngành sẽ vô cùng khó hiểu nếu dịch word by word và người dịch không có kiến thức chuyên ngành
Hãy viết quyển sách lập trình bạn muốn đọc
Trên đây là những bất cập với sách lập trình tiếng Việt hiện nay: ít sách, dịch dở, không có kiến thức chuyên ngành, không hiểu người đọc.
Vì thế trong thời gian tới mình sẽ viết một quyển sách về lập trình bằng tiếng Việt. Khi đó, ai hỏi sách tiếng Việt nào hay, mình sẽ giới thiệu quyển đó luôn.
Nội dung sách mình đăng từng tuần lên blog NIVIKI này. Mọi người có thể đọc và gửi nhận xét cho mình để hoàn thiện quyển sách này hơn.
Mục tiêu chính của quyển sách này là giúp những người mới bắt đầu lập trình có thể tiếp cận nó một cách dễ dàng. Bởi vì mình nghĩ khó khăn nhất vẫn là giai đoạn bắt đầu, tiếp cận lập trình không đúng cách sẽ gây nhàm chán và dễ từ bỏ.
Mình cũng rút ra bài học là nếu không giúp đỡ được người khác thì đừng có phán xét, chỉ trích họ. Ai cũng có khó khăn, hoàn cảnh riêng!
Chi tiết về sách và mục lục bạn có thể xem ở đây: http://niviki.com/swiftbook
Còn bạn thì sao? Hãy viết quyển sách lập trình bạn muốn đọc!
Quyển sách mình đang viết