12/08/2018, 13:07

Các Ngôn Ngữ Lập Trình Có thể Bạn không biết

Có một sự thật là những ngôn ngữ lập trình "cổ lỗ sĩ" hiếm khi bị lãng quên hoàn toàn khi vẫn còn giá trị sử dụng với những thị trường ngách, nơi việc bảo trì và phát triển một hệ thống phần mềm cũ vẫn là sự lựa chọn tốt và tiết kiệm hơn hẳn so với việc phải "code lại từ đầu". Bài viết này nhằm ...

Có một sự thật là những ngôn ngữ lập trình "cổ lỗ sĩ" hiếm khi bị lãng quên hoàn toàn khi vẫn còn giá trị sử dụng với những thị trường ngách, nơi việc bảo trì và phát triển một hệ thống phần mềm cũ vẫn là sự lựa chọn tốt và tiết kiệm hơn hẳn so với việc phải "code lại từ đầu".

Bài viết này nhằm giới thiệu đến bạn đọc 9 ngôn ngữ lập trình xưa nhất từ trước đến nay mà có thể sự tồn tạo của nó nhiều hơn tuổi đời của bạn.

1. ALGOL (1958)

  • ALGOL (viết tắt từ ALGOrithmic Language) là một họ ngôn ngữ lập trình mệnh lệnh được thiết kế vào giữa thập kỷ 1950 và có ảnh hưởng sâu sắc tới các ngôn ngữ lập trình khác. Nó đã từng là ngôn ngữ chuẩn để mô tả giải thuật của ACM trong sách giáo khoa và các tài liệu học thuật trong hơn ba mươi năm.
  • ALGOL mở đầu cho việc dùng khối mã và cặp từ khóa begin và end để ngăn cách các khối, và nó cũng là ngôn ngữ đầu tiên hiện thực hàm lồng nhau với tầm vực tĩnh.
  • Hơn nữa, nó là ngôn ngữ lập trình đầu tiên chú trọng tới định nghĩa ngôn ngữ hình thức, và trong Báo cáo Algol 60 đã giới thiệu dạng chuẩn Backus–Naur, ý tưởng chính để thiết kế ngôn ngữ.
  • Thời hoàng kim: 1958 - 1968
  • Ngôn ngữ lập trình này là một trong những nỗ lực đầu tiên trong việc viết một ngôn ngữ có thể sử dụng trên nhiều cỗ máy khác nhau. Tuy nhiên ALGOL phù hợp với môi trường thí nghiệm hơn là các ứng dụng thương mại vì không có giao thức đầu vào (input) – đầu ra (output) nào cả. Hiện nay, ALGOL được dùng rất ít nhưng DNA của nó có mặt trong nhiều ngôn ngữ phổ biến.

2. COBOL (1959)

  • COBOL là một ngôn ngữ lập trình thế hệ thứ ba và là một trong những ngôn ngữ lập trình lâu nhất còn được sử dụng (từ thập niên 1960). COBOL được lấy từ các chữ cái đầu của từ COmmon Business-Oriented Language.
  • Mục đích của nó là hướng đến thương mại, tài chính và các hệ quản lý của các công ty và chính phủ.
  • Thời hoàng kim: những năm 1960 đến những năm 1980
  • Ưu điểm:
    • COBOL có rất nhiều chức năng để xử lý tập tin, nhất là theo cách xử lý hàng loạt (batch processing). Không có ngôn ngữ nào có chức năng này ngoài COBOL
    • COBOL rất dễ viết, dễ đọc lại để sửa hoặc viết thêm vào (rất quan trọng đối với thế giới chuyên nghiệp vì người viết chương trình rất có thể đã rời công ty 20, 30 năm sau, mà chương trình vẫn tiếp tục chạy)
  • Chuẩn COBOL 2002 hỗ trợ lập trình hướng đối tượng và các tính năng lập trình hiện đại khác.
  • Hiện tại Cobol là ngôn ngữ chạy nhiều nhất trên các máy vi tính Mainframe, hằng ngày, hàng triệu dòng Cobol được viết trong những chương trình "Business".
  • Năm 2006, công ty nghiên cứu thị trường công nghệ thông tin Gartner, ra thông báo rằng hiện tại 60% các chương trình chuyên nghiệp được viết hằng ngày được viết bởi ngôn ngữ COBOL.
  • COBOL được sử dụng nhiều trong các ứng dụng liên quan đến ngân hàng và bảo hiểm.

