Pascal (ngôn ngữ lập trình) – Wikipedia tiếng Việt

Đối với những định nghĩa khác, xem Pascal ( khuynh hướng )

Pascal (phiên âm tiếng Việt: Pát-xcan) là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp với kiểu lập trình cấu trúc và cấu trúc dữ liệu, ngôn ngữ lập trình này được đặt theo tên của nhà toán học, triết gia và nhà vật lí người Pháp Blaise Pascal.

Dựa trên cuốn sách của Wirth, Thuật toán + Cấu trúc dữ liệu = Chương trình, Pascal được phát triển trên khuôn mẫu của ngôn ngữ ALGOL 60. Wirth đã tham gia vào quá trình cải thiện ngôn ngữ như một phần của nỗ lực ALGOL X và đề xuất một phiên bản được gọi là ALGOL W. Điều này không được chấp nhận và quá trình ALGOL X đã bị sa lầy. Năm 1968, Wirth quyết định từ bỏ quy trình ALGOL X và cải tiến hơn nữa ALGOL W, phát hành quy trình này với tên Pascal vào năm 1970.

Ngoài các mảng và biến của ALGOL, Pascal cho phép xác định các kiểu dữ liệu phức tạp và xây dựng các cấu trúc dữ liệu động và đệ quy như danh sách, cây và đồ thị. Pascal có khả năng xếp kiểu mạnh trên tất cả các đối tượng, có nghĩa là một loại dữ liệu không thể được chuyển đổi hoặc hiểu như một loại dữ liệu khác nếu không có các chuyển đổi rõ ràng. Không giống như C (và hầu hết các ngôn ngữ trong họ C), Pascal cho phép các định nghĩa thủ tục lồng nhau ở bất kỳ độ sâu nào, và cũng cho phép hầu hết các loại định nghĩa và khai báo bên trong chương trình con (thủ tục và hàm). Do đó, về mặt cú pháp, một chương trình tương tự như một thủ tục hoặc một hàm. Điều này tương tự như cấu trúc khối của ALGOL 60, nhưng bị hạn chế từ các câu lệnh khối tùy ý chỉ với các thủ tục và hàm.

Pascal trở nên rất thành công xuất sắc trong những năm 1970, đặc biệt quan trọng là trên thị trường máy tính mini đang tăng trưởng mạnh. Các trình biên dịch cho ngôn từ này cũng có sẵn cho nhiều máy vi tính khi nghành này Open vào cuối những năm 1970. Nó đã được sử dụng thoáng rộng như một ngôn từ giảng dạy trong những khóa học lập trình cấp đại học vào những năm 1980, và cũng được sử dụng trong setup sản xuất để viết ứng dụng thương mại trong cùng thời kỳ. Nó bị ngôn từ lập trình C thay thế sửa chữa vào cuối những năm 1980 và đầu những năm 1990 khi những mạng lưới hệ thống dựa trên UNIX trở nên phổ cập, và đặc biệt quan trọng là với sự sinh ra của C + + .Một ngôn từ dẫn xuất được gọi là Object Pascal được phong cách thiết kế cho lập trình hướng đối tượng người dùng được tăng trưởng vào năm 1985 ; điều này đã được Apple Computer và Borland sử dụng vào cuối những năm 1980 và sau đó được tăng trưởng thành Delphi trên nền tảng Microsoft Windows. Việc lan rộng ra những khái niệm Pascal đã dẫn đến những ngôn từ Modula-2 và Oberon .

Mục lục bài viết

Những nỗ lực khởi đầu[sửa|sửa mã nguồn]

Phần lớn lịch sử vẻ vang của phong cách thiết kế ngôn từ máy tính trong những năm 1960 là ngôn từ ALGOL 60. ALGOL được tăng trưởng trong những năm 1950 với tiềm năng rõ ràng để hoàn toàn có thể diễn đạt rõ ràng những thuật toán. Nó gồm có 1 số ít tính năng cho lập trình có cấu trúc vẫn còn thông dụng trong những ngôn từ cho đến ngày này .Ngay sau khi được ra mắt, vào năm 1962, Wirth mở màn nghiên cứu và điều tra luận án của mình với Helmut Weber về ngôn từ lập trình Euler. Euler được dựa trên cú pháp của ALGOL. Mục tiêu chính của nó là thêm những list và kiểu động, được cho phép nó được sử dụng trong những vai trò tương tự như như Lisp. Ngôn ngữ được xuất bản vào năm 1965 .Vào thời hạn này, một số ít yếu tố của ALGOL đã được xác lập, đặc biệt quan trọng là thiếu một mạng lưới hệ thống chuỗi tiêu chuẩn hóa. Nhóm được giao trách nhiệm duy trì ngôn từ đã khởi đầu triển khai ALGOL X để xác lập những nâng cấp cải tiến, lôi kéo đệ trình. Wirth và Tony Hoare đã thêm chuỗi và làm mới 1 số ít cú pháp. Các nỗ lực của ALGOL X làm cho ngôn từ ngày càng phức tạp hơn ALGOL 68. Sự phức tạp của ngôn từ này dẫn đến khó khăn vất vả đáng kể trong việc tạo ra những trình biên dịch hiệu suất cao, và nó không được sử dụng thoáng rộng trong ngành. Do đó, Wirth đã viết một trình biên dịch cho ngôn từ máy tính, được gọi là ALGOL W .
Pascal là thành quả bởi những nỗ lực về ALGOL W, với tiềm năng rõ ràng là tạo ra một ngôn từ có hiệu suất cao cả trong trình biên dịch và thời hạn chạy, được cho phép tăng trưởng những chương trình có cấu trúc tốt và hữu dụng cho việc dạy học sinh lập trình có cấu trúc. Một thế hệ sinh viên đã sử dụng Pascal như một ngôn từ vỡ lòng trong những chương trình học đại cương .Một trong những thành công xuất sắc bắt đầu cho ngôn từ là việc ra mắt UCSD Pascal, một phiên bản chạy trên một hệ quản lý tùy chỉnh hoàn toàn có thể được chuyển sang những nền tảng khác nhau. Một nền tảng quan trọng đó là Apple II, nơi mà nó được sử dụng thoáng rộng. Điều này dẫn đến việc sử dụng Pascal trở thành ngôn từ cấp cao chính được sử dụng để tăng trưởng trong Apple Lisa, và sau đó, Macintosh. Các bộ phận của hệ quản lý và điều hành Macintosh khởi đầu được dịch sang ngôn từ lắp ráp Motorola 68000 từ những nguồn Pascal .Hệ thống sắp xếp chữ TeX của Donald E. Knuth được viết bằng WEB, mạng lưới hệ thống lập trình biết chữ gốc, dựa trên DEC PDP-10 Pascal, trong khi những ứng dụng như Total Commander, Skype và Macromedia Captivate được viết bằng Delphi ( Object Pascal ). Apollo Computer đã sử dụng Pascal làm ngôn từ lập trình mạng lưới hệ thống cho những hệ quản lý và điều hành của nó mở màn từ năm 1980 .Các biến thể của Pascal cũng thường được sử dụng cho mọi thứ từ những dự án Bất Động Sản nghiên cứu và điều tra tới những game show máy tính cá thể và những mạng lưới hệ thống nhúng. Các trình biên dịch Pascal mới sống sót được sử dụng thoáng đãng .
Trong quy trình thao tác tại Lisa, Larry Tesler mở màn luận bàn với Wirth về ý tưởng sáng tạo thêm những phần lan rộng ra hướng đối tượng người tiêu dùng vào ngôn từ. Điều này dẫn đến việc Clascal được trình làng vào năm 1983. Khi chương trình Lisa đã bị mất dần chỗ đứng và được thay thế sửa chữa bởi Mac, một phiên bản tiếp theo được gọi là Object Pascal đã được tạo ra. Điều này đã được trình làng trên Macintosh vào năm 1985 như một phần của khung ứng dụng MacApp, và trở thành ngôn từ tăng trưởng chính của Apple vào đầu những năm 1990 .Các phần lan rộng ra Object Pascal sau đó được bổ trợ vào Turbo Pascal, và qua nhiều năm đã trở thành mạng lưới hệ thống Delphi cho Microsoft Windows. Delphi vẫn được sử dụng để tăng trưởng những ứng dụng Windows, nhưng cũng có năng lực biên dịch cùng mã với Mac, iOS, Android và Linux. Một phiên bản đa nền tảng khác được gọi là Free Pascal, với Lazarus IDE, là phổ cập với người dùng Linux vì nó cũng phân phối viết một lần, biên dịch bất kể nơi nào. CodeTyphon là một bản phân phối Lazarus với nhiều gói được thiết lập sẵn và những trình biên dịch đa nền tảng .

