Sự khác nhau giữa turbo pascal và free pascal

Lập Trình Bằng Pascal

- Tuy rằng hiện nay trên thế giới không có nhiều người sử dụng ngôn ngữ lập trình này , nhưng Pascal vẫn là sự lựa chọn của các trường để giảng dạy cho học sinh , vì nó khá là đơn giản và có thể trở thành nên móng cho học sinh để học tiếp các ngôn ngữ lập trình khác.
- Hiện nay , có 2 phiên bản của Pascal được dùng phổ biến đó chính là Turbo Pascal và Free Pascal

1. Turbo Pascal và Free Pascal
- Turbo Pascal là một trong những sản phẩm được tạo ra trong quá trình triển khai thực hiện Pascal
- Dưới đây là những phiên bản của Turbo Pascal
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.
- Free Pascal , tên đầy đủ là Free Pascal Compiler [ FPC ] là một trình biên dịch cho các ngôn ngữ lập trình có liên quan chặt chẽ , Pascal và Object Pascal. Nó là phần mềm tự do [ là phần là phần mềm có thể được sử dụng, sao chép, nghiên cứu, thay đổi và tái phân phối không hạn chế. ] được phát hành theo “ Giấy phép Công cộng GNU “ [ là giấy phép Công cộng phổ biến nhất ]
- Free Pascal cũng là bản nâng cấp của Turbo Pascal , nó được nâng cấp các tính năng mà Turbo Pascal không làm được
· Bộ nhớ rộng rãi : không hạn chế các phép tính toán , mở rộng lên đến 64bit
· Tương thích với các vi xử lý : Intel x86, Amd64/x86_64, PowerPC, PowerPC64, Sparc, ARM



2.Hướng Dẫn Download và Cài đặt
Vì Turbo Pascal đã cũ nên cũng khá khó để cài đặt nên ở đây mình sẽ cung cấp trực tiếp file [ mình đã test ] cho các bạn download
èLink ://www.mediafire.com/file/2793gk7m1b33390/tp70.rar[ dung lượng : 2,5MB ]
·Hướng Dẫn Cài Đặt
B1 : Các bạn download file về
B2 : Giải nén bằng WIN RAR , 7-ZIP hay Win Zip
B3 : Chạy File “ tp7 “

B4 : Quá trình sẽ như thế này :






Click Next


Sau khi click Next thì quá trình diễn ra rất nhanh [ sẽ có một thư mục được mở lên để báo vị trí của shortcut ]
Vậy là xong phần cài Turbo Pascal , giờ đến Free Pascal
- Để đảm cho các bạn được cung cấp phiên bản mới nhất của Free Pascal nên mình sẽ hướng dẫn các bạn download trực tiếp từ trang chủ [ phần cài đặt khá đơn giản nên mình sẽ không hướng dẫn ]
B1 : Các bạn truy cập vào đường link : //www.freepascal.org
B2 : Click vào nút “ Download “

