Chủ Nhật, 20 tháng 8, 2017

Lịch sử hình thành và phát triển ngôn ngữ lập trình C

Nguồn gốc của C liên kết chặt chẽ với sự phát triển của hệ điều hành Unix , ban đầu Unix được tạo ra bằng ngôn ngữ lắp ráp chạy trên máy tính PDP-7

bởi Dennis Ritchie 

và Ken Thompson

tại Bell Lab của tập đoàn viễn thông AT&T. Sau đó họ kết hợp nhiều ý tưởng từ các đồng nghiệp, họ chuyển hệ điều hành sang PDP-11. Phiên bản PDP-11 ban đầu của Unix được phát triển theo ngôn ngữ lắp ráp. Các nhà phát triển viết lại Unix sử dụng ngôn ngữ B là phiên bản đơn giản hóa ngôn ngữ BCPL (Basic Combined Programming Language) của Thompson. Tuy nhiên, ngôn ngữ B không có khả năng sử dụng một số tính năng của PDP-11, đặc biệt là tính địa chỉ byte, dẫn đến thiết kế ra ngôn ngữ C. Tên của C được chọn chỉ đơn giản như là sau khi B.
Dennis Ritchie và Ken Thompson tại Bell Lab
Nguồn gốc của C liên kết chặt chẽ với sự phát triển của hệ điều hành Unix , ban đầu Unix được tạo ra bằng ngôn ngữ lắp ráp chạy trên máy tính PDP-7 bởi Dennis Ritchie và Ken Thompson tại Bell Lab của tập đoàn viễn thông AT&T. Sau đó họ kết hợp nhiều ý tưởng từ các đồng nghiệp, họ chuyển hệ điều hành sang PDP-11. Phiên bản PDP-11 ban đầu của Unix được phát triển theo ngôn ngữ lắp ráp. Các nhà phát triển viết lại Unix sử dụng ngôn ngữ B là phiên bản đơn giản hóa ngôn ngữ BCPL (Basic Combined Programming Language) của Thompson. Tuy nhiên, ngôn ngữ B không có khả năng sử dụng một số tính năng của PDP-11, đặc biệt là tính địa chỉ byte, dẫn đến thiết kế ra ngôn ngữ C. Tên của C được chọn chỉ đơn giản như là sau khi B.
Sau đó ngôn ngữ C được thiết kế để chạy trên nhiều nền tảng khác nhau thông qua các trình biên dịch như: Trình biên dịch cho máy Honeywell 6000, trình biên dịch C trên máy IBM…

Vào năm 1973, ngôn ngữ C được bổ sung các cấu trúc nên rất mạnh mẽ. Năm 1977, Ritchie và Stephen C. Johnson đã thay đổi ngôn ngữ C để tạo ra sự sự linh động. Trình biên dịch C Portable của Johnson là cơ sở cho một số triển khai trên các nền tảng mới.
Trong suốt những năm của thập niên 1970, C trở nên phổ biến. Nhiều đại học và tổ chức bắt đầu tạo ra các ngôn ngữ C riêng cho các đề án của họ dẫn đến nhiều phiên bản C khác nhau và không được quy chuẩn. Năm 1983, ANSI (American National Standards Institute - Viện Tiêu chuẩn Quốc gia Hoa Kỳ) thành lập một hội đồng để hoàn tất đặc tả tiêu chuẩn cho C gọi là "ANSI C". Công việc này dẫn tới sự hình thành chuẩn "C89" trong năm 1989 cho đến nay là C/C++ 17. Một bộ phận của kết quả chuẩn này là một tập hợp các thư viện phần mềm gọi là thư viện chuẩn ANSI C đã ra đời.
Phiên bản viết lại sau này của chuẩn C đã thêm vào nhiều tập tin tiêu đề cần thiết cho thư viện. Hỗ trợ cho nhiều sự mở rộng khác nhau giữa các sư thiết lập của C. C cũng được dùng để lập trình hệ thống. Một chương trình hệ thống có ý nghĩa liên quan đến hệ điều hành của máy tính hay những tiện ích hỗ trợ nó. Hệ điều hành (OS), trình thông dịch (Interpreters), trình soạn thảo (Editors), chương trình Hợp Ngữ (Assembly) là các chương trình hệ thống. Hệ điều hành UNIX được phát triển dựa vào C. C đang được sử dụng rộng rãi bởi vì tính hiệu quả và linh hoạt. Trình biên dịch (compiler) C có sẵn cho hầu hết các máy tính.
C khi thực thi cũng rất nhanh như hợp ngữ (Assembly). Lập trình viên có thể tạo ra và bảo trì thư viện hàm mà chúng sẽ được tái sử dụng cho chương trình khác. Do đó, những dự án lớn có thể được quản lý dễ dàng mà tốn rất ít công sức.
Ngôn ngữ C lại được tiếp tục phát triển thành C++,  C#, C Object, Java, PHP… đây là những ngôn ngữ phổ biến để lập trình ứng dụng, lập trình hệ thống, web, internet, database hiện nay. Nhưng để hiểu được các ngôn ngữ này bạn cần biến cú pháp cơ bản của ngôn ngữ C. 

Related Posts

There is no other posts in this category.