3. PL/I (1964)

  • PL/I (Programming Language One) là ngôn ngữ lập trình được phát triển bởi các chuyên gia của IBM
  • Thời hoàng kim: đầu những năm 1970
  • PL/I được dùng chung trên hệ thống máy tính IBM System/360 phục vụ mọi hoạt động từ tính toán sổ sách kế toán đến vật lý thiên văn. PL/I đã từng được hi vọng thay thế cho COBOL, FORTRAN thời bấy giờ và được sử dụng rộng rãi tại Liên Xô hơn ở phương Tây.
  • Tuy nhiên, ngôn ngữ lập trình này bị đánh giá ngốn tài nguyên, rắc rối, và liên quan đến vấn đề độc quyền của IBM. Nhờ thời kì hoàng kim của IBM trong quá khứ, hiện nay nhiều chương trình viết bằng PL/I vẫn còn được sử dụng và vừa nhân được bản cập nhật vài tuần trước để tương thích với nền tảng Web mới.

4. PASCAL (1968)

  • Pascal là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh, được Niklaus Wirth phát triển vào năm 1970 là ngôn ngữ đặc biệt thích hợp cho kiểu lập trình có cấu trúc
  • Pascal dựa trên ngôn ngữ lập trình ALGOL và được đặt tên theo nhà toán học và triết học Blaise Pascal.
  • Ban đầu, Pascal là một ngôn ngữ được hướng để dùng trong giảng dạy về lập trình có cấu trúc, và nhiều thế hệ sinh viên đã vào nghề thông qua việc học Pascal như ngôn ngữ vỡ lòng trong các chương trình học đại cương. Nhiều biến thể của Pascal ngày nay vẫn còn được sử dụng khá phổ biến, cả trong giảng dạy lẫn trong công nghiệp phát triển phần mềm.
  • Thời hoàng kim: những năm 1980
  • Pascal có khá nhiều từ khoá, so với C, Pascal sử dụng các từ nhiều hơn là kí hiệu. Pascal đã trở thành một trong những ngôn ngữ được nhiều quốc gia chọn để dạy học trong chương trình học phổ thông. Nhiều chương trình Pascal có thể đọc dưới dạng văn xuôi rất dễ dàng.
  • Pascal không phân biệt chữ HOA với chữ thường.
  • Ngày nay, ngôn ngữ này vẫn được dùng khi dạy lập trình cămn bản (có cả trong chương trình giáo dục Tin học phổ thông của Việt Nam) nhưng không còn thường xuyên như 30 năm trước.

5. LISP (1958)

  • Lisp được John McCarthy đề xuất vào năm 1958 tại MIT. Steve Russell đã chuyển từ ý tưởng sang thực tế trên máy tính. Trình biên dịch Lisp đầu tiên được viết bởi Tim Hart và Mike Levin (1962) bằng chính ngôn ngữ Lisp.
  • Lisp viết tắt của LISt Processing có cấu trúc dữ liệu nền tảng là các danh sách liên kết (linked list).
  • Lisp được biết đến như một trong những ngôn ngữ lập trình hàm tiêu biểu, mặc dù đôi khi vẫn có các chương trình Lisp được viết theo hướng thủ tục.
  • Về hình thức, cú pháp lệnh của Lisp rất đặc biệt với những cặp ngoặc đơn và viết theo kí pháp tiền tố.
  • Thời hoàng kim: những năm 1960
  • Ngày nay, LISP vẫn là một trong các ngôn ngữ chủ đạo trong việc xây dựng hệ thống thông minh nhân tạo.

6. APL (1962)

  • APL(A Programming Language) là ngôn ngữ lập trình do Ken Iverson phát minh.
  • APL nổi tiếng với cú pháp cực kỳ đơn giản, rõ ràng và được sử dụng trong toán học ứng dụng. Tuy nhiên, nhược điểm của ngôn ngữ lập trình này là cần một bàn phím đặc biệt với các ký tự Hy Lạp và những ký hiệu tối nghĩa. Bên cạnh đó, lập trình viên phải đọc/viết từ phải qua trái.
  • Thời hoàng kim: những năm 1960
  • Hiện nay, APL không còn được phổ biến rộng rãi nhưng vẫn được sử dụng trong một số lĩnh vực ngách như xác minh DNA

