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

Một sinh viên năm thứ nhất hỏi tôi: “Tôi phải học ngôn ngữ lập trình nào? Tôi có phải học mọi ngôn ngữ lập trình hay chỉ vài ngôn ngữ thôi?” Tôi bảo anh ta: “Không ai có thể học mọi ngôn ngữ lập trình được vì có nhiều lắm. Tuy nhiên, nếu bạn học một ngôn ngữ cho tốt, sẽ dễ dàng học ngôn ngữ khác. Tôi tin người lập trình tốt nên thấy thoải mái với một số ngôn ngữ khác nhau và người lập trình phải có khả năng dùng tri thức nền tảng của một ngôn ngữ và áp dụng cho các ngôn ngữ khác tương đối nhanh chóng. Ngày nay hầu hết các trường đều dạy về C, C++ và Java như các ngôn ngữ lập trình nền tảng cho sinh viên của họ. Tất nhiên, có nhiều ngôn ngữ lập trình hơn nhưng chúng KHÔNG phổ biết hay được dùng rộng rãi trong công nghiệp phần mềm.

Nếu bạn hỏi ý kiến cá nhân của tôi, tôi muốn nói C là ngôn ngữ mà mọi người phải biết. C có thể được xem như “hợp ngữ”, vì nó phơi ra máy phần cứng nền tảng và buộc sinh viên phải hiểu rõ ràng mối quan hệ giữa phần mềm và phần cứng. Hiệu năng trong ngôn ngữ C là tuyệt hảo vì tốn kém cho mọi câu lệnh phẩn mềm là rõ ràng. Cuối cùng, trình biên dịch làm dễ dàng cho việc kiểm tra mã hợp ngữ được sinh ra, lại chính là công cụ tuyệt hảo cho hiểu ngôn ngữ và kiến trúc máy.

C++ thực tế là khái niệm nền tảng của kĩ nghệ phần mềm hiện đại và cách tiếp cận hướng đối tượng: bao bọc với các lớp và che giấu thông tin qua dữ liệu và phép toán private, lập trình bằng mở rộng qua phương pháp ảo và lớp suy dẫn. C++ cũng làm cho việc quản lí bộ nhớ thành một nhiệm vụ dễ dàng.

Java là ngôn ngữ phổ biến, đặc biệt cho những người xây dựng ứng dụng web. Tôi nghĩ rằng Java giữ vai trò quan trọng trong mọi chương trình kĩ nghệ phần mềm và khoa học máy tính. Bằng nghiên cứu Java, sinh viên sẽ biết nhiều hơn về lập trình song hành và hiểu rằng chương trình có thể được phối trí để xem xét trạng thái riêng của nó và để xác định hành vi riêng của nó trong môi trường thay đổi.

Tôi tin ngôn ngữ lập trình là nền tảng cho MỌI chương trình công nghệ thông tin. Bạn KHÔNG thể đi xa được nếu bạn KHÔNG làm chủ ít nhất một ngôn ngữ lập trình. Mọi việc làm trong lĩnh vực công nghệ thông tin đều yêu cầu tri thức và kĩ năng trong ngôn ngữ lập trình. Nếu bạn không thể là nhà toán học, nhà tài chính, hay kế toán viên, nếu bạn KHÔNG hiểu số học thì bạn cũng không thể là người kĩ sư phần mềm, người phát triển phần mềm, người quản lí hệ thông tin nếu bạn KHÔNG biết cách lập trình ít nhất trong một ngôn ngữ lập trình.

English version

Full article: Programming language part 2

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

  • Tác phẩm: Khoa học máy tính
  • Biên tập: Kipkis.com
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.