Mô tả ngắn gọn[sửa|sửa mã nguồn]

Ý định của Wirth là tạo ra một ngôn ngữ hiệu quả (liên quan đến cả tốc độ biên dịch và mã được tạo ra) dựa trên lập trình có cấu trúc, một khái niệm được phổ biến gần đây mà ông đã quảng bá trong cuốn sách của mình Thuật toán + Cấu trúc dữ liệu = Chương trình (Algorithms + Data Structures = Programs). Pascal có nguồn gốc từ ngôn ngữ ALGOL 60 cho phép các lập trình viên xác định các kiểu dữ liệu phức tạp và cũng dễ dàng hơn trong việc xây dựng cấu trúc dữ liệu động và đệ quy. Chẳng hạn như danh sách, cây cối và đồ thị. Các tính năng quan trọng được đưa vào đây là các bản ghi, liệt kê, phân nhóm, các biến phân bổ động với con trỏ liên quan và tập hợp. Để làm cho điều này có thể và có ý nghĩa, Pascal có cách kiểu mạnh vào tất cả các đối tượng, có nghĩa là một loại dữ liệu không thể được chuyển đổi hoặc được hiểu là một loại dữ liệu khác mà không thể chuyển đổi rõ ràng. Các cơ chế tương tự là tiêu chuẩn trong nhiều ngôn ngữ lập trình ngày nay. Các ngôn ngữ khác ảnh hưởng đến sự phát triển của Pascal là Simula 67 và ALGOL W của Wirth.

Pascal, giống như nhiều ngôn từ lập trình thời nay ( nhưng không giống như hầu hết những ngôn từ trong họ C ), cho phép định nghĩa tiến trình lồng nhau ở bất kể mức độ sâu nào. Điều này được cho phép tạo một cú pháp rất đơn thuần và mạch lạc trong đó một chương trình hoàn hảo là gần như giống hệt với một thủ tục hoặc hàm duy nhất

Trình biên dịch Pascal bắt đầu[sửa|sửa mã nguồn]

Trình biên dịch Pascal tiên phong được phong cách thiết kế trong Zürich cho dòng máy tính lớn CDC 6000, được viết và thiết kế xây dựng tại Đại học Illinois dưới sự chỉ huy của Donald B. Gillies cho loại máy tính PDP-11 và ngay từ lúc này đã hoàn toàn có thể sinh ra mã máy trực tiếp. Niklaus Wirth báo cáo giải trình rằng một nỗ lực tiên phong để thực thi nó ở Fortran năm 1969 đã không thành công xuất sắc do Fortran không đủ năng lực bộc lộ cấu trúc tài liệu phức tạp. Nỗ lực thứ hai được triển khai bằng ngôn từ giống ngôn từ C ( Scallop của Max Engeli ) và sau đó được dịch bằng tay ( bởi R. Schild ) thành Pascal để khởi động. Nó hoạt động giải trí vào giữa năm 1970. Nhiều trình biên dịch Pascal vì đã tự tàng trữ, có nghĩa là trình biên dịch được viết bằng Pascal và trình biên dịch thường có năng lực biên dịch lại khi những tính năng mới được thêm vào ngôn từ, hoặc khi trình biên dịch được chuyển đến môi trường tự nhiên mới. Trình biên dịch GNU Pascal là một ngoại lệ đáng chú ý quan tâm, được viết bằng ngôn từ C .Thành công tiên phong của trình biên dịch CDC Pascal đến từ một máy tính lớn khác được hoàn thành xong bởi Welsh và Quinn tại Đại học Queen’s Belfast ( QUB ) vào năm 1972. Trình biên dịch này, lần lượt, là cha mẹ của trình biên dịch Pascal cho máy tính mini đa hệ thống thông tin ( ICS ). Cổng Multum được tăng trưởng – với mục tiêu sử dụng Pascal như một ngôn từ lập trình mạng lưới hệ thống – bởi Findlay, Cupples, Cavouras và Davis, thao tác tại Khoa Khoa học Máy tính tại Đại học Glasgow. Người ta nghĩ rằng Multum Pascal, được hoàn thành xong vào mùa hè năm 1973, hoàn toàn có thể đã được thực thi 16 – bit tiên phong .Một trình biên dịch hoàn toàn mới được hoàn thành xong bởi Welsh et al. tại QUB năm 1977. Nó phân phối một tính năng chẩn đoán ngôn từ nguồn ( tích hợp những lược đồ định hình, săn lùng và nhận dạng được định dạng kiểu ) được tiến hành bởi Findlay và Watt tại Đại học Glasgow. Việc tiến hành này được chuyển vào năm 1980 cho dòng ICL 2900 của một nhóm có trụ sở tại Đại học Southampton và Đại học Glasgow .Đầu thập niên 1980, UCSD Pascal đã có phiên bản dành cho những máy Apple II và Apple III để có những phiên bản tương ứng sửa chữa thay thế trình thông dịch BASIC đi kèm với những loại máy này trong thời hạn trước đó .Việc triển khai quy mô chuẩn Pascal cũng dựa trên trình biên dịch này, đã được kiểm soát và điều chỉnh bởi Welsh và Hay tại Đại học Manchester vào năm 1984, để kiểm tra khắt khe sự tương thích với tiêu chuẩn BSI 6192 / ISO 7185 và tạo mã cho một máy trừu tượng di động .Trình biên dịch giá rẻ của Borland đã gây ra ảnh hưởng tác động lớn đến hội đồng lập trình viên Pascal, họ phần nhiều tập trung chuyên sâu hết vào lập trình cho máy IBM-PC trong những năm cuối thập niên 1980. Rất nhiều người cũng đã sử dụng mẫu sản phẩm này thay cho BASIC .

