10/10/2018, 22:51

Những hiểu nhầm của sinh viên mới học về lập trình

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 ...

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…

Tất cả đều là những suy nghĩ lệch lạc

BỞI: 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!

Ai cũng có thể học lập trình

Thỉnh thoảng, ngôn ngữ lập trình cũng “sáng tạo” ra một số từ viết tắt như regex – regular expression – biểu thức chính quy, hay varchar(variable character)… Thế nhưng, tóm lại, “từ điển” của ngôn ngữ lập trình hầu như không khác biệt gì nhiều so với ngôn ngữ mẹ đẻ của chúng ta. Đó cũng chính là lý do tôi coi ngôn ngữ lập trình không phải là một “ngôn ngữ” thực sự! Nó giống như thổ ngữ (tiếng địa phương) hơn là một ngôn ngữ mới!

Vì vậy, việc học một ngôn ngữ lập trình thậm chí còn dễ hơn cả việc học ngoại ngữ. Do đó, thời gian học không dài như chúng ta nghĩ…

0