Lúcđầu, Wirth đã phát triển ngôn ngữ này với các cải tiến như một phần các đề xuấtcho phiên bản ALGOL X, nhưng chúng không được chấp nhận nên ông đã pháttriển nó một cách riêng biệt và đ
Trang 1ĐỒ ÁN MÔN HỌC:
TÌM HIỂU QUÁ TRÌNH PHÁT TRIỂN CỦA HAI NGÔN NGỮ LẬP TRÌNH
PASCAL VÀ C
Sinh viên thực hiện:
18521144: Nguyễn Hữu Nghĩa
Tìm hiểu về quá trình phát triển của Pascal
18521204: Nguyễn Huỳnh Nhi
TÌm hiểu về quá trình phát triển của C
A Ngôn ngữ PASCAL và tiền đề cho sự ra đời của ngôn ngữ này
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àonă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ấutrú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ánhọc, triết gia và nhà vật lí người Pháp Blaise Pascal
Pascal được phát triển theo khuôn mẫu của ngôn ngữ lập trình ALGOL 60 Lúcđầu, Wirth đã phát triển ngôn ngữ này với các cải tiến như một phần các đề xuấtcho phiên bản ALGOL X, nhưng chúng không được chấp nhận nên ông đã pháttriển nó một cách riêng biệt và đặt cho “đứa con” của mình một cái tên mới, chính
là Pascal, và được phát hành vào năm 1970
B Những đặc điểm cơ bản của PASCAL và các phiên bản PASCAL
1 Những đặc điểm cơ bản
Pascal được Wirh tạo ra như một ngôn ngữ lập trình mang tính hiệu quả cao (cả vềtốc độ biên dịch, cách viết code và các chương trình được tạo ra) dựa trên lập trình
có cấu trúc
Trang 2Pascal 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ác sơ đồ cây 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ậphợp Để đảm bảo cho các điều kể trên, Pascal là một ngôn ngữ lập trình strongtyping, 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 có các chuyển đổi rõ ràng Các cơ chế chặt 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ủaWirth.
Pascal, giống như nhiều ngôn ngữ lập trình ngày nay, cho phép định nghĩa cáchàm hay chương trình con lồng nhau ở bất kỳ mức độ sâu nào Điều này cho phép
cú pháp của Pascal rất đơn giản và mạch lạc trong đó một chương trình hoàn chỉnh
là gần như giống hệt với một thủ tục hoặc hàm duy nhất
Pascal trở nên rất thành công vào những năm 1970, giai đoạn mà thị trường máytính nhỏ như máy tính cá nhân hay các hệ thống máy chủ có quy mô nhỏ hay trungbình đang phát triển Pascal được sử dụng rộng rãi như một ngôn ngữ giảng dạytrong các 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 các thiết lập sản xuất để viết các phần mềm thương mại trong thời giannày Tuy nhiên, Pascal dần bị thay thế bởi ngôn ngữ lập trình C vào cuối nhữngnăm 1980 và đầu những năm 1990 khi các hệ thống dựa trên UNIX trở nên phổbiến và đặc biệt là sự ra đời của C++
2 Những phiên bản của PASCAL
Một trong những thành công đầu tiên của Pascal chính là UCSD Pascal, ra mắtnăm 1977, một phiên bản chạy trên hệ điều hành tùy chỉnh có thể được chuyểnsang các nền tảng khác nhau Một trong những nền tảng quan trọng nhất đó làApple II, nền tảng mà UCSD Pascal được sử dụng rất rộng rãi Điều này giúpPascal là ngôn ngữ lập trình cấp cao chính được sử dụng để phát triển Apple Lisa– một phiên bản máy tính để bàn của Apple, và sau đó là hệ điều hành Macintosh.Các bộ phận của hệ điều hành này ban đầu được dịch sang ngôn ngữ asemblyMororola 68000 bởi các nguồn Pascal Phần mềm chỉnh sửa ảnh nổi tiếng nhất thếgiới là Adobe Photoshop cũng được viết trong hội thảo lập trình Macintosh Pascal.Một phiên bản cải tiến được gọi là Object Pascal được thiết kế cho lập trình hướngđối tượng được phát triển vào năm 1985, được sử dụng bởi Apple Computer vàBorland vào cuối những năm 1980 và sau đó phát triển thành ngôn ngữ Delphitrên nền tảng Microsoft Windows Các ứng dụng như Total Commander, Skype vàMacromedia Captivate cũng được viết bằng Delphi (Object Pascal) Apollo
Trang 3Computer đã sử dụng Pascal làm ngôn ngữ lập trình hệ thống cho các hệ điều hànhcủa mình bắt đầu từ năm 1980.
Các biến thể của Pascal cũng thường được sử dụng trong mọi lĩnh vực từ các dự
án nghiên cứu tới các trò chơi trên máy tính cá nhân và các hệ thống nhúng
C Hệ thống PASCAL – P
Để nhanh chóng phổ biến rộng rãi ngôn ngữ Pascal, 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” (có thể hiểu làmột loại mã trung gian giữa mã máy và mã nguồn), và một bộ giả lập cho loại máynày Bộ công cụ này sau đó được biết đến với cái tên hệ P-system (hệ thốngPascal-P)
Các trình biên dịch hệ thống P trong nhóm cơ bản tại Zurich được gọi là P1, Pascal-P2, Pascal-P3 và Pascal-P4 Pascal-P1 là phiên bản đầu tiên Sau đó nóđược thiết kế lại để nâng cao tính di động và được phát hành dưới tên Pascal-P2.Sau đó được tiếp tục cải tiến để trở thành Pascal-P3, với một mã trung gian giúpphiên bản này có khả năng tương thích ngược với Pascal-P2 và Pascal-P4 Trìnhbiên dịch Pascal-P4 là phiên bản cuối cùng trong nhóm, vẫn có thể chạy và biêndịch trên các hệ thống tương thích với Pascal gốc Tuy nhiên, nó chỉ chấp nhậnmột tập con của ngôn ngữ Pascal
Pascal-Pascal-P5, được tạo ra bên ngoài nhóm Zurich, sử dụng ngôn ngữ Pascal đầy đủ vàbao gồm khả năng tương thích ISO 7185
Kenneth Bowles đã sử dụng Pascal-P2 để tạo ra UCSD p-system Đây là một trong
ba hệ điều hành có sẵn khi phiên bản đầu tiên của IBM PC được ra mắt UCSDPascal đã sử dụng một mã trung gian dựa trên các giá trị byte, và do đó là mộttrong những trình biên dịch mã byte đầu tiên Pascal-P1 không thông 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 các 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ượngNguyên tử Úc (Australian Atomic Energy Commission); nó được gọi là "AAECPascal Compiler"
Vào đầu những năm 1980, Watcom Pascal đã được phát triển, cũng cho hệ thốngIBM 370
Vào những năm 1990, Pascal vẫn đang chạy trên các thiết bị VAX tại Đại họcGeorge Mason để dạy lập trình máy tính
Trang 4D OBJECT PASCAL – Hỗ trợ lập trình hướng đối tượng.
1 Lịch sử đầu tiên tại Apple
Object Pascal là một phiên bản cải tiến của Pascal hỗ trợ lập trình hướng đối tượngđược ra mắt vào năm 1986, được biết đến chủ yếu với vai trò là ngôn ngữ lập trìnhchính của Delphi
Object 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, là người tạo ra nên ngôn ngữ Pascal
Nó xuất phát từ một phiên bản hướng đối tượng của Pascal có tên gọi là Classcal,được cài sẵn trên máy tính Lisa Object Pascal cần thiết để hỗ trợ cho MacApp,một phần mở rộng của khung ứng dụng Macintosh mà bây giờ được gọi là thưviện lớp
Một phần mở rộng của Object Pascal cũng được triển khai trong Think PascalIDE IDE này bao gồm trình biên dịch và trình soạn thảo với khả năng kiểm tra và
tô sáng cú pháp, một trình gỡ lỗi mạnh mẽ và thư viện lớp Nhiều lập trình viênthích Think Pascal hơn là cách triển khai Object Pascal của Apple bởi vì ThinkPascal cung cấp sự tích hợp chặt chẽ với các công cụ của mình Tuy nhiên, quátrình phát triển dừng lại sau phiên bản 4.01 bởi vì công ty phát triển bị mua lại bởiSymantec Sau đó các lập trình viên dần rời khỏi dự án này
Apple cũng bỏ hỗ trợ cho Object Pascal khi họ chuyển từ chip Motorola 68K sangkiến trúc PowerPC của IBM vào năm 1994 MacApp 3.0, cho nền tảng này sau đó
đã được viết lại bằng C++
Đây là đoạn code mẫu cho chương trình “Hello World” được viết bằng ObjectPascal của Apple:
program ObjectPascalExample;
type THelloWorld = object procedure Put;
Trang 5HelloWorld.Put;
Dispose(HelloWorld);
end.
2 Thời đại của Borland và CodeGear
Borland quyết định cần phải có nhiều tính năng hướng đối tượng tinh vi và phứctạ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.) Borlandcũng gọi đây là Object Pascal trong phiên bản Delphi đầu tiên, nhưng đổi tênthành Delphi trong các phiên bản sau đó
Quá trình phát triển của Delphi được bắt đầu vào năm 1993 và phiên bản Delphi1.0 được chính thức ra mắt ở Hoa Kỳ vào ngày 14 tháng 2 năm 1995 Trong khi
mã nguồn sử dụng mô hình đối tượng của Turbo Pascal vẫn có thể được biên dịch,Delphi giới thiệu một cú pháp mới với từ khóa class để thay thế cho object, hàmtạo Create và một hàm hủy ảo Destroy (và ngược lại phải gọi các thủ tục New vàDispose procedures), thuộc tính, con trỏ hàm, và các thứ khác Những điều này lấycảm hứng từ bản thảo đang được soạn thảo của Tổ chức tiêu chuẩn hóa quốc tế(ISO) cho phần mở rộng lập trình hướng đối tượng, nhưng có nhiều khác biệt vớiphương ngữ của Turbo Pascal (ví dụ như yêu cầu trong bản thảo rằng tất cả cácphương thức phải ảo) đều bị bỏ qua
Ngôn ngữ Delphi tiếp tục phát triển qua nhiều năm để hỗ trợ cho các cấu trúc nhưmảng động, tổng quát và phương thức ảo
3 Các phiên bản Object Pascal
Borland sử dụng tên gọi Object Pascal cho ngôn ngữ lập trình trong các phiênbản đầu của Delphi, nhưng sau đó đổi tên thành ngôn ngữ lập trình Delphi Tuynhiên, các trình biên dịch mà tương thích với Object Pascal thường cố gắng đểtương thích với mã nguồn Delphi Vì Delphi được đăng kí nhãn hiệu, các trìnhbiên dịch tương thích vẫn tiếp tục sử dụng tên Object Pascal
Embarcadero Technologies, đã mua lại Delphi vào năm 2008, bán Delphi IDEdùng để biên dịch phương ngữ Delphi của Object Pascal sang Windows vàmacOS, iOS, Android và Web
NET hỗ trợ từ Delphi 8 đến Delphi 2005, Delphi 2006 và Delphi 2007, hiện tại
đã được thay thế bằng ngôn ngữ khác, Oxygene, vốn không tương thích ngượchoàn toàn
Ngôn ngữ lập trình Oxygene được phát triển bởi RemObjects Software nhắmđến Common Language Infrastructure, [[Java (công nghệ)]|Java] RuntimeEnvironment và khung Cocoa của Apple cho iOS và macOS
Trang 6 Dự án mã nguồn mở Free Pascal cho phép ngôn ngữ được biên dịch sang mộtloạt các hệ điều hành—bao gồm Linux (32-bit và 64-bit), FreeBSD, ClassicMac OS/macOS, Solaris, Win32, Win64 và Windows CE—cũng như cho cáckiến trúc phần cứng khác nhau Phiên bản đầu của Free Pascal cho iPhone SDK2.x được ra mắt vào ngày 17 tháng 1 năm 2009 Hiện tại cũng có hỗ trợ cho ISAARM.
Ngôn ngữ lập trình Smart Pascal nhắm đến JavaScript/ECMAScript và được sửdụng trong Smart Mobile Studio, được viết bởi Jon Lennart Aasenden và công
bố bởi Optimale Systemer (2012) Ngôn ngữ này đơn giản hóa tốt cho việc pháttriển HTML5 thông qua cách tiếp cận OOP và RAD (phát triển ứng dụngnhanh) Smart Pascal tích hợp chặt chẽ với các công nghệ được thiết lập nhưnode.js, Embarcadero DataSnap và Remobjects SDK để mang đến các ứngdụng web máy khách/máy chủ hiệu suất cao Nó cũng cho phép dễ dạo tạo ranhững thành phần trực quan và thư việc dễ sử dụng lại Phương ngữ SmartPascal bắt nguồn từ ngôn ngữ DWScript- được mở rộng để tích hợp tôt shownvới môi trường và thư viện JavaScript, như những phần "asm" vốn là thuầnJavaScript nhưng có khả năng truy cập đến những kí hiệu Pascal, hay những lớp
"ngoài" ("external") vốn được ánh xạ trực tiếp tới những lớp JavaScript nguyênmẫu Smart Pascal giới thiệu tính năng thừa kế thực sự, các lớp, lớp một phần,giao diện, một bảng phương thức ảo và nhiều cấu trúc nâng cap khác vốn khôngphải là một phần mặc định của JavaScript
MIDletPascal thì tập trung vào nền tảng Java byte-code Lưu ý rằng Free Pascalcũng nhắm đến máy ảo Java (JVM), với nhiều tính năng phong phú hơn
Ngôn ngữ lập trình Morfik Pascal được phát triển bởi Morfik và nhắm đếnnhững ứng dụng web có hỗ trợ Ajax trình biên dịch của Morfik được tính hợpvào trong IDE AppsBuilder của công ty và cho phép mã Object Pascal có thểđược sử dụng để hiện thực thực mã được thực thi trong cả trình duyệt và máychủ Nó sử dụng trình biên dịch Free Pascal để sinh ra tập tin nhị phân nguyênbản từ Object Pascal
Trình biên dịch mã nguồn mở GNU Pascal có sẵn từ front-end cho đến GNU bộsưu tập trình biên dịch, hiện thực tiêu chuẩn ISO 7185 Pascal, và "hầu hết" tiêuchuẩn ISO 10206 Extended Pascal
Ngoài ra còn có một trình biên dịch miễn phí Turbo51, dùng để sản xuất mã chocác chip Intel 8051
WDSibyl là một IDE và trình biên dịch mã nguồn mở tựa như Delphi dành choMicrosoft Windows và OS/2, và là một môi trường thương mại tương thích vớiBorland Pascal được phát hành bởi một công ty tên là Speedsoft mà sau nàyđược phát triển thành một môi trường RAD giống như Delphi với tên gọi Sybil
và sau đó được mã nguồn mở theo giấy phép GPL khi công ty đóng cửa Hiện
Trang 7tại Wolfgang Draxler (WD) đang duy trì phần mềm (Trình biên dịch được sửdụng nằm trong một tập tin DLL và không là mã nguồn mở).
E TURBO PASCAL – trình biên dịch và IDE nổi tiếng nhất cho
PASCAL.
1 Lịch sử hình thành
Turbo Pascal là một trình biên dịch và một môi trường phát triển tích hợp (IDE)cho ngôn ngữ Pascal chạy trên nền hệ điều hành MS-DOS và CP/M, được pháttriển bởi hãng Borland Cái tên Borland Pascal dành riêng cho phiên bản tốt hơncủa Turbo Pascal (với nhiều thư viện chuẩn và mã nguồn hơn) Borland Pascalcũng được dùng để chỉ trình biên dịch Pascal của hãng Borland
Turbo Pascal được xây dựng trên nền trình biên dịch Blue Label Pascal được viếtcho hệ điều hành NasSys của NasCom vào năm 1981 bởi Anders Hejlsberg Đây
là lần viết lại đầu tiên của trình biên dịch Compas Pascal cho hệ điều hành CP/M
và trình biên dịch Turbo Pascal cho hệ điều hành MS-DOS và CP/M Một phiênbản của Turbo Pascal đã được viết cho máy Apple Macintosh từ năm 1986 nhưngcuối cùng cũng bị bỏ dở năm 1992 Một phiên bản khác cũng được viết cho máyDEC Rainbow sau một vài lần phát hành
2 Các phiên bản
Turbo Pascal 4 sửa lại thư viện đồ họa của Turbo Pascal 3 và đưa vào khái niệmunit (đơn vị chương trình)
Turbo Pascal 5 có tính năng lập trình hướng đối tượng (OOP)
Turbo Pascal 6 có một số tính năng mới trong đó IDE được cải thiện, cho phép
mở nhiều cửa sổ soạn thảo cùng lúc (Multi-document interface) (MDI)
Turbo Pascal 7 có một số tính năng mới trong đó có cải thiện IDE trong đó có
hỗ trợ đổi màu mã lệnh (color-coding)
Các phiên bản mới của Turbo Pascal có kèm theo Turbo Vision, một GUIframework phát triển bởi Borland, dành cho C++ và Pascal
3 Turbo Pascal trong giáo dục
Borlan Pascal vẫn được giảng dạy ở một số quốc gia ở cấp trung học, và đại học
Nó được giảng dạy tại các trường cao đẳng và đại học ở Costa Rica, Thổ Nhĩ Kỳ,Đức, Liên bang Nga, Mỹ, Malta và tại các trường trung học ở Argentina, Bỉ,Bulgaria, Canada, Costa Rica, Croatia, Pháp, Ý, Jamaica, Libya, Moldova,Romania, Serbia, Tunisia, Ukraine, Cộng hòa Séc và Việt Nam (nay đã chuyểnsang Free Pascal) Đó là ngôn ngữ lập trình giáo dục được nhà nước phê duyệt chotất cả các trường trung học ở Nam Phi cho đến năm 2002 Ngày nay, nó tiếp tụcđược giảng dạy ở một số trường đại học trên thế giới như là một giới thiệu về lậptrình máy tính, thường tiến tới C hoặc Java hoặc cả hai
Trang 8Một số giảng viên thích sử dụng Borland Pascal 7 hoặc Turbo Pascal 5.5 vì tínhđơn giản của nó so với các IDE hiện đại hơn như Microsoft Visual Studio hoặcBorland JBuilder, vì vậy nó giới thiệu cho sinh viên không quen với việc tính toánvới các tác vụ thông thường như sử dụng phím tắt và bàn phím (TP 5.5 không có
hỗ trợ chuột), làm quen với các lệnh DOS (phần lớn giống như các dấu nhắc lệnhcủa Microsoft Windows) và cho phép chúng viết chương trình mà không tốn nhiềucông sức để môi trường hoạt động TP 5.5 có sẵn dưới dạng tải xuống miễn phí từBorland
Đây là chương trình Hello world kinh điển trong Turbo Pascal:
Chuẩn ISO 7185 được phát triển với mục đích là sự chọn lọc của ngôn ngữ 1974của Writh, được đề cập chi tiết trong cuốn "Hướng dẫn sử dụng và Báo cáo củaJensen và Wirth", bổ sung đáng kể nhất là "Các tham số mảng phù hợp" được coi
là mức 1 của tiêu chuẩn, mức 0 là Pascal không có mảng phù hợp
Trên các máy tính lớn mà Pascal xuất phát (mainframe và minicomputer), các tiêuchuẩn này thường được tuân theo Tuy vậy trên IBM-PC thì ngược lại Trên cácmáy tính IBM-PC, chuẩn của Turbo Pascal và Delphi của Borland có lượng ngườidùng nhiều nhất Do vậy, biết liệu một phiên bản riêng biệt tương ứng với ngôn gữPascal ban đầu, hay ngôn ngữ riêng của Borland là khá quan trọng
2 ISO/IEC 10206: Mở rộng Pascal 1990
Năm 1990, một chuẩn Pascal mở rộng đượ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
G PASCAL trong thời điểm hiện tại.
Pascal dù đã ra đời từ rất lâu, đến năm 2020 là vừa tròn 50 năm, nhưng nhữngđiểm mạnh của ngôn ngữ lập trình này vẫn được mọi người công nhận Với cấu
Trang 9trúc chương trình rõ ràng, dễ học, dễ đọc và các quy tắc lập trình chặt chẽ, Pascalvẫn đang được sử dụng rộng rãi như một “ngôn ngữ học đường” để dẫn nhữngbước chân đầu tiên đầy hứng thú cho các thế hệ trẻ trên con đường lập trình khicòn ngồi trên ghế cấp 2, cấp 3.
Nhưng, với sự ra đời, thay đổi, phát triển liên tục và mạnh mẽ của các ngôn ngữlập trình ngày nay Từ lâu, Pascal đã không còn phù hợp và được sử dụng nhiềutrong thực tế, ngoài việc dạy học nữa
Tuy nhiên, sau tất cả, Pascal vẫn là một trong những ngôn ngữ lập trình thànhcông nhất về mặt thương mại trong khoảng thời gian đó Cùng các ngôn ngữ lậptrình bấy giờ, Pascal đã đặt ra những nền móng đầu tiên, mang một cách nhìn mới,
dễ tiếp cận, thu ngắn khoảng cách giữa con người và những dòng code khô khan,cho rất nhiều thế hệ học sinh, sinh viên tại thời điểm đó và cho đến tận bây giờnhận ra nét đẹp của lập trình!
Trang 10II Quá trình phát triển của C
A Quá trình phát triển ban đầu của ngôn ngữ lập trình C
Phát triển khởi đầu của C diễn ra tại phòng thí nghiệm Bell của AT&T (Hoa Kỳ)giữ những năm 1969 và 1973, được thực hiện bởi Brian W.Kernighan và DennisRitchie
Được đặt tên là C vì có nhiều đặc tính rút ra từ ngôn ngữ B trước đó
Mục đích: tạo ra ngôn ngữ lập trình bậc cao có khả năng chuyển đổi từ hệ thốngnày sang hệ thống khác thay cho hợp ngữ trong lập trình hệ thống
1973, C được dùng viết nhân cho UNIX thay cho Assembly trước đó trong cácmáy PDP-11/20 Đây là lần đầu tiên mà nhân hệ điều hành được lắp thành bằngmột ngôn ngữ khác Assembly
B K&R C ra đời
Năm 1978 Ritchie và Brian Kernighan xuất bản lần đầu cuốn The C ProgramingLanguage Cuốn này được người lập trình biết đến như là K&R như một đặc tảkhông chính thức của C
K&R giới thiệu các chức năng sau:
+ Kiểu dữ liệu struct+ Kiểu dữ liệu long int+ Kiểu dữ liệu unsigned int+ Toán tử =+ được đổi thành +=, và tương tự cho các toán tử khác để tránh gâyhiểu nhầm cho bộ phân tích từ vựng của trình dịch C
K&R C được xem là phần cơ bản nhất của ngôn ngữ mà nó cần phải có cho mộttrình biên dịch C ngay cả sau khi ANSI C được giới thiệu.Vì không phải mọi trìnhbiên dịch đều hỗ trợ toàn bộ ANSI C và mã viết trong K&R C cũng là mã hợp lệtrong ANSI