Xem thêm  Cách khoá ứng dụng trên iPhone, iPad - dts-l

Để nhanh chóng phổ biến rộng rãi ngôn ngữ này, một bộ công cụ chuyển mã được viết tại Zurich bao gồm một trình biên dịch sang “mã máy ảo” (hay dễ hiểu hơn, mã trung gian giữa mã máy và mã nguồn), và bộ giả lập cho loại mã này. Bộ công cụ này sau đó trở thành hệ thống giả (P-system). Mặc dù hệ thống này được phát triển nhằm tạo ra các trình biên dịch sinh mã máy trên ít nhất một hệ thống, nhưng kết quả đáng kể nhất chỉ là trình thông dịch cho hệ thống giả UCSD. Các trình biên dịch hệ thống P được gọi là Pascal-P1, Pascal-P2, Pascal-P3 và Pascal-P4. Pascal-P1 là phiên bản đầu tiên, và Pascal-P4 là người trình biên dịch cuối cùng của nhóm tại Zurich. Phiên bản được gọi là Pascal-P1 được đặt ra sau để nhiều nguồn khác nhau cho Pascal-P tồn tại. Trình biên dịch được thiết kế lại để nâng cao tính di động và được phát hành dưới dạng Pascal-P2. Mã này sau đó được cải tiến để trở thành Pascal-P3, với một mã trung gian tương thích ngược với Pascal-P2 và Pascal-P4.

Trình biên dịch Pascal-P4 vẫn hoàn toàn có thể chạy và biên dịch trên những mạng lưới hệ thống thích hợp với Pascal gốc. Tuy nhiên, nó chỉ đồng ý một tập con của ngôn từ Pascal .Pascal-P5, được tạo ra bên ngoài nhóm Zurich, sử dụng ngôn từ Pascal khá đầy đủ và gồm có năng lực thích hợp ISO 7185 .UCSD Pascal phân nhánh Pascal-P2, nơi Kenneth Bowles sử dụng nó để tạo ra mạng lưới hệ thống p UCSD lý giải. Hệ thống p UCSD là một trong ba hệ điều hành quản lý có sẵn khi ra đời Máy tính cá thể IBM gốc. UCSD Pascal đã sử dụng một mã trung gian dựa trên những giá trị byte, và do đó là một trong những trình biên dịch mã byte tiên phong. Pascal-P1 không trải qua Pascal-P4, mà là dựa trên chiều dài từ CDC 6600 60 bit .Trình biên dịch dựa trên trình biên dịch Pascal-P4, đã tạo ra những tệp nhị phân gốc, được phát hành cho máy tính lớn IBM System / 370 của Ủy ban Năng lượng Nguyên tử Úc ( Australian Atomic Energy Commission ) ; nó được gọi là ” AAEC Pascal Compiler ” .Vào đầu những năm 1980, Watcom Pascal đã được tăng trưởng, cũng cho mạng lưới hệ thống IBM 370 .Vào những năm 1990, Pascal vẫn đang chạy trên những thiết bị VAX tại Đại học George Mason để dạy lập trình máy tính .
Apple Computer đã tạo ra Lisa Pascal của riêng mình cho Lisa Workshop vào năm 1982 và chuyển trình biên dịch sang Apple Macintosh và MPW năm 1985. Năm 1985, Larry Tesler, tham vấn với Niklaus Wirth, đã định nghĩa Object Pascal và những phần lan rộng ra này được tích hợp trong cả trình biên dịch Lisa Pascal và Mac Pascal .

Borland quyết định cần phải có nhiều tính năng hướng đối tượng tinh vi và phức tạp hơn, và đã bắt đầu sản phẩm Delphi, sử dụng sơ đồ thiết kế của Object Pascal do Apple đưa ra làm cơ sở. (Sơ đồ của Apple vẫn chưa phải là chuẩn.) Borland cũng gọi đây là Object Pascal trong phiên bản Delphi đầu tiên nhưng đổi tên thành Delphi trong các phiên bản sau đó. Các bổ sung chính so với các phần mở rộng lập trình hướng đối tượng trước là mô hình đối tượng, các hàm dựng và hàm hủy ảo, các thuộc tính đều mang tính tham chiếu. Có một vài trình biên dịch khác cũng hỗ trợ các tính năng này.

Turbo Pascal và các sản phẩm tương tự, bằng các khái niệm đơn vị (unit) hay mô-đun (module) hình thành nên các ngôn ngữ lập trình cấu trúc. Turbo Pascal lấy các khái niệm này từ chuẩn của Extended Pascal hay từ người kế vị Modula-2. Mặc dù vậy nó vẫn không cung cấp khái niệm các mô-đun lồng nhau hay các ký hiệu rõ ràng về hàm nhập và hàm xuất.

Trong thập niên 1980, Anders Hejlsberg đã viết trình biên dịch Blue Label Pascal dành cho dòng máy tính Nascom-2. Sau đó ông chuyển sang làm việc cho hãng Borland và viết lại hoàn toàn trình biên dịch này để rồi trở thành Turbo Pascal cho máy tính IBM-PC. Trình biên dịch mới này bán với giá chỉ có $49.95, rẻ hơn nhiều so với giá Hejlsberg trước đây rao bán sản phẩm Blue Label Pascal. Nó được viết và tối ưu hóa hoàn toàn bằng hợp ngữ, làm cho nó nhỏ hơn và nhanh hơn.

