Ngôn ngữ lập trình/3

Ngôn ngữ lập trình phần 3

Một sinh viên hỏi tôi: “Ngày nay có bao nhiêu ngôn ngữ lập trình? Ngôn ngữ nào là tốt nhất? Liệu có thể dùng một ngôn ngữ máy tính cho mọi ứng dụng không? Tôi cần biết ngôn ngữ nào?”

Có lẽ có nhiều ngôn ngữ lập trình hơn ngôn ngữ nói trên thế giới ngày nay. Cứ vài tháng, ai đó lại tạo ra một ngôn ngữ lập trình ở đâu đó. Ngôn ngữ lập trình đã tiến hoá từ ngôn ngữ mã máy thế hệ thứ nhất của 0 và 1 sang thế hệ hai được phân loại như “hợp ngữ” nơi mã có thể được viết và được chuyển đổi thành mã máy bằng quá trình gọi là hợp dịch. Ngôn ngữ thế hệ thứ ba có một vài cách nhóm lại: Ngôn ngữ mệnh lệnh như Cobol, Fortran và Pascal; ngôn ngữ hướng đối tượng như Java, C++, và Smalltalk; ngôn ngữ hàm như Lisp và ML; và ngôn ngữ logic như Prolog. Ngày nay, sinh viên cũng quen thuộc với ngôn ngữ thế hệ thứ tư khi họ thiết kế cho các mục đích chuyên dụng như SQL cho truy vấn dữ liệu; Powerbuilder, Delphi, Focus, và Access cho ứng dụng cơ sở dữ liệu; Visual basic và tcl cho làm bản mẫu; và html và javascript cho miền web toàn cầu.

Không có “ngôn ngữ tốt nhất” vì từng ngôn ngữ phục vụ cho một mục đích và đóng góp cho công nghệ vào thời điểm đó. Khi tôi còn trong trường, tôi đã học Fortran và hợp ngữ nhưng khi tôi bắt đầu làm việc, tôi đã học Ada và tôi nghĩ Ada là rất tốt, đặc biệt trong các ứng dụng nhúng. Khi C và Unix tới cùng và cho phép tôi làm nhiều thứ thế, tôi nghĩ ngôn ngữ này chắc sẽ là hoàn hảo nhưng thế rồi mọi thứ lại thay đổi. Với mọi thế hệ ngôn ngữ lập trình, có cái gì đó tốt hơn, cải tiến nhiều hơn so với thế hệ trước. Tôi chắc chắn có những điều tốt hơn sẽ tới trong tương lai gần nữa.

Tất nhiên, có thể dùng một ngôn ngữ để viết phần mềm ứng dụng. Bạn có thể làm hầu hết mọi thứ bằng ngôn ngữ mã máy. Ngôn ngữ lập trình được tạo ra cho mục đích nào đó và chọn lựa ngôn ngữ tốt hơn quả có tạo ra khác biệt trong bảo trì, hiệu năng và dùng lại phần mềm. Là kĩ sư phần mềm, cân nhắc then chốt của bạn trong mọi dự án là chi phí, lịch biểu và chất lượng. Không thành vấn đề ngôn ngữ nào được dùng. Đôi khi, khách hàng yêu cầu ngôn ngữ đặc biệt trong dự án nhưng như một tuỳ chọn, bạn có thể xem xét mức kĩ năng của người phát triển trong công ti của bạn. Tốt hơn cả là dùng ngôn ngữ mà người phát triển của bạn đã giỏi. Chi phí của việc học ngôn ngữ mới và thời gian làm chủ chúng có thể không phù hợp cho dự án của bạn. Tất nhiên, bạn có thể chọn ngôn ngữ phù hợp nhất cho miền ứng dụng của mình. Chẳng hạn, Cobol là tốt hơn với các ứng dụng kinh doanh còn Java sẽ tốt hơn cho các ứng dụng web.

Là người kĩ sư phần mềm, bạn có lẽ học C, C++, C# hay Java ở trường. Chúng là các ngôn ngữ lập trình rất phổ biến ngày nay nhưng ngôn ngữ thay đổi qua thời gian, và người kĩ sư phần mềm có kinh nghiệm phải có khả năng học ngôn ngữ mới một cách dễ dàng, và tôi chắc chắn bạn có lẽ học vào ngôn ngữ trong vài năm tới.

Tác phẩm, tác giả, nguồn

  • Tác phẩm: Khoa học máy tính
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
  • Wiki hóa: https://kipkis.com

Có thể bạn muốn xem