BASIC
CONTROL STATEMENTS
DATA TYPE
FUNCTIONS
FILE I/O
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Lịch sử và đặc điểm của ngôn ngữ lập trình C

Trong bài này chúng ta sẽ cùng tìm hiểu lịch sử phát triển và những đặc tính của ngôn ngữ C, sức mạnh thực sự của C, để từ đó biết được tại sao các trường đại học lại sử dụng ngôn ngữ C đẻ giảng dạy, tạo nền tảng tư duy lập trình cho sinh viên.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

I. Lịch sử phát triển ngôn ngữ C

Ngôn ngữ lập trình C ra đời tại phòng thí nghiệm BELL của tập đoàn AT & T(American Telephone & Telegraph), Hoa Kỳ. Do Brian W.Kernighan và Dennis Ritchie phát triển vào đầu những năm 1970 và hoàn thành vào năm 1972.

Dennis Ritchie được biết đến như là cha đẻ của lập ngôn ngữ C

Nó được phát triển để khắc phục các vấn đề của các ngôn ngữ trước đây như B, BCPL, v.v.

Bài viết này được đăng tại [free tuts .net]

Ban đầu, ngôn ngữ C được phát triển để sử dụng trong hệ điều hành UNIX. Nó kế thừa nhiều tính năng của các ngôn ngữ trước đây như B và BCPL.

Dưới đây là các ngôn ngữ lập trình được phát triển trước ngôn ngữ C:

Language Year Developed By
Algol 1960 International Group
BCPL 1967 Martin Richard
B 1970 Ken Thompson
Traditional C 1972 Dennis Ritchie
K & R C 1978 Kernighan & Dennis Ritchie
ANSI C 1989 ANSI Committee
ANSI/ISO C 1990 ISO Committee
C99 1999 Standardization Committee

II. Đặc điểm của ngôn ngữ C

C là ngôn ngữ được sử dụng rộng rãi. Nó cung cấp nhiều tính năng được đưa ra dưới đây.

  • Đơn giản
  • Độc lập hoặc di động với máy
  • Ngôn ngữ lập trình trung cấp
  • Ngôn ngữ lập trình có cấu trúc
  • Thư viện phong phú
  • Quản lý bộ nhớ
  • Tốc độ nhanh
  • Con trỏ
  • Đệ quy
  • Mở rộng

1) Đơn giản

C là một ngôn ngữ đơn giản theo hướng cung cấp một cách tiếp cận có cấu trúc (chia vấn đề thành nhiều phần nhỏ), ngoài ra nó còn có tập hợp phong phú các hàm thư viện, kiểu dữ liệu, v.v...

2) Độc lập hoặc di động với máy

Không giống như hợp ngữ(assembly), các chương trình C có thể được thực thi trên các máy khác nhau với một số thay đổi cụ thể của máy. Do đó, C là một ngôn ngữ độc lập máy.

3) Ngôn ngữ lập trình trung cấp

Mặc dù, C được dự định sử dụng để lập trình cấp thấp, nó được dùng để phát triển các ứng dụng hệ thống như nhân hệ điều hành, trình điều khiển, v.v... tuy nhiên cũng hỗ trợ các tính năng của ngôn ngữ cấp cao. Đó là lý do tại sao nó được gọi là ngôn ngữ trung cấp.

4) Ngôn ngữ lập trình có cấu trúc

C là ngôn ngữ lập trình theo nghĩa chúng ta chia chương trình thành các phần bằng cách sử dụng hàm, vì thế nó dễ hiểu và dễ chỉnh sửa. Ngoài ra, vì sử dụng các hàm nên code C cũng có khả năng tái sử dụng.

5) Thư viện phong phú

C cung cấp nhiều thư viện có sẵn giúp việc phát triển ứng dụng trở nên nhanh chóng hơn.

6) Quản lý bộ nhớ

Nó hỗ trợ nhiều tính năng của Cấp phát bộ nhớ động. Trong ngôn ngữ C, chúng ta có thể giải phóng một bộ nhớ được cấp phát tại thời điểm bất kỳ bằng cách gọi hàm free().

7) Tốc độ nhanh

Thời gian biên dịch và thực thi của ngôn ngữ C là nhanh do các hàm sẵn có ít hơn vì thế đỡ tốn tài nguyên hơn.

8) Con trỏ

C cung cấp tính năng con trỏ, chúng ta có thể tương tác trực tiếp với bộ nhớ bằng việc sử dụng con trỏ và có thể sử dụng con trỏ cho bộ nhớ, cấu trúc, hàm, mảng,v.v...

9) Đệ quy

Trong C, chúng ta có thể gọi hàm ngay bên trong bản thân hàm đó. Nó cung cấp những mã có khả năng sử dụng lại cho mỗi hàm.

10) Mở rộng

Ngôn ngữ C có khả năng mở rộng vì nó dễ dàng nhận một tính năng mới

Tóm lại: Với những đặc tính nổi bật trên ngôn ngữ C là ngôn ngữ được sử dụng rộng rãi nhất trong các hệ điều hành và phát triển hệ thống nhúng hiện nay.

Cùng chuyên mục:

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

Top