top of page

TẠI SAO LẠI KHÔNG CÓ NGÔN NGỮ LẬP TRÌNH TƯƠNG TỰ NHƯ NGÔN NGỮ NGOÀI ĐỜI?




TẠI SAO LẠI VẬY?


Trước khi trả lời câu hỏi đó, mọi người hãy thử trả lời một vài câu hỏi sau:


Tại sao các kiến trúc sư lại phải vẽ các bản vẽ chi tiết từng hạng mục một trong công trình mà lại không vẽ hình ảnh căn nhà đã hoàn thiện rồi?

Tại sao các kĩ sư ngành điện lại vẽ ra các sơ đồ mạch điện dưới dạng kí hiệu mà không vẽ rõ các thiết bị?


Đi vào vấn đề chính, câu hỏi trên ta có thể hiểu đơn giản lại là: Tại sao các ngôn ngữ lập trình hiện nay lại sử dụng tập hợp các kí hiệu và từ tiếng Anh mang nghĩa rất cụ thể, ngắn gọn và súc tích thay vì sử dụng các từ chung chung, mô tả tổng quát như ngôn ngữ ngoài đời.


LÍ DO?


Lí do được giải thích ở đây là, ngôn ngữ lập trình cần phải ngắn gọn và rõ ràng. Từ đó sẽ giảm thiểu các lỗi, khiến chương trình hoạt động ổn định hơn, dễ dàng bảo trì hơn. Ngày nay, con người vẫn đang tiếp tục nghiên cứu, cải tiến và phát triển các ngôn ngữ lập trình theo đúng với tiêu chí đó.


Cần phải có những “ràng buộc” và những “quy tắc” nhất định trong một ngôn ngữ, không thể tự do như ngôn ngữ ngoài đời được. Tạo ra một ngôn ngữ giống với ngôn ngữ ngoài đời là hoàn toàn có thể được, nhưng đến khi sửa chữa hay debug thì bạn tự tượng tượng tiếp nhé. Cơ bản thì những quy tắc, ràng buộc trên được tạo ra để giúp cho việc sửa lỗi, bảo trì được đơn giản và dễ dàng hơn.


ĐỂ TẠO RA MỘT NGÔN NGỮ LẬP TRÌNH LIỆU CÓ KHÓ ?


Tạo ra một ngôn ngữ lập trình không khó, nhưng để tạo ra một ngôn ngữ mạnh mẽ, đơn giản và hiệu quả thì lại là một vấn đề vô cùng rắc rối. Bởi theo, nó cần phải có những quy định mà buộc các lập trình viên phải tuân theo. Mà để xây dựng được bộ quy định đó thì lại là một chuyện khác. Cần phải trải qua nhiều cuộc đánh giá, thử nghiệm và cải thiện thì một ngôn ngữ lập trình đúng nghĩa mới có thể ra đời được.


Trong những ngày đầu khi xuất hiện máy tính, trước khi cuộc cách mạng máy tính xảy ra. Một số ngôn ngữ lập trình khá giống với ngôn ngữ ngoài đời đã được tạo ra. Và điều tất yếu, chúng không thể tồn tại được lâu.


SUY NGHĨ THEO MỘT CHIỀU HƯỚNG KHÁC


Liệu ta có thể tạo ra được một ngôn ngữ lập trình đáp ứng được tất cả các yêu cầu như đơn giản, hiệu quả và mạnh mẽ? Lịch sử đã từng xuất hiện các ngôn ngữ như vậy, điển hình là Smalltalk và Oberon. Tuy vậy, chúng lại không chiếm được ưu thế so với các ngôn ngữ khác, và dần bị quên lãng.


Thực tế mà nói, chúng ta rất cần một ngôn ngữ thân thiện người dùng, trái ngược lại với ngôn ngữ lập trình, ở ngôn ngữ người bình thường cũng có thể sử dụng được những tác vụ thông thường mà không cần phải là một lập trình viên. Python là một ví dụ, nó đơn giản, thân thiện, mạnh mẽ,... áp dụng được nhiều trường hợp. Tuy vậy nhưng nó vẫn thực sự khó tiếp cận đối với những người mới, chưa biết gì về lập trình.


MỘT VÍ DỤ THỰC TẾ


Hãy thử tưởng tượng bạn được đưa cho một cuốn tiểu thuyết với một cái kết buồn và bắt bạn viết lại khiến nó trở thành cái kết có hậu. Chắc chắn bạn không thể viết được nếu bạn chưa từng đọc qua nó. Thực tế, bạn cần phải tìm hiểu về nó, chú thích các tình tiết để có thể viết nên một cái kết thống nhất và liên kết với mạch truyện.

Trong quá trình phát triển phần mềm cũng như vậy, các lập trình viên thường tập trung vào nâng cấp những thứ có sẵn hơn là thay đổi hay làm ra một cái mới. Thử nghĩ xem, muốn thay đổi cái gì đó, ta lại phải ngồi xem lại toàn bộ những thứ có liên quan và tìm hiểu kỹ càng. Không phải làm như vậy sẽ tốn kém hơn rất nhiều sao?


Bài viết gốc: https://www.quora.com/Why-cant-there-be-a-coding-language-thats-just-like-the-real-language/answer/James-Barton-129


-------------------------

Sci&Tech Project - Dự án phi lợi nhuận được thành lập bởi một nhóm học sinh trên khắp cả nước có niềm đam mê với khoa học và công nghệ. Dự án sinh ra với sứ mệnh mang lại cho mọi người những cái nhìn mới mẻ về khoa học và công nghệ.


Chi tiết liên hệ:

Website: https://scitechprojectvn.wixsite.com/home

Facebook: Sci&Tech Project - S&TP

Spiderum: Sci&Tech Project

Email: scitech.project.vn@gmail.com

SĐT: 0886449565 (Nguyễn Đình Bắc)


Commentaires


bottom of page