3 Ngộ nhận lớn nhất của người mới học lập trình

Người mới học lập trình thường gặp phải nhiều ngộ nhận và lầm tưởng. Nếu bạn nghĩ rằng việc học một ngôn ngữ lập trình sẽ khó khăn và vất vả y như việc học một ngoại ngữ mới – thì bạn đã nhầm to rồi đó!

Khi bạn có suy nghĩ này, bạn đã mắc phải hội chứng “ngụy biện liên ngôn ngữ” – hội chứng này tạo cho bạn một ảo giác, rằng ngôn ngữ lập trình là một thứ gì đó tương tự như ngôn ngữ giao tiếp hàng ngày.

Hội chứng này nghe có vẻ loằng ngoằng nhưng thực tế, nó biểu hiện thông qua 3 suy nghĩ của bạn về ngôn ngữ lập trình như sau:

- Ngôn ngữ lập trình là “ngôn ngữ của máy tính”
- Ngôn ngữ lập trình giống như một ngoại ngữ, nó khó đọc, khó hiểu và…
- để học một ngôn ngữ lập trình, chúng ta sẽ mất vài năm…

Điều đáng buồn, bạn đang ngộ nhận! Tôi sẽ chứng minh cho bạn, 3 ý niệm trên chỉ có thể tồn tại trong trí tưởng tượng!

1. Ngôn ngữ lập trình là ngôn ngữ của máy tính?

Sau 2s Google, tôi thấy rất nhiều những câu hỏi đại loại như:

“LÀM THẾ NÀO ĐỂ CẢI THIỆN KỸ NĂNG LẬP TRÌNH PYTHON ?”

Và tôi không nhầm đâu, “tác giả của những câu hỏi này luôn cho rằng, học lập trình tức là:

- Học cách “nói chuyện với máy tính”

- Học phương pháp “tư duy” của máy tính

- Họ muốn thuần thục nhưng không muốn “thống trị” một ngôn ngữ lập trình nào đó…

Tất cả bọn họ đều sai hết! Rõ ràng ngôn ngữ lập trình được thiết kế dành cho con người!

Tôi sẽ chứng minh luận điểm này một cách thuyết phục nhất.


Xét trong lĩnh vực khoa học máy tính – Computer Science, ta có ngôn ngữ bậc cao & ngôn ngữ bậc thấp.

Ngôn ngữ bậc thấp như Assembly sẽ giao tiếp trực tiếp với máy tính thông qua một loại các phép toán trực tiếp với bộ xử lý. Nhưng Assembly chỉ đứng thứ 19 trong bảng xếp hạng các ngôn ngữ phổ biến! Toàn bộ top đầu là các ngôn ngữ bậc cao như Python, Java….

Nếu bạn thích định nghĩa mọi sự vật mà bạn gặp phải, tôi sẽ trích dẫn một đoạn định nghĩa “ngôn ngữ bậc cao” trong từ điển Collins:

NGÔN NGỮ LẬP TRÌNH BẬC CAO LÀ NGÔN NGỮ LẬP TRÌNH GIỐNG VỚI NGÔN NGỮ TỰ NHIÊN HOẶC CÁC KÍ PHÁP TOÁN HỌC.

Như vậy, ngôn ngữ bậc cao rất gần với ngôn ngữ tự nhiên và chúng sử dụng các concept liên quan tới logic cũng như toán học, bởi lẽ chúng được thiết kế dành cho con người!

2. Học một ngôn ngữ lập trình khó ngang với học một ngoại ngữ mới!!

Xem nào, nếu bạn thử đọc một đoạn văn bản viết bằng tiếng nước ngoài (tiếng Lào chẳng hạn), bạn sẽ phải đối mặt với:

- Một bảng chữ cái mới tinh

- Hệ thống ngữ pháp và cú pháp mới

Và điều khó khăn nhất: một tập hợp những từ ngữ mà bạn chưa thấy bao giờ!

Đó là tiếng nước ngoài nhé! Còn với ngôn ngữ bậc cao thì sao nhỉ? Bạn sẽ không bao giờ gặp, dù chỉ là 1 trong 3 khó khăn trên.


3. Học một ngôn ngữ lập trình sẽ tốn vài năm…..

Để học một ngoại ngữ, bạn cần học:

- Từ vựng

- Ngữ pháp

- 4 kĩ năng nghe, nói, đọc, viết

Vì vậy, để học một ngoại ngữ mới, một người bản xứ(nói tiếng Anh) cần từ 23 tuần đến 2 năm để hoàn toàn “thích nghi” với ngôn ngữ mới.

Thế nhưng với ngôn ngữ lập trình, học các chức năng cũng như câu lệnh (tương ứng với việc học từ vựng trong ngoại ngữ) là một công việc dễ dàng bởi ngôn ngữ lập trình có hệ thống bảng chữ cái không khác tiếng Anh là mấy. Nếu bạn biết chút ít tiếng Anh, thời gian học ngôn ngữ lập trình cũng sẽ giảm đi đáng kể.

Tương tự, khi tất cả từ ngữ đều quen thuộc với bạn, việc đọc hiểu ngôn ngữ lập trình trở nên dễ như trở bàn tay!

Học cú pháp của ngôn ngữ lập trình tương đương với việc làm bài tập ngữ pháp. Có thể hơi vất vả hơn một chút nhưng hãy nhớ rằng, ngôn ngữ lập trình được thiết kế để con người có thể đọc-hiểu và sử dụng một cách dễ dàng, vì thế thuần thục cú pháp của một ngôn ngữ bậc cao không nằm ngoài tầm với của bạn.

Cuối cùng là phát âm (tương ứng với cặp kỹ năng nghe-nói khi học ngoại ngữ)…Thú thực, tôi chưa từng thấy ai đọc ngôn ngữ lập trình thành tiếng như tụng kinh cả…

Bạn thấy đó, học ngôn ngữ lập trình đâu có phức tạp như học ngoại ngữ! Vì thế, thời gian học cũng không kéo dài lê thê như ta vẫn tưởng tượng. Thực tế không thiếu các trường hợp chỉ mất vài tháng để chế tạo một sản phầm từ một ngôn ngữ lập trình mới toanh!

Ngôn ngữ lập trình được thiết kế cho chúng ta. Nó không khó học, hãy nhớ lấy điều này.

Bây giờ là thời gian để bạn bắt đầu với ngôn ngữ lập trình đầu tiên của mình, hoặc tiếp tục những gì đang dang dở. Và dù cho lựa chọn của bạn là gì hãy quyết tâm giữ lửa đam mê của bạn.

Tham khảo các khóa học lập trình tại Stanford: http://stanford.com.vn/dao-tao

Tags: học lập trình,