`

B3 : Nếu các bạn sử dụng win 32bit thì nhìn ở mục “ Intel/i386
Click vào “ Windows 32-bit “

Còn nếu các bạn sử dụng win 64bit thì nhìn ở mục “ AMD64/Intel 64/x86_64

Click vào Windows 64-bit
B4 : Cho dù các bạn click vào link của 32 hay 64 bit đi nữa thì đều dẫn tới một trang giao diện web giống nhau , như thế này :

Các bạn click vào dòng đầu tiên [ SourceForge ]
Nó sẽ dẫn tới một trang web như thế này :

Các bạn có thể chọn các phiên bản cũ hơn , hoặc click vào “ Download Lastest Version “ để download bản mới nhất
Sau khi download thì các bạn cứ tiến hành cài đặt như bình thường !!

VẬY LÀ XONG
CHÚC CÁC BẠN THÀNH CÔNG !!!

Chia sẻ
Chia sẻ

Top Những Web Tinh Giờ Tốt Nhất Cho Cuber

tháng 6 14, 2017
1. CS Timer Địa Chỉ : cstimer.net Không quá xa lạ với các cuber CS Timer là một web tính giờ khá phổ biến hiện nay Trang Web Này Có Những Ưu Và Nhược Điểm Như Sau : 1.Ưu Điểm Giao diện rõ ràng dễ nhìn Có thể thay đổi màu sắc của giao diện tùy theo ý muốn Nhiều tính năng Có thể kết nối với timer bên ngoài Lưu trữ Scamble đầy đủ Hỗ trợ tiếng việt 2.Nhược Điểm Bất tiện với một số thao tác bằng bàn phím [ VD : Xóa thành tích bằng phím delete ] Nhiều tính năng ẩn khó khai phá 2. QQ Timer Địa Chỉ qqtimer.net Cũng như CS Timer , QQ Timer cũng là một web tính giờ biến với các cuber không thua kém gì với CS Timer Trang Web Này Có Các Ưu Và Nhược Điểm Như Sau 1.Ưu Điểm Thiết kế đơn giản không cầu kì nhưng rất rõ ràng Nhiều tính năng Không bất tiện khi thao tác bằng bàn phím Có thể thay đổi màu sắc của giao diện theo ý muốn Ít tính năng ẩn Người dùng có
Chia sẻ
Đăng nhận xét
Đọc thêm

HƯỚNG DẪN BIẾN MỘT BÀI HÁT BÌNH THƯỜNG THÀNH 3D MUSIC

tháng 1 23, 2018
HƯỚNG DẪN BIẾN MỘT BÀI HÁT BÌNH THƯỜNG THÀNH 3D MUSIC 3D Music , có thể có một số bạn đã biết rồi cũng có thể có một số bạn chưa biết . 3D Music là loại nhạc mà khi nghe thì âm thanh không ở 2 loa mãi mà nó sẽ chuyển qua lại từ loa này sang loa kia , các bạn có thể nghe thử trong video dưới đấy : Như trong video thì âm thanh sẽ chuyển từ loa này sang loa kia . Vậy loại âm thanh đó được làm như thế nào ? Có khỏ để làm không ? Được làm bằng phần mềm gì ? Câu trả lời cho các bạn là loại âm thanh nầy được làm rất đơn giản và được làm bằng phần mềm Adobe Audition . Để làm được loại nhạc này các bạn chỉ cần sử dụng một hiệu ứng có sẵn của phần mềm Adobe Audition là được Video Hướng Dẫn Chi Tiết : CHÚC CÁC BẠN THÀNH CÔNG !!!
Chia sẻ
2 nhận xét
Đọc thêm

Hướng Dẫn Hiển Thị Con Trỏ Chuột Khi Quay Video Bằng Bandicam

tháng 5 31, 2017
Bandicam là một phần mềm quay màn hình không quá xa lạ đối với YouTuber chúng ta nhưng khi chúng ta vừa mới download phần mềm về thì sẽ mặc định là không hiển thị con trỏ chuột khi quay Thì đây là giải pháp cho các bạn CHÚC CÁC BẠN THÀNH CÔNG !!!
Chia sẻ
1 nhận xét
Đọc thêm

Bạn chọn Turbo pascal hay free pascal

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 [40.56 KB, 6 trang ]

Free Pascal: Yes, Turbo Pascal: No
Các bạn đã bao giờ nghe đến cái tên Free Pascal [FP] chưa? Nếu chưa thì tôi
xin giới thiệu một cách ngắn gọn: FP là một môi trường lập trình rất tuyệt vời
và mạnh mẽ, hoàn toàn tương thích Turbo Pascal [TP] và điều đáng chú ý
nhất là FP là được chọn làm môi trường chuẩn thay thế TP trong các kì thi
IOI. Vì sao vậy? Chúng ta hãy cùng tìm hiểu những điều thú vị của FP mà TP
không có để thấy câu trả lời nhé!!!
1. Bộ nhớ rộng rãi
Trong chúng ta, chắc có rất nhiều người biết về bài toán tìm dãy con chung
dài nhất. Bài toán phát biểu ngắn gọn như sau:
Cho 2 dãy A và B. Dãy A có các phần tử là a1, a2,…an, dãy B có các phần tử
là là b1, b2,…bn. Hãy tìm dãy C là dãy con của cả A và B và có nhiều phần tử
nhất.
Chẳng hạn, nếu dãy A là 5 3 2 1 4 và B là 3 2 5 4 1 thì C là dãy 3 2 4.
Đây là một bài toán quy hoạch động kinh điển và có công thức quy hoạch
động được thiết lập như sau:
Gọi L[i,j] là độ dài dãy con chung lớn nhất của dãy Ăi] gồm các phần tử a1,
a2,…ai và dãy B[j] có các phần tử là là b1, b2,…bj.
Thế thì:
L[0,j]=L[i,0]=0.
Nếu aij thì L[i,j]=L[i-1,j-1]+1.
Nếu ai ≠bj thì L[i,j]= max[L[i-1,j], L[i,j-1]].
Trường hợp 2 và 3 áp dụng với tất cả các chỉ số i từ 1 đến n và j từ 1 đến m.
Nếu bạn chưa tin vào tính đúng đắn của công thức thì tôi xin giải thích như
sau:
Trường hợp 1 hiển nhiên.
Với công thức ở trường hợp 2 và 3 ta thấy: nếu ai =bj thì ta phải chọn ngay
cặp phần tử chung đó, các phần tử còn lại của 2 dãy là a1, a2,…a i−1 và b1,
b2,…b j −1 có dãy con chung lớn nhất gồm độ dài L[i-1,j-1], do đó L[i,j]=L[i-
1,j-1] + 1. [Tư tưởng quy hoạch động thể hiện ở chỗ L[i,j] đạt max thì L[i-
1,j-1] cũng phải đạt max].


Còn nếu ai ≠bj thì ta có 2 lựa chọn: hoặc không xét phần tử ai và so dãy là
a1, a2,…ai-1 với dãy b1, b2,…bj để được dãy con chung dài nhất L[i-1,j] phần
tử; hoặc không xét phần tử bj và so dãy là a1, a2,…ai với dãy b1, b2,…bj-1
để được dãy con chung dài nhất L[i,j-1] phần tử. [Chú ý định nghĩa của L[i-
1,j] và L[i,j-1]]. Vì có 2 lựa chọn nên ta chọn hướng tốt hơn, do đó
L[i,j]=max[L[i-1,j] , L[i,j-1]].
Các bạn có thể băn khoăn là ở trường hợp 2 cũng có thể lựa chọn cả 2 tình
huống trên chứ? Thực chất không cần như vậy, vì dễ thấy L[i,j]≤ min[i,j] do
đó L[i-1,j-1] + 1 chắc chắn không nhỏ hơn cả L[i-1,j] và L[i,j-1].
Sau khi tính được xong toàn bộ L[i,j] thì ta sẽ được: dãy C có L[n,m] phần
tử, để xác định đó là các phần tử nào thì ta lần vết trên L theo 3 trường hợp
trên để tìm các cặp aij được chọn. Các bạn xem trong chương trình cài đặt cụ
thể dưới đây trên TP:
{$A+,B-,D+,E+,F-,G+,I+,L+,N+,O-,P-,Q+,R+,S+,T-,V+,X+}
program daycon;
const
inp = ’daycon.in0’;
out = ’daycon.out’;
max = 100;
type
mang1 = array[0..max] of integer;
mang2 = array[0..max] of mang1;
var
n,m,z : integer;
a,b,d : mang1;
L : mang2;
[*****************************************]
procedure nhap;
var
i : integer;

f : text;
begin
assign[f, inp];
reset[f];
readln[f, n, m];
for i := 1 to n do read[f,a[i]];
readln[f];
for i := 1 to m do read[f,b[i]];
close[f];
end;
[*****************************************]
procedure trace;
var
i,j : integer;
begin
i := n; j := m; z := L[n,m];
repeat
if L[i,j] = L[i-1,j-1] + 1 then begin
d[i] := 1;
i := i - 1; j := j - 1;
end
else
if L[i,j] = L[i-1,j] then
i := i - 1
else j := j - 1;
until [i=0] or [j=0]
end;
[*****************************************]
procedure qhd;
var

i,j : integer;
function max[a,b : integer]: integer;
begin
if a > b then max := a else max := b;
end;
begin
for i := 1 to n do begin
for j := 1 to m do
if a[i] = b[j] then
L[i,j] := L[i-1,j-1] + 1
else
L[i,j] := max[L[i-1,j],L[i,j-1]];
end;
end;
[*****************************************]
procedure xuly;
begin
qhd;
trace;
end;
[*****************************************]
procedure inkq;
var
f : text;
i : integer;
begin
assign[f, out];
rewrite[f];
writeln[f, z];
for i := 1 to n do

if d[i] = 1 then write[f,’ ’,a[i]];
close[f];
end;
[*****************************************]
begin
nhap;
xuly;
inkq;
end.
Thuật toán có thời gian thực thi cỡ O[n2]. Với n,m =100 thì chương trình
chạy trong chớp mắt. Vậy thì tại sao không thử giải với n=1000 [ai mà không
muốn chương trình của mình mạnh hơn]. Vậy ta sửa hằng số max trong
chương trình thành 1000. Và, TP báo lỗi "structure too large"!!! Tại sao lại
thế???
Câu trả lời là: TP là môi trường lập trình 16 bit trên HĐH DOS do đó nó có
nhiều hạn chế. Han chế thứ nhât là kích thước của biến và kiểu &l; 64KB,
trong đó có biến mảng và kiểu mảng. Đó là do dùng số 16 bit thì chỉ có thể
chỉ số hoá được 216 = 64K giá trị thôi. Khi ta khai báo max = 1000 thì mảng
L của ta có kích thước 1000x1000x2 [2 là kích thước kiểu
integer]=2.106>>64K nên TP báo lỗi "structure too large" [kiểu cấu trúc quá
lớn] là đúng rồi.
Vậy bây giờ thay vì khai báo mảng L là mảng 2 chiều, ta sẽ khai báo L thành
rất nhiều mảng nhỏ hơn. Bạn cứ thử thế mà xem. Nếu TP không báo lỗi
"structure too large" thì cũng báo lỗi là "too many varibles". Đó là do hạn chế
thứ 2 của TP: tổng kích thước các biến toàn cục [global] cũng ≤ 64KB . Bạn
có chia L thành bao nhiêu mảng con thì TP vẫn bắt tổng kích thước của chúng
≤ 64KB.
Vẫn còn giải pháp nữa: thay vì dùng mảng tĩnh thì dùng mảng động. Khai
báo L là mảng 1000 con trỏ, mỗi con trỏ trỏ đến một mảng 1000 phần tử.
[L:Array[1...max] of ^mang1]. May quá, TP không báo lỗi khi dịch. Nhưng

khi chạy thì ôi thôi, lỗi "Heap overflow" [tràn heap]. Nguyên nhân là hạn chế
của DOS: toàn bộ bộ nhớ DOS có thể sử dụng ≤ 640 KB. Mà các chương trình
hệ thống và IDE của TP cũng chiếm mất hơn 300KB rồi. Tức là chương trình
của bạn dù có tận dụng hết bộ nhó còn lại cũng chỉ được 300KB nữa thôi.
[Khi bạn nhấn F9 để dịch, TP báo xxxKB free memory, đó chính là phần heap
tối đa hệ thống có thể cấp phát cho các biến động đó].
Vẫn còn nhiều giải pháp có thể giải quyết: dùng 2 mảng một chiều tính lẫn
nhau và đánh dấu lần vết bằng bit; ghi ra file; dùng mảng răng lược… Nhưng
dù sao thì cũng chỉ là giải pháp tình thế, hơn nữa lại rất phức tạp. Giải pháp
tốt nhất là dùng một môi trường lập trình mạnh hơn. Và IOI đã chọn FP.
Tôi đem chương trình trên với khai báo max =1000 chạy trên FP và mọi
chuyện đều ổn, chẳng có lỗi nào xảy ra hết. Đối với FP, bộ nhớ không bị hạn
chế bởi con số 64KB nữa [free mà].
Điều đó có được là nhờ những đặc tính tuyệt vời của FP:
a. FP là môi trường lập trình 32 bit. Dùng một số 32 bit thì có thể chỉ số hoá
được 232 = 4G giá trị, vậy nên biến trong FP có thể có kích thước 4GB. Các
bạn chú ý: 4GB=4x1024MB. Trong khi đó máy tính chúng ta thường dùng
thường có chừng 128MB RAM. Mảng L kích thước ≤ 2MB thì nhằm nhò gì.
b. FP là môi trường lập trình chạy trên nền các HĐH 32 bit [Windows, Linux,
BeOS, OS/2… và cả DOS nữa. Nhưng đó là phiên bản DOS 32 bit mở rộng].
Đây cũng là điều quan trọng. Vì nếu cho FP chạy trên DOS 16 bit [nếu có
chạy được], thì với bộ nhớ chật hẹp 640KB, FP cũng phải bó tay không phát
huy được tài năng. Ngược lại do TP là 16 bit, nên có cho chạy trên Windows
32 bit, thì cũng chỉ phát huy được tài năng đến mức của 16 bit mà thôi. Chạy
trên môi trường 32 bit, ngoài RAM [đã rất nhiều], HĐH còn có có chế bộ nhớ
ảo [virtual memory] sử dụng một phần HĐ làm bộ nhớ tạm nên FP có thể
cung cấp cho bạn dung lượng nhớ có thể nói là thoải mái [free mà].
c. FP là tương thích hoàn toàn với TP. Đây cũng là một điều thú vị. Chương
trình ở phàn trên tôi viết trong TP, đem sang FP vẫn chạy ngon lành, chẳng
phải sửa đổi gì hết [thực ra thì có sửa giá trị max từ 100 thành 1000]. IDE

của FP thì giống hệt TP [tất nhiên có nhiều chức năng tiên tiến hơn, nhưng
những gì bạn làm được với TP đều làm được trên FP].
Tôi nghĩ vậy là quá đủ để chúng ta thay thế TP bằng FP. Nếu bạn còn băn
khoăn, hãy đợi các bài viết tiếp theo để tìm hiểu tiếp về những điều kì diệu
mà FP có còn TP thì không. Còn nếu bạn háo hức muốn dùng thử, hãy làm
theo chỉ dẫn cài đặt dưới đây.
2. Cài đặt và sử dụng FP
a. Tải bộ cài đặt
FP có rất nhiều phiên bản, cả các phiên bản đã sử dụng chính thức và phiên
bản còn đang phát triển. Theo tôi thì các bạn nên sử dụng các phiên bản
chính thức vì chúng ổn định hơn. [Tôi hiện đang dùng phiên bản 1.0.6].
Để cài đặt bạn vào website của ISM [//www.thnt.com.vn], hoặc nếu
thích có thể đến thẳng website của FP [//www.freepascal.org], vào mục
download và tải file zip chứa bộ cài. Chú ý là có nhiều phiên bản của FP cho
các hệ điều hành khác nhau nên bạn phải chú ý:
- Tải bộ cài các phiên bản chính thức. Các phiên bản chính thức có chữ số
cuối cùng là số chẵn [như bản của tôi là 1.0.6, có thể bây giờ có nhiều bản
mới hơn rồi].
- Tải bộ cài cho HĐH Windows và DOS. Bạn có thể nhận biết điều này qua
tên file zip. Như file của tôi là dosw32106full.zip, có nghĩa là bộ cài đầy đủ
cho HĐH Windows và DOS, phiên bản 1.0.6.
b. Unzip và Install
Sau khi đã tải được bộ cài [tất cả ở trong một file zip], bạn unzip file đó ra
một folder rồi chạy file Install.exe. Giao diện cài đặt hiện ra, yêu cầu bạn lựa
chọn thư mục cài đặt cho FP [mặc định là C:PP]. Và tiếp theo là một bảng lựa
chọn các cấu hình cài đặt. Theo tôi thì bạn nên chọn các cấu hình mặc định,
và đơn giản là nhấn Enter để bộ cài tự làm việc của mình.
c. Chạy và cấu hình IDE
Sau khi cài xong, toàn bộ IDE, chương trình dịch, tài liệu, ví dụ,… của FP
được copy vào thư mục bạn đã chọn khi cài đặt [mặc định là C:PP]. Có 2 bản

cho cả Windows và DOS [32bit]. Nếu chỉ dùng FP thay thế TP trong học tập
thì theo tôi bạn nên sử dụng bản cho DOS. Vì qua sử dụng tôi thấy IDE của
FP trên DOS hoạt động ổn định hơn IDE của FP trên Windows.
Để sử dụng IDE của FP trên DOS, bạn vào thư mục con bingo32v2 và chạy
file fp.exe. [Có thể sẽ cần nhấn Alt-Enter để chương trình chạy toàn màn
hình full screen. Bạn sẽ thấy ngạc nhiên, hoặc cũng chẳng ngạc nhiên lắm, vì
giao diện IDE của FP giống hệt TP. [Tôi thì thấy ân tượng hơn, nhất là hình
ảnh nền].
Đến đây thì mọi chuyện như trên TP thôi. Nhưng để thuận tiện hơn trong sử
dụng, bạn nên thiết lập một số thông số cấu hình như sau:
- Vào menu CompileTarget: chọn DOS [để nhấn Ctrl-F9 là chương trình của
bạn có thể chạy ngay lập tức như trong TP. Vì compiler ta dùng cũng đang
chạy trên DOS mà. Nhưng đây là DOS 32 bit đấy, không hạn chế như DOS
16 bit đâu].
- Vào menu OptionsMode: chọn Normal [để FP sẽ hỗ trợ chúng ta debug dễ
chịu nhất].
- Vào menu OptionsCompiler:
ở tab Syntax các bạn chỉ chọn các mục:
+ TP/BP compatibily: để tương thích với TP [sau này khi quen với FP rồi thì
không cần nữa, còn bây giờ thì chọn chức năng này cho dễ sử dụng].
+ Stop after first error: bình thường FP dịch sẽ thông báo một loạt lỗi [giống
C, Delphi…], nhưng ta quen với việc thông báo lỗi đầu tiên gặp của TP nên
chọn mục này cho thân thiện. Sau này có thể không cần nữa.
+ C-like operators: đây là một điều thú vị của FP [các bạn hãy đón đọc trong
kì sau nhé].
ở tab Code generaion các bạn chọn

Mục lục

Lịch sửSửa đổi

Những nỗ lực ban đầuSửa đổi

Phần lớn lịch sử của thiết kế ngôn ngữ máy tính trong những năm 1960 là ngôn ngữ ALGOL 60. ALGOL được phát triển trong những năm 1950 với mục tiêu rõ ràng để có thể mô tả rõ ràng các thuật toán. Nó bao gồm một số tính năng cho lập trình có cấu trúc vẫn còn phổ biến trong các ngôn ngữ cho đến ngày nay.

Ngay sau khi được giới thiệu, vào năm 1962, Wirth bắt đầu nghiên cứu luận án của mình với Helmut Weber về ngôn ngữ 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 các danh sách và kiểu động, cho phép nó được sử dụng trong các vai trò tương tự như Lisp. Ngôn ngữ được xuất bản vào năm 1965.

Vào thời gian này, một số vấn đề của ALGOL đã được xác định, đặc biệt là thiếu một hệ thống chuỗi tiêu chuẩn hóa. Nhóm được giao nhiệm vụ duy trì ngôn ngữ đã bắt đầu thực hiện ALGOL X để xác định các cải tiến, kêu gọi đệ trình. Wirth và Tony Hoare đã thêm chuỗi và làm mới một số cú pháp. Các nỗ lực của ALGOL X làm cho ngôn ngữ ngày càng phức tạp hơn ALGOL 68. Sự phức tạp của ngôn ngữ này dẫn đến khó khăn đáng kể trong việc tạo ra các trình biên dịch hiệu suất cao, và nó không được sử dụng rộng rãi trong ngành. Do đó, Wirth đã viết một trình biên dịch cho ngôn ngữ máy tính, được gọi là ALGOL W.

PascalSửa đổi

Pascal là thành quả bởi những nỗ lực về ALGOL W, với mục tiêu rõ ràng là tạo ra một ngôn ngữ có hiệu quả cả trong trình biên dịch và thời gian chạy, cho phép phát triển các chương trình có cấu trúc tốt và hữu ích 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 ngữ vỡ lòng trong các chương trình học đại cương.

Một trong những thành công ban đầu cho ngôn ngữ là việc giới thiệu UCSD Pascal, một phiên bản chạy trên một hệ điều hành tùy chỉnh có thể được chuyển sang các 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 rộng rãi. Điều này dẫn đến việc sử dụng Pascal trở thành ngôn ngữ cấp cao chính được sử dụng để phát triển trong Apple Lisa, và sau đó, Macintosh. Các bộ phận của hệ điều hành Macintosh ban đầu được dịch sang ngôn ngữ lắp ráp Motorola 68000 từ các nguồn Pascal.

Hệ thống sắp xếp chữ TeX của Donald E. Knuth được viết bằng WEB, hệ thống lập trình biết chữ gốc, dựa trên DEC PDP-10 Pascal, trong khi các ứ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 ngữ lập trình hệ thống cho các hệ điều hành của nó bắt đầu 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ừ các dự án nghiên cứu tới các trò chơi máy tính cá nhân và các hệ thống nhúng. Các trình biên dịch Pascal mới tồn tại được sử dụng rộng rãi.

Object Pascal?Sửa đổi

Trong quá trình làm việc tại Lisa, Larry Tesler bắt đầu thảo luận với Wirth về ý tưởng thêm các phần mở rộng hướng đối tượng vào ngôn ngữ. Điều này dẫn đến việc Clascal được giới thiệu vào năm 1983. Khi chương trình Lisa đã bị mất dần chỗ đứng và được thay thế 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 giới thiệu 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 ngữ phát triển chính của Apple vào đầu những năm 1990.

Các phần mở rộng Object Pascal sau đó được bổ sung vào Turbo Pascal, và qua nhiều năm đã trở thành hệ thống Delphi cho Microsoft Windows. Delphi vẫn được sử dụng để phát triển các ứng dụng Windows, nhưng cũng có khả năng 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ổ biến với người dùng Linux vì nó cũng cung cấp viết một lần, biên dịch bất cứ nơi nào. CodeTyphon là một bản phân phối Lazarus với nhiều gói được cài đặt sẵn và các trình biên dịch đa nền tảng.

Video liên quan

Bài Viết Liên Quan

Chủ Đề