Năm 1986, Anders chuyển Turbo Pascal sang Macintosh và phối hợp những phần lan rộng ra Object Pascal của Apple vào Turbo Pascal. Những phần lan rộng ra này sau đó được thêm trở lại vào phiên bản PC của Turbo Pascal cho phiên bản 5.5. Đồng thời Microsoft cũng đã triển khai trình biên dịch Object Pascal. Turbo Pascal 5.5 có tác động ảnh hưởng lớn đến hội đồng Pascal, khởi đầu tập trung chuyên sâu hầu hết vào máy tính IBM vào cuối những năm 1980. Nhiều người yêu thích PC trong việc tìm kiếm một sự thay thế sửa chữa có cấu trúc cho BASIC đã sử dụng mẫu sản phẩm này. Nó cũng khởi đầu được gật đầu bởi những nhà tăng trưởng chuyên nghiệp. Khoảng thời hạn đó, 1 số ít khái niệm được nhập ngôn từ C để cho phép những lập trình viên Pascal sử dụng API dựa trên C của Microsoft Windows trực tiếp. Các phần lan rộng ra này gồm có những chuỗi, con trỏ số học, con trỏ hàm, một toán tử địa chỉ và những kiểu gõ không bảo đảm an toàn .Turbo Pascal, và những dẫn xuất khác với những đơn vị chức năng hoặc những khái niệm mô-đun là những ngôn từ mô-đun. Tuy nhiên, nó không cung ứng khái niệm mô-đun lồng nhau hoặc nhập và xuất đủ điều kiện kèm theo những ký hiệu đơn cử .Các phiên bản của Turbo Pascal

  • Phiên bản 2.0: So với Pascal chuẩn, Turbo Pascal Version 2.0 có những mở rộng về các biến động, các biến địa chỉ tuyệt đối, Các phép toán trên bit và byte, các phép toán logic trên số nguyên, Kết nối các chương trình với các biến chung,…
  • Phiên bản 3.0: là một hệ thống phát triển gồm những đặc điểm của version 2.0 và có nhiều mở rộng quan trọng như: Bổ sung nhiều thủ tục và hàm chuẩn. Bổ sung một vài dạng đặc biệt mới cho phép tính toán các số thực với độ chính xác lớn,… So với version 2.0 thì version 3.0 có tốc độ dịch gấp đôi.
  • Phiên bản 4.0: có đặc điểm là có thêm một số dữ liệu mới, thực hiện các biểu thức logic nhanh hơn, có nhiều thủ tục và hàm chuẩn về xử lý đồ họa đồ thị màu sắc hình khối cửa sổ,…
  • Phiên bản 5.0 và 5.5: Năm 1989, hãng Borland đưa ra thị trường phiên bản Turbo Pascal Version 5.0 để giới thiệu các thủ tục và hàm tiện nghi. Tiếp đó chưa đầy nửa năm họ đưa ra version 5.5 có thêm cấu trúc hoàn toàn mới, đó là lập trình đối tượng.
  • Phiên bản 6.0: Đặc điểm nổi bật của version này là giới thiệu thành phần của Turbo vision, một thư viện chương trình cụ thể, định hình có các cửa sổ tiện ích để đối chiếu với nhau.
  • Phiên bản 7.0: Cuối năm 1992, hãng Borland lại đưa ra version 7.0 để chạy trong tất cả hệ điều hành kể cả Windows
  • phiên bản 7.1: tương tự bản 7.0.1
  • phiên bản 7.2: Ra mắt năm 2000.

Các biến thể khác[sửa|sửa mã nguồn]

Super Pascal là một biến thể của Pascal, bổ trợ nhãn không có số, trả lại biểu thức hay mệnh đề là tên của kiểu tài liệu .Các trường ĐH Wisconsin-Madison, Zürich, Karlsruhe và Wuppertal đã tăng trưởng những trình biên dịch Pascal-SC và Pascal-XSC, nhằm mục đích lập trình tính toán số .TMT Pascal trình biên dịch tương thích Borland tiên phong cho chính sách bảo vệ DOS 32 – bit, hệ quản lý OS / 2 và Win32. Ngoài ra ngôn từ TMT Pascal là ngôn từ tiên phong được cho phép quá tải hàm và toán tử. Pascal-SC bắt đầu nhắm vào bộ vi giải quyết và xử lý Z80, nhưng sau này được viết lại cho DOS ( x86 ) và 68000. Pascal-XSC có lúc được chuyển sang Unix ( Linux, SunOS, HP-UX, AIX ) và Microsoft / IBM ( DOS với Hệ quản lý EMX, OS / 2, Windows ). Nó hoạt động giải trí bằng cách tạo mã nguồn trung gian C, sau đó được biên dịch thành một tệp thực thi nguyên gốc. Một số phần lan rộng ra ngôn từ Pascal-SC đã được gật đầu bởi GNU Pascal .Pascal Sol được phong cách thiết kế vào khoảng chừng năm 1983 bởi một nhóm người Pháp để triển khai một mạng lưới hệ thống giống Unix có tên Sol. Đó là tiêu chuẩn Pascal level-1 ( với số lượng giới hạn mảng tham số ) nhưng định nghĩa được cho phép từ khóa sửa chữa thay thế và định danh được xác lập trước bằng tiếng Pháp và ngôn từ gồm có một vài phần lan rộng ra để giảm bớt lập trình mạng lưới hệ thống. Nhóm Sol sau này đã chuyển sang dự án Bất Động Sản ChorusOS để phong cách thiết kế một hệ điều hành quản lý phân tán .IP Pascal là một tiến hành triển khai ngôn từ lập trình Pascal bằng cách sử dụng Micropolis DOS, nhưng đã được chuyển nhanh sang CP / M-80 chạy trên Z80. Nó đã được chuyển sang những kiểu máy 80386 vào năm 1994, và sống sót ngày này như những tiến hành Windows / XP và Linux. Trong năm 2008, mạng lưới hệ thống đã được đưa lên một Lever mới và ngôn từ tác dụng được gọi là ” Pascaline ” ( sau khi máy tính của Pascal ). Nó gồm có những đối tượng người dùng, những điều khiển và tinh chỉnh vùng tên, mảng động, cùng với nhiều phần lan rộng ra khác, và thường có tính năng bảo vệ và công dụng giống như C #. Nó là chỉ triển khai như vậy cũng thích hợp với việc triển khai Pascal khởi đầu, được chuẩn hóa theo tiêu chuẩn ISO 7185 .Smart Mobile Studio được tạo ra bởi Jon Aasenden và biên dịch phương ngữ riêng của mình về Object Pascal thành HTML5 / Javascript .Và như tất cả chúng ta biết ngôn từ lập trình đứng đầu là Python với lượng người áp đảo C + + .
Năm 1983, ngôn từ được chuẩn hoá, theo tiêu chuẩn quốc tế IEC / ISO 7185 và một số ít tiêu chuẩn đơn cử của vương quốc khác gồm có ANSI / IEEE770X3. 97-1983 và ISO 7185 : 1983 đều của Mỹ. Hai tiêu chuẩn này chỉ khác nhau ở chỗ tiêu chuẩn ISO gồm có phần lan rộng ra ” cấp 1 ” trong đó ANSI không được cho phép phần lan rộng ra này vào bản gốc ( Wirth ). Năm 1989, ISO 7185 được sửa đổi .Chuẩn ISO 7185 được tăng trưởng với mục tiêu là sự tinh lọc của ngôn từ 1974 của Writh, được đề cập cụ thể trong cuốn ” Hướng dẫn sử dụng và Báo cáo của Jensen và Wirth “, bổ trợ đáng kể nhất là ” Các tham số mảng tương thích ” được coi là mức 1 của tiêu chuẩn, mức 0 là Pascal không có mảng tương thích .Trên những máy tính lớn mà Pascal xuất phát ( mainframe và minicomputer ), những tiêu chuẩn này thường được tuân theo. Tuy vậy trên IBM-PC thì ngược lại. Trên những máy tính IBM-PC, chuẩn của Turbo Pascal và Delphi của Borland có lượnng người dùng nhiều nhất. Do vậy, biết liệu một phiên bản riêng không liên quan gì đến nhau tương ứng với ngôn gữ Pascal khởi đầu, hay ngôn từ riêng của Borland là khá quan trọng .