7. FORTRAN (1957)

  • FORTRAN (Formula Translator) là ngôn ngữ lập trình được John Backus phát minh cho IBM.
  • FORTRAN là một ngôn ngữ lập trình biên dịch, tĩnh, kiểu mệnh lệnh được phát triển từ thập niên 1950 và vẫn được dùng nhiều trong tính toán khoa học hay phương pháp số cho đến hơn nửa thế kỷ sau đó.
  • Các phiên bản đầu có tên chính thức là FORTRAN, nhưng chữ hoa được chuyển sang chữ thường từ phiên bản Fortran 90. Tiêu chuẩn quốc tế cho tên gọi này ngày nay là "Fortran".
  • Fortran được phát triển ban đầu như là một ngôn ngữ thủ tục. Tuy nhiên các phiên bản mới của Fortran (từ Fortran 90) đã có các tính năng hỗ trợ lập trình hướng đối tượng.
  • Đây là ngôn ngữ cao cấp đầu tiên cho phép lập trình viên viết code bằng tiếng Anh, thông qua một trình biên dịch để tạo ra phiên bản mà máy tính có thể chạy nhanh chóng. Ngôn ngữ này được ứng dụng vào các tác vụ nặng về tính toán.
  • Thời hoàng kim: những năm 1960 và 1970
  • Hiện nay, FORTRAN vẫn được các nhà vật lý và kỹ sư sử dụng tương đối rộng rãi.

8. LOGO (1967)

  • Cái tên LOGO được lấy cảm hứng từ “logos” trong tiếng Hy Lạp, nghĩa là “từ” hoặc “ý nghĩ”, được nhà khoa học Seymour Papert, Wally Feurzeig và cộng sự tại Phòng thí nghiệm trí tuệ nhân tạo MIT phát triển.
  • LOGO (xây dựng từ ngôn ngữ LISP) ra đời với mục đích dạy trẻ nhỏ cách lập trình. Nó sử dụng con trỏ có tên “turtle” để trả lời các lệnh trên màn hình. Ngày nay, nó vẫn được sử dụng rộng rãi.
  • Thời hoàng kim: những năm 1970 và 1980

9. ADA (1980)

  • ADA được phát minh bởi nhà khoa học Jean Ichbiah. Ngôn ngữ lập trình này được viết riêng cho hệ thống kiểm soát không lưu và quân sự.
  • Ada xuất phát từ Pascal, nhưng kiểm tra kiểu mạnh hơn. Mở rộng kiểu (type extension), kế thừa (inheritance) và đa kế thừa giao diện (multiple interface inheritance) hỗ trợ lập trình định hướng đối tượng. Ngoài các kết cấu điều khiển thông thường như rẽ nhánh, lặp, xử lý ngoại lệ (exception), và kết cấu đơn vị thông thường như thủ tục (procedure), hàm (function), Ada còn có kết cấu gói (package) hỗ trợ lập trình theo thành phần (modular), kết cấu mẫu (generic) hỗ trợ lập trình mẫu, kết cấu tác vụ (task) và kiểu có bảo vệ (protected type) hỗ trợ lập trình song song và tương tranh.
  • Thời hoàng kim: những năm 1980
  • Ngoài các ứng dụng truyền thống trong vũ khí, khí tài và các hệ thống liên lạc, tham mưu, chỉ huy, tác chiến, sau hơn 2 thập kỷ ngày nay Ada còn được dùng trong các ứng dụng của ngành thám hiểm không gian, hàng không, giao thông sắt & bộ, năng lượng hạt nhân, viễn thông, và tài chính – ngân hàng
  • Trên thế giới, tỉ lệ lập trình viên sử dụng ngôn ngữ Ada chiếm khoảng 5%
  • Ada có bộ biên dịch miễn phí GNAT và môi trường phát triển miễn phí GPS, sinh mã đích cho rất nhiều platform khác nhau.

Link tham khảo: https://vi.wikipedia.org/wiki/

0