Tải bản đầy đủ (.pdf) (3 trang)

Tài liệu Programming Discussion p10 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (122.83 KB, 3 trang )

Lập trình an toàn với Ada


Ada là ai?

Ada là ngôn ngữ lập trình xuất xứ từ Bộ quốc phòng Mỹ vào khoảng nửa đầu thập niên
80 của thế kỷ 20. Ngôn ngữ này được đặt tên theo Ada Augusta nữ bá tước xứ Lovelace
(1815 – 1852), nhà toán học với ý tưởng tiên phong coi phần cứng và phần mềm là hai
mặt khác nhau đã đi vào lịch sử như lập trình viên đầu tiên và hacker đầu tiên của loài
người (1).

Nhu cầu của Lầu Nă
m Góc lúc đó là một ngôn ngữ lập trình duy nhất thay thế cho
khoảng 500 ngôn ngữ dùng cho các hệ thống nhúng (embedded). Đặc trưng của các hệ
thống như thế là phần cứng đa dạng, phần cứng liền với phần mềm, phần mềm hệ thống
liền với phần mềm ứng dụng, thời gian sử dụng lâu dài, tính chất thời gian thực (real-
time) và độ bền cao (high-integrity) thể hiện rõ, nhiều h
ệ thống nhúng là hệ phân tán
(distributed).

Ngôn ngữ lập trình đáp ứng những yêu cầu đó phải chặt chẽ, nhỏ gọn nhưng có sức biểu
diễn lớn, viết mã nguồn dễ đọc, sinh mã đích hiệu quả.

Vì thế 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)(2) hỗ trợ lập trình
modular, kết cấu mẫu (generic)(3) hỗ trợ lập trình mẫu, kết cấu tác vụ (task)(4) và kiểu có
bảo vệ (protected type)(5) hỗ trợ lập trình song song và tương tranh.



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. Xem (6).

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%. Xem (7).

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.

Loạt bài này hoàn toàn không có tham vọng dạy cho ai đó lập trình bằ
ng ngôn ngữ Ada.
Một bài tổng quan về Ada cũng dài hơn 100 trang (8 ). Ngôn ngữ này nếu muốn học đầy
đủ cần phải đọc vài quyển sách dày (9, 10). Dẫu vậy, để cho mọi người đều thấy Ada
không phải là một ngôn ngữ gì quái dị mà ngược lại, hết sức bình dị, xin trình diễn một
màn Hello World nho nhỏ.

Code:
with Ada.Text_IO;
use Ada.Text_IO;

procedure Hello_Main is
begin
Put_Line("Hello world!");
end;





______________________________
NOTES
(1) Ada Augusta Lovelace đã giúp Charles Babbage làm dự án xây dựng Analytical
Engine, chiếc máy tính lập trình được đầu tiên. Xem
/>

(2) Tương tự module trong Modula hoặc unit trong Borland Pascal.

(3) Tương tự generic trong C# hoặc template trong C++.

(4) Tương ứng với quá trình (process) hay luồng (thread), khái niệm thường gặp khi nói
về các hệ điều hành.

(5) Xuất phát từ monitor (Modula), nhưng kết cấu này đã được phát triển thêm cú pháp
và ngữ nghĩa phản ánh những kết quả nghiên cứu mới về lập trình song song.

(6) Feldman M. B.: Who's Using Ada?
Real-World Projects Powered by the Ada Programming Language. 2002.
/>

(7) Smith J.: What About Ada? The State of the Technology in 2003. Technical Note.
Sofware Engineering Institute of Carnegie Mellon University 2003.

(8 ) Feldman M. B.: Ada 95 in context. George Washington University 1999. Adapted
and updated from Chapter 10, Handbook of Programming Languages, vol. 1, Object-
Oriented Languages. Macmillan 1998.

(9) Barnes J. G. P.: Programming in Ada 95, 2nd ed. Addison-Wesley. 1998.


(10) Burns A., Weillings A.: Concurency in Ada, 2nd ed. Cambridge University Press.
1998.


NQL05(HVA)

×