Xem thêm  8 Ứng dụng “bất ly thân” đối với người học tiếng Anh Giao Tiếp

ISO / IEC 10206 : Mở rộng Pascal 1990[sửa|sửa mã nguồn]

Năm 1990, một chuẩn Pascal lan rộng ra được tạo ra dựa theo tiêu chuẩn ISO / IEC 10206, giống hệt về nội dung kỹ thuật cho IEEE / ANSI 770X3. 160 – 1989 .
Phiên bản Pascal của Niklaus Wirth ở Zurich được phát hành dưới hai dạng cơ bản, nguồn trình biên dịch CDC 6000 và một bộ chuyển mạch gọi là mạng lưới hệ thống Pascal-P .UCSD Pascal của Giáo sư Kenneth Bowles dựa trên bộ Pascal-P2 san sẻ 1 số ít hạn chế ngôn từ Pascal-P. UCSD Pascal sau đó được gọi là Apple Pascal. Mặc dù UCSD Pascal thực sự lan rộng ra tập hợp con Pascal trong bộ Pascal-P bằng cách thêm lại những cấu trúc Pascal chuẩn, tuy nhiên nó vẫn không phải là một bản setup chuẩn hoàn hảo của Pascal .Đầu thập niên 1990, Alan Burns và Geoff Davies đã tăng trưởng Pascal-FC, một phần lan rộng ra cho Pl / 0 ( từ cuốn sách của Niklaus ‘ Thuật toán + Cấu trúc tài liệu = Chương trình ‘ ). Một số cấu trúc đã được thêm vào để sử dụng Pascal-FC như một công cụ giảng dạy cho lập trình đồng thời. Để hoàn toàn có thể chứng tỏ sự tương tranh, đầu ra của trình biên dịch ( một loại mã P ) hoàn toàn có thể được thực thi trên một máy ảo. Máy ảo này không chỉ mô phỏng một môi trường tự nhiên thông thường, mà còn hoàn toàn có thể mô phỏng những điều kiện kèm theo khắc nghiệt .

Các trình biên dịch Pascal giống như Borland[sửa|sửa mã nguồn]

Turbo Pascal của Borland, được viết bởi Anders Hejlsberg, được viết bằng hợp ngữ độc lập với UCSD .Turbo Pascal phiên bản 3 và những phiên bản sau này, gồm có Object Pascal và Delphi của Borland và những thành phần thích hợp không phải Borland trở nên phổ cập với những lập trình viên gồm có những tác giả san sẻ và thư viện SWAG của mã Pascal .Các mẫu sản phẩm ứng dụng gồm có :

  • Turbo Pascal – “TURBO.EXE” lên đến phiên bản 7 và Turbo Pascal cho Windows (“TPW”) và Turbo Pascal cho Macintosh.
  • Borland Pascal 7 (về cơ bản là Turbo Pascal 7 cho Windows).
  • Object Pascal – một phần mở rộng của ngôn ngữ Pascal được phát triển tại Apple Computer bởi một nhóm do Larry Tesler đứng đầu với sự tham vấn của Niklaus Wirth, người phát minh ra Pascal; các tính năng của nó đã được bổ sung vào Turbo Pascal của Borland cho Macintosh và vào năm 1989 cho Turbo Pascal 5.5 cho DOS.
  • Delphi – Object Pascal về cơ bản là ngôn ngữ cơ bản của nó.
  • Free Pascal (hoặc fpc) – Free Pascal đã sử dụng phương ngữ chuẩn thực tế cho các lập trình viên Pascal, Borland Pascal và sau đó là Delphi.
  • PascalABC.NET – là một ngôn ngữ lập trình Pascal thế hệ mới bao gồm cả trình biên dịch và môi trường phát triển tích hợp (IDE)
  • Borland Kylix là một trình biên dịch và môi trường phát triển tích hợp (IDE) trước đây được bán bởi Borland, nhưng sau đó đã ngừng hoạt động.
  • Lazarus – tương tự như Kylix, là một môi trường phát triển tích hợp (IDE) trực quan miễn phí để phát triển ứng dụng nhanh (RAD) bằng trình biên dịch Free Pascal, hỗ trợ các phương ngữ của Object Pascal
  • Virtual Pascal – VP2/1 là một trình biên dịch Pascal 32 bit Borland Delphi và Borland Delphi tương thích hoàn toàn cho OS/2 và Win 32.
  • Sybil là một IDE và trình biên dịch giống như Delphi nguồn mở; bao gồm WDSibyl cho Microsoft Windows và OS/2, một môi trường tương thích Borland Pascal thương mại được phát hành bởi một công ty có tên Speedsoft mà sau này được phát triển thành RAD được gọi là Sybil

