SGK Tin Học 11 - Bài đọc thêm 2. Ngôn ngữ Pascal

  • Bài đọc thêm 2. Ngôn ngữ Pascal trang 1
  • Bài đọc thêm 2. Ngôn ngữ Pascal trang 2
  • Bài đọc thêm 2. Ngôn ngữ Pascal trang 3
Bài đọc thêm 2
NGÔN NGỮ PASCAL
Vài nét về tác già của ngôn ngữ Pascal
Giáo sư Niklaus Wirth, tác giả của ngôn ngữ Pascal sinh năm 1934 tại Thuỵ Sĩ. ông tốt nghiệp Đại học Công nghệ Liên bang Thuỵ Sĩ (ETH) tại thành phố quê hương Zurich vào năm 1959. Ông nhận bằng Thạc sĩ tại trường Đại học Tổng hợp Laval ở Quebec, Canada năm 1960.
Năm 1963, tại Đại học Tổng hợp California (Mĩ) dưới sự lãnh đạo của giáo sư Harry Huskey ông thực hiện đề án mở rộng ngôn ngữ Algol-60 (ngôn ngữ Euler) và bảo vệ luận án tiến sĩ.
Trong các năm 1963-1967, ông giảng dạy tại Đại học Tổng hợp Stanford (Mĩ). Cũng trong thời gian này ông được mời vào nhóm chuyên gia quốc tế IFIP thiết kế Algoí-68.
Năm 1967, Wirth trở về nước và giảng dạy tại Tổng hợp Zurich.
Năm 1968, ông chuyển sang ETH, tại đây ông bắt đầu tham gia thiết kế Pascal.
Năm 1970, chương trình dịch Pascal đầu tiên được hoàn thành.
Trong thời gian 1978-1981, Wirth lãnh đạo dự án thiết kế ngôn ngữ Modula-2, máy tính cá nhân 16-bit Lilith dựa trên nó và hệ điều hành OS Medos. Tất cả các chương trình, kể cả chương trình hệ thống, được thực hiện hoàn toàn trên Modula-2.
Năm 1984, do công lao to lớn trong việc phát triển các ngôn ngữ lập trình và thiết kế máy tính cá nhân Lilith, ông được giải thưởng Alan Turing - giải thưởng cao quý nhất trong giới Tin học, mà về ý nghĩa được coi là tương đương với giải Nobel.
Trong thời gian 1986-1989, Wirth lãnh đạo dự án phát triển ngôn ngữ Oberon, hệ điều hành hướng đối tượng Oberon và trạm làm việc 32-bit Ceres. Rất nhiều ý tưởng của dự án này được các đồng nghiệp từ phòng thí nghiệm Sun Labs sử dụng cho ngôn ngữ và công nghệ Java.
Từ năm 1990 ông lãnh đạo Viện Các hệ thống máy tính tại ETH.
Năm 1999, ông nghỉ hưu và trở thành Giáo sư danh dự của ETH.
Pascal - Ngôn ngữ của học đưòng?
Pascal! Hỏi có người lập trình nào không biết ngôn ngữ này? Thành công vang dội của nó bắt đầu vào những năm 1980, thời kì của cuộc cách mạng trong công nghiệp máy tính và giai đoạn nở rộ của lập trình có cấu trúc. Có thể nói Pascal xứng đáng là điểm khỏi đầu cho một kỉ nguyên mới của các ngôn ngữ lập trình.
Pascal - Sự ra đời và đặc điểm
Vào đầu năm 1971, bản mô tả ngôn ngữ mới của Viện Công nghệ Liên bang Thuỵ Sĩ được công bố trong sô' đầu tiên của tạp chí Acta Informatica. Sự ra đời của Pascal có thể được tính từ thời điểm này.
Tác giả của nó, Giáo sư Niklaus Wirth trở nên nổi tiếng vì sự xuất hiện của Pascal. Những dự án sau này của ông chứng minh hùng hồn cho thế giới rằng chìa khoá tới các bí mật của máy tính chính là ở sự kết hợp hài hoà giữa Toán học, Công nghệ và Lập trình. Và nếu tiếp cận vấn đề một cách hợp lí thì có thể tạo ra các ngôn ngữ, hệ điều hành và ngay cả các máy tính tuyệt vời vượt các chuẩn công nghiệp,... chì bằng sức lực của những sinh viên.
Người ta thường nói đến các điểm khác biệt của Pascal so với những ngôn ngữ khác, như ngôn ngữ c. Nhưng chính Dennis Ritchie, tác giả của c đã phát biểu (1993): "Tôi khẳng định rằng Pascal rất gần với c. Hai ngôn ngữ này khác biệt về chi tiết, nhưng về cơ sở chúng là giống nhau... Khi nhìn vào các kiểu dữ liệu, cũng như các phép toán trên chúng, ta có thể phát hiện ra những sự giống nhau rất lớn, mặc dù rằng ý đồ của Wirth khi tạo ra Pascal rất khác với ý đồ của chúng tôi khi tạo ra c. Wirth tạo ngôn ngữ để giảng dạy và do vậy tất nhiên cần đáp ứng các yêu cầu sư phạm".
Khác với c, Pascal không được tạo ra để làm ngôn ngữ lập trình hệ thống. Để đề cao tính đơn giản và hiệu quả dựa trên mức độ hiểu về khoa học lập trình thời bấy giờ, Wirth chủ tâm chấp nhận các hạn chế của ngôn ngữ, trước tiên trong các vấn đề liên quan đến thế giới bên ngoài (vào/ra và các công cụ phụ thuộc hệ thống). Mặc dù vậy, nếu nghĩ rằng Pascal là ngôn ngữ chỉ dành để giảng dạy thì sẽ sai lầm. Hãy nghe chính ý kiến của Wirth về vấn đề này (1984): "Có người cho rằng Pascal được thiết kế như một ngốn ngữ để giảng dạy. Mặc dù điều này là đúng, nhưng việc sử dụng nó để giảng dạy không phải là mục đích duy nhất. Thực tế, tôi không tin vào sự thành công của việc áp dụng trong khi học các công cụ và phương pháp mà không thể sử dụng để giải quyết các bài toán thực tế. Theo các tiêu chuẩn ngày nay thì Pascal có những nhược điểm rõ ràng khi lập trình các hệ thống lớn, nhưng 15 năm trước, nó là thoả hiệp hợp lí giữa cái mong muốn và hiệu quả".
Pascal và lập trình có cấu trúc
Ngôn ngữ Pascal được Wirth tạo ra dưới ảnh hưởng các tư tưởng của c. A. R. Hoare, đăng trong công trình "Bàn về cấu trúc dữ liệu" (Notes on Data structuring, Academic Press, 1972). Đóng góp của nhà bác học người Anh lớn tới mức có thể gọi ông là cha đỡ đầu của Pascal.
Pascal được coi như khởi đầu của kỉ nguyên lập trình cấu trúc. Tất cả bắt đầu từ bài báo của chuyên gia người Hà Lan E. w. Dijkstra "Lập trình cấu trúc" (Structured Programming, 1969). Trong bài báo này ông đề xuất hạn chế các cấu trúc điều khiển chương trình chỉ ở ba dạng là tuần tự, rẽ nhánh và lặp. Từ đó suy ra rằng câu lệnh chuyển vô điều kiện (goto) trong các ngôn ngữ ALGOL và PL/1 (rất phổ biến thời bấy giờ) là hoàn toàn không cần thiết. Thật sự là Wirth cũng không dám loại câu lệnh này khỏi Pascal. Nhưng điều chủ yếu nằm ở chỗ khác: Lập trình cấu trúc liên quan đến nguyên tắc "từ trên xuống dưới" (làm mịn từng bước), yêu cầu tính cấu trúc của điều khiển và dữ liệu, dựa vào sự đơn giản và cơ sở toán học mà tăng độ tin cậy của phần mềm. Tất cả những điều này đều khả thi nhờ các khả năng của Pascal.
Về ý đồ khi xây dựng Pascal, Wirth viết: "Điểm mới của Pascal là đưa ra các cấu trúc và kiểu dữ liệu phong phú, cũng giống như ALGOL đưa ra các loại cấu trúc điều khiển. Trong ALGOL chỉ có ba kiểu dữ liệu cơ sở: các số nguyên và thực, giá trị chân lí, mảng; Pascal đã đưa thêm các kiểu dữ liệu cơ sở và còn cho khả năng xác định những kiểu cơ sở mới (kiểu liệt kê, kiểu miền con), cũng như các dạng cấu trúc dữ liệu mới: bản ghi, tập hợp, tệp, mà một số trong chúng đã có trong COBOL. Và tất nhiên, quan trọng nhất là tính đệ quy trong việc mô tả các cấu trúc và hệ quả của điều này là khả năng kết hợp và lồng các cấu trúc".
Pascal có tiếp tục tồn tại?
Để kết luận, xin trích dẫn lời của Dennis Ritchie tác giả ngôn ngữ C: "Pascal là một ngôn ngữ thanh lịch. Nó vẫn tiếp tục tồn tại. Nó đã khởi nguồn cho không ít ngôn ngữ đàn em và có ảnh hưởng sâu sắc đến việc thiết kế các ngôn ngữ lập trình nói chung".