Danh sách những tiêu chuẩn tương quan[sửa|sửa mã nguồn]

ISO 8651-2: 1988 Hệ thống xử lý thông tin – Đồ họa máy tính – Các ràng buộc ngôn ngữ hệ thống đồ họa (GKS) – Phần 2: Pascal

Pascal ở dạng nguyên thủy của nó là một ngôn ngữ thuần túy và bao gồm các cấu trúc điều khiển giống như ALGOL truyền thống với các từ dành riêng như if, then, else, while, forcase khác nhau trên một câu lệnh khối lệnh. Pascal cũng có cấu trúc dữ liệu cấu trúc của ngôn ngữ lập trình ALGOL 60 như bản ghi, biến thể, con trỏ, liệt kê và bộ. Những cấu trúc như vậy được lấy cảm hứng từ Simula 67, ALGOL 68, ALGOL W của Niklaus Wirth và được đề xuất bởi C. A. R. Hoare.

Dễ học, dễ đọc[sửa|sửa mã nguồn]

  • 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

Phần chính của mọi chương trình Pascal là khối lệnh ( main ). Một khối lệnh khởi đầu bằng từ khoá Begin và kết thúc bằng End. Trước chương trình chính sẽ là những khai báo thư viện, biến, thủ tục, hàm, … Các câu lệnh trong Pascal được ngăn cách bằng dấu chấm phẩy ( ” ; ” ). Câu lệnh sau cuối của một khối lệnh hoàn toàn có thể giản lược đi một dấu chấm phẩy. Cuối chương trình luôn có một dấu chấm sau end ( end. ) .

begin
    writeln(' Hello World ');
end.

Pascal, nguyên thể đơn thuần là ngôn ngữ lập trình thủ tục với một loạt các từ khóa chuẩn if, while, for, và các thành phần khác. Pascal là một ngôn ngữ hỗ trợ cả lập trình có cấu trúc lẫn lập trình hướng đối tượng. Hướng đối tượng bắt đầu được đưa vào Turbo Pascal ở phiên bản 5.5. Free Pascal cũng đưa hướng đối tượng vào từ rất sớm.

while a < > b do WriteLn(' Chao Ban ');

if a > b then
    writeln(' Thoa man dieu kien ')
else
    writeln(' Khong thoa man dieu kien ');

for i: = 1 to 10 do writeln(' La (. p : ', i:1);

repeat a: = a + 1 until a = 10;

Pascal cấu trúc những chương trình thành những thủ tục và hàm .

program mine(output);

    procedure print(var i: integer);

        function next(i: integer): integer;
        begin
            next: = i + 1
        end;

    begin
        writeln(' Tong la : ', i);
        i: = next(i)
    end;

begin
    i: = 1;
    while i < = 10 do print(i)
end.

Các thủ tục và hàm có thể lồng vào nhau theo nhiều cấp, và từ program là khối cấu trúc ngoài cùng nhất. Trước mỗi khối là phần khai báo. Ta có thể khai báo các hằng, các biến, các kiểu, hoặc các nhãn. Các từ khoá var (biến), type (kiểu), const (hằng), label (nhãn) được đặt trước các khai báo có cùng thể loại. Chú thích của Pascal được đặt trong ngoặc nhọn, ví dụ: { comment }, hoặc là ngoặc đơn với sao, ví dụ: (* comment *), trong Free Pascal, ký hiệu // chỉ ra rằng các ký tự sau đó (ở cùng dòng với nó) là chú thích, ví dụ: // comment. Chú thích không ảnh hưởng đến các lệnh của chương trình. Mọi chú thích sẽ tự động bỏ qua trong tiến trình dịch.

  { đây là chú thích }
  begin
    writeln(' Viet Nam ');
  end.

Kiểu tài liệu[sửa|sửa mã nguồn]

Pascal gồm những kiểu đơn lẻ như integer, char, boolean, kiểu đoạn con, ... Ngoài ra còn kiểu cấu trúc như array, string, record, object, class, ... Cuối cùng là kiểu số thực : real .

Các kiểu số nguyên[sửa|sửa mã nguồn]

Tên kiểuKhoảng cách giá trịDung lượng theo bytes
Byte0.. 2551
Shortint-128.. 1271
Smallint-32 768.. 32 7672
Word0.. 65 5352
Integer-32 768.. 32 7672 [4]
Longint-2 147 483 648.. 2 147 483 6474
Longword0.. 4 294 967 2954
int64-9 223 372 036 854 775 808.. 9 223 372 036 854 775 8078 [5]
QWord0.. 18 446 744 073 709 551 6158 [6]
Cardinal,
Dword
Tương đương với longword
Xem thêm  Vào Lại Acc Cũ Lion39 Ngày Xưa | Sốc Khi Thấy Rương Đồ VIP | Ninja School Online | Chia sẻ có ích về trò chơi mới nhất từ Bem2

Các kiểu số thực[sửa|sửa mã nguồn]

Tên kiểuKhoảng cáchSố chữ số có nghĩaDung lượng theo bytes
Realphụ thuộc vào nền tảngKhông rõ4 đến 8
Single1.6E-45.. 3.4E387-84
Double5.0E-324.. 1.7E30815-168
Extended1.9E-4932.. 1.1E493219-2010
Comp-2E64+1.. 2E63-119-208
Currency-922337203685477.5808.. 922337203685477.580719-208

Tất cả các kiểu chữ đều có thể lưu được các ký tự trong bảng mã ASCII

TênSố ký tự lưu đượcDung lượng theo bytes
Char11
Widechar1 ký tự unicode2
String255?
ShortstringTương tự String (255)?
AnsistringTùy thuộc vào bộ nhớ (càng nhiều bộ nhớ thì lưu được càng nhiều - tối đa 2GB)?

Phương pháp khai báo biến[sửa|sửa mã nguồn]

Đây là 1 số ít khai báo kiểu của Pascal :

type ( * Khai báo kiểu * )
KieuSoNguyen = integer;
KieuSoNguyenDuong = QWord;
MangSoNguyen = array[1..239] of KieuSoNguyen;

DiaChi = record

xa, huyen, tinh: string; SoNha: integer; end; { hướng đối tượng người dùng } ConVat = object Ten: string; Lop: string; end; ConGa = object(ConVat) TiengGay: string; end; { Kiểu đoạn con, kiểu tự định nghĩa } SoDem = (mot, hai, ba, bon, nam); SoNho = 0..10; SoDemNho = mot.. ba;

Từ đó, ta hoàn toàn có thể khai báo những biến và sử dụng chúng :

var
  x: integer; y: KieuSonguyenduong;
  A: mangsonguyen;
  GaTrong: ConGa;
  z: SoDemNho;
Begin { thân chương trình }
  x: = 5;
  y: = x+10;
  y: = y-1;
  GaTrong.TiengGay: = ' meow.meow ';
  writeln(ConMeo.TiengMeo);
End.

Các kiểu phức hoàn toàn có thể được thiết kế xây dựng từ những kiểu đơn :

type
    a = array [1..10] of integer;
    b = record
            a: integer;
            b: char
        end;
    c = file of a;

Kiểu chuỗi ký tự ( string ) là kiểu tài liệu rất mạnh .Pascal cũng tương hỗ dùng con trỏ :

type
     a = ^b;
     b = record
            a: integer;
            b: char;
            c: a
         end;
var
     pb: a

Ở đây biến Pb là một con trỏ đến kiểu dữ liệu b, là một record. Để tạo record mới và gán các giá trị 10A vào các trường ab trong record, có thể dùng các câu lệnh sau:

new(pb);
pb^ .a: = 11;
pb^ .b: = ' A ';
pb^ .c: = nil;
...

Danh sách liên kết cũng có thể được tạo ra bằng cách cho một trường kiểu con trỏ (c) vào trong record.

Các câu lệnh[sửa|sửa mã nguồn]

  • write(): in ra màn hình ngay tại vị trí con trỏ; ghi file.
  • writeln(): in xuống một hàng; ghi file.
  • read(): đọc biến; đọc file.
  • readln(): đọc biến và dừng màn hình; đọc file.
  • begin: bắt đầu phần thân chương trình / bắt đầu câu lệnh ghép;
  • var: phần khai báo biến trong chương trình lập trình pascal.
  • type: Bắt đầu các phần cho các loại biến do người dùng xác định và xác định một thể hiện kiểu mới khi đề cập đến một kiểu dữ liệu khác.
  • procedure: Thủ tục (chương trình con).
  • function: Hàm (chương trình con).
  • program: Khai báo tên chương trình
  • end: kết thúc chương trình hoặc kết thúc dòng lệnh kép
  • for...do: câu lệnh lặp có xác định số lần lặp
  • While...do: câu lệnh lặp không xác định số lần lặp

Thư viện Unit CRT[sửa|sửa mã nguồn]

  • clrscr: xoá cửa sổ hiện tại (giữ nguyên màu chữ đang được thiết đặt), đưa con trỏ chuột về vị trí trên cùng bên trái của cửa sổ hiện tại.
  • textcolor(): đổi màu chữ (có hiệu lực cho các lần gọi hàm write và writeln sau đó).
  • textbackground(): tô màu cho nền chữ.
  • sound(): tạo âm thanh.
  • delay(x): dừng chương trình trong x miligiây trước khi chạy tiếp
  • nosound: tắt âm thanh.
  • windows(x1,y1,x2,y2): thay đổi cửa sổ màn hình.
  • highvideo: tăng độ sáng màn hình.
  • lowvideo: giảm độ sáng màn hình.
  • normvideo: màn hình trở lại chế độ sáng bình thường.
  • gotoxy(x,y): đưa con trỏ đến vị trí x,y trên màn hình.
  • deline: xoá một dòng đang chứa con trỏ.
  • clreol: xoá các ký tự từ vị trí con trỏ đến cuối mà không di chuyển vị trí con trỏ.
  • insline: chèn thêm một dòng vào vị trí của con trỏ hiện hành.
  • exit: thoát khỏi chương trình.
  • textmode(co40): tạo kiểu chữ lớn.
  • randomize: khởi tạo chế độ ngẫu nhiên.
  • move(var 1,var 2,n): sao chép trong bộ nhớ một khối n byte từ biến Var 1 sang biến Var 2.
  • halt: Ngưng thực hiện chương trình và trở về hệ điều hành.
  • Abs(n): Giá trị tuyệt đối.
  • Arctan(x): cho kết quả là hàm Arctan(x).
  • Cos(x): cho kết quả là cos(x).
  • Exp(x): hàm số mũ cơ số tự nhiên ex.
  • Frac(x): cho kết quả là phần thập phân của số x.
  • int(x): cho kết quả là phần nguyên của số thập phân x.
  • ln(x): Hàm logarit cơ số tự nhiên.
  • sin(x): cho kết quả là sin(x), với x tính bằng Radian.
  • Sqr(x): bình phương của số x.
  • Sqrt(x): cho kết quả là căn bậc hai của x.
  • pred(x): cho kết quả là số nguyên đứng trước số nguyên x.
  • Succ(x): cho kết quả là số nguyên đứng sau số nguyên x.
  • odd(x): cho kết quả là true nếu x số lẻ, ngược lại là false.
  • chr(x): trả về một ký tự có vị trí là x trong bảng mã ASCII.
  • Ord(x): trả về một số thứ tự của ký tự x.
  • round(n): Làm tròn số thực n tới số nguyên gần n nhất.
  • trunc(n): Làm tròn số thực n tới số nguyên có giá trị tuyệt đối bé hơn n.
  • Random(n): cho một số ngẫu nhiên trong phạm vi n.
  • upcase(n): đổi ký tự chữ thường sang chữ hoa.
  • lowercase(n) (chỉ dùng trong Free Pascal): đổi ký tự từ chữ hoa sang chữ thường.
  • assign(f,'<đường dẫn>.'): gán một file trên ổ đĩa vào biến f.
  • rewrite(f): tạo mộ file mới (nếu chưa có) hoặc xóa toàn bộ nội dung của file trên ổ đĩa (nếu file đã tồn tại và có nội dung).
  • seek(f,n): Tìm dữ liệu ở phần tử n trong tệp f.
  • append(f): chèn thêm dữ liệu cho file.
  • close(f): tắt file.
  • erase(f): xóa file
  • rename(): đặt lại tên.
  • str(a,s): đổi từ số a thành xâu s.
  • val(st,m): chuyển chuỗi st thành số m.
  • length(s): cho biết độ dài của xâu.
  • copy(s,a,b): copy b (số lượng kí tự) ký tự từ vị trí a trong xâu s.
  • insert(x,s,a): chèn xâu x (hoặc chuỗi bất kì thì để chuỗi giữa 2 dấu " ' ") vào vị trí a cho xâu s.
  • delete(s,a,b): xóa b (số lượng kí tự) ký tự từ vị trí a trong xâu s.
  • pos(s,st): vị trí đầu tiên của xâu s trong xâu st.
  • break: kết thúc vòng lặp.
  • inc(i): tăng biến i lên 1 đơn vị.
  • dec(i): giảm biến i xuống 1 đơn vị.
  • initgraph(a,b,): khởi tạo chế độ đồ hoạ.
  • closegraph;: tắt chế độ đồ hoạ.
  • setcolor(x): chọn màu.
  • outtext(): in ra màn hình tại góc trên bên trái.
  • outtextxy(x,y,);: in ra màn hình tại toạ độ màn hình.
  • rectangle(x1,y1,x2,y2): vẽ hình chữ nhật.
  • line(x1,y1,x2,y2): vẽ đoạn thẳng.
  • moveto(x,y): lấy điểm xuất phát để vẽ đoạn thẳng.
  • lineto(x,y): lấy điểm kết thúc để vẽ doạn thảng.
  • circle(x,y,n): vẽ đường tròn.
  • ellipse(x,y,o1,o2,a,b): vẽ hình elip.
  • floodfill(a,b,n): tô màu cho hình.
  • getfillpattern(x): tạo biến để tô.
  • setfillpattern(x,a): chọn màu để tô.
  • cleardevice;: xoá toàn bộ màn hình.
  • settextstyle(n,a,b): chọn kiểu chữ.
  • bar(a,b,c,d): vẽ thanh.
  • bar3d(a,b,c,d,n,h): vẽ hộp.
  • arc(a,b,c,d,e): vẽ cung tròn.
  • setbkcolor(n): tô màu nền.
  • putpixel(x,y,n): vẽ điểm.
  • setfillstyle(a,b): tạo nền cho màn hình.
  • setlinestyle(a,b,c): chọn kiểu đoạn thẳng.
  • getmem(p,1): chuyển biến để nhớ dữ liệu.
  • getimage(x1,y1,x2,y2,p): nhớ các hình vẽ trên vùng cửa sổ xác định.
  • putimage(x,y,p,n): in ra màn hình các hình vừa nhớ....
  • getdate(y,m,d,t): lấy các dữ liệu về ngày trong bộ nhớ.
  • gettime(h,m,s,hund): lấy các dữ liệu về giờ trong bộ nhớ.
  • findnext(x): tìm kiếm tiếp.
  • findfirst($20,dirinfo): tìm kiếm....

Các trình biên dịch phổ cập[sửa|sửa mã nguồn]

Trình biên dịch[sửa|sửa mã nguồn]

Có vài trình biên dịch Pascal được đưa ra cho sử dụng công khai minh bạch :
Bạn hoàn toàn có thể tìm thấy một list lớn nữa tại Pascaland. Trang web này viết bằng tiếng Pháp, nhưng về cơ bản chỉ là một list gồm những địa chỉ mạng ( URL ) tới những trình biên dịch, do vậy không ảnh hưởng tác động nhiều. Bạn cũng hoàn toàn có thể ghé thăm Pascal Central, một website chính về thông tin và tương hỗ cho Pascal dành cho máy Mac, với rất nhiều bộ sưu tập về những bài báo, cộng với link tới rất nhiều trình biên dịch và hướng dẫn khác .

  • Dev-Pascal là một IDE Pascal được thiết kế trong Borland Delphi và hỗ trợ bởi Free Pascal và GNU Pascal dưới dạng các chương trình phụ trợ.
  • Lazarus là một IDE nền tảng trực quan giống như Delphi miễn phí để mô hình ứng dụng nhanh chóng (RAD). Dựa trên Free Pascal, Lazarus có sẵn cho nhiều nền tảng bao gồm Linux, FreeBSD, macOS và Microsoft Windows.

WOL Libraries để tạo các ứng dụng GUI với trình biên dịch Free Pascal.

Những phê phán trước đây[sửa|sửa mã nguồn]

Mặc dù rất phổ biến (những năm 1980 và 1990 còn phổ biến hơn cả thời điểm bài viết này được thực hiện), các phiên bản Pascal trước đây đã bị phê phán rộng rãi vì không phù hợp cho việc sử dụng trong thực tế, ngoài việc dạy học. Brian Kernighan, người truyền bá C, đã đưa ra những phê phán lớn nhất về Pascal trong đầu những năm 1980, bằng bài viết Why Pascal Is Not My Favorite Programming Language (Tại sao Pascal không phải là ngôn ngữ lập trình tôi ưa thích). Mặt khác, rất nhiều nỗ lực phát triển lớn trong những năm 1980 (như chuyển sang cho Apple Lisa và Macintosh) lại phụ thuộc rất nhiều vào Pascal (tới mức mà giao tiếp C dành cho Mac OS phải giải quyết cả các kiểu dữ liệu của Pascal). Trong những thập niên sau đó, Pascal tiếp tục phát triển, và những vấn đề mà Kernighan đã đưa ra không còn phù hợp cho các phiên bản hiện tại nữa. Thật đáng tiếc là, như những điều mà Kernighan dự đoán trong bài viết, hầu hết các sự mở rộng để giải quyết các vấn đề trên làm các trình biên dịch không tương thích với nhau. Mặc dù vậy, trong thập niên vừa qua các biến thể dường như đã tập trung lại thành hai loại, theo chuẩn ISO hay theo chuẩn Borland, đều đã dần dần đi ra ngoài dự đoán của Kernighan.

Dựa trên kinh nghiệm tay nghề với Pascal, Niklaus Wirth đã tăng trưởng thêm hai ngôn từ lập trình nữa, Modula-2 và Oberon. Hai ngôn từ này mặc dầu đã có nhiều nâng cấp cải tiến nhưng không hề theo kịp thành công xuất sắc thương mại của Pascal .

  • ALGOL
  • C
  • Ada: hậu duệ Pascal của Bộ Quốc phòng Mỹ, thiết kế để trở nên đa năng và mạnh mẽ hơn.
  • Delphi
  • Modula: hậu duệ Pascal của Wirth
  • Oberon: hậu duệ Module hướng đối tượng của Wirth
  • Object Pascal
  • Pascal và C: so sánh giữa Pascal và C.
  • IP Pascal

Liên kết ngoài[sửa|sửa mã nguồn]

Rate this post

Bài viết liên quan

Để lại ý kiến của bạn:

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *