Ngôn ngữ lập trình C là gì? | VietnamWorks InTECH

Lập trình C là gì?

C là một ngôn ngữ lập trình đa năng (general purpose) cực phổ biến, đơn giản và linh hoạt. Nó là ngôn ngữ lập trình có cấu trúc, độc lập máy (machine-independent), được sử dụng rộng rãi đa dạng ở các ứng dụng.

C là ngôn ngữ cơ bản để viết mọi thứ từ hệ điều hành (Windows và nhiều hệ điều hành khác) đến các chương trình phức tạp như cơ sở dữ liệu Oracle, Git, trình thông dịch Python…

‘C’ cũng thường được gọi là “ngôn ngữ lập trình của chúa” bởi nó là cơ sở của lập trình. Nếu bạn hiểu ‘C’, bạn sẽ dễ dàng nắm bắt kiến ​​thức về các ngôn ngữ lập trình khác có concept của ‘C’

Bạn phải có kiến ​​thức cơ bản về cơ chế bộ nhớ máy tính vì nó là một khía cạnh quan trọng ngôn ngữ lập trình C.

 

 

IEEE-10 ngôn ngữ lập trình hàng đầu tốt nhất năm 2018

Lịch sử ngôn ngữ C

‘ALGOL’ – cha đẻ của các ngôn ngữ lập trình – được giới thiệu lần đầu tiên vào năm 1960 và rất phổ biển ở Châu Âu. ‘ALGOL’ đã giới thiệu concept về lập trình có cấu trúc cho cộng đồng lập trình viên. Năm 1967, một ngôn ngữ lập trình máy tính mới được công bố có tên là ‘BCPL’, viết tắt của Ngôn ngữ Lập trình Kết hợp Cơ bản (Basic Combined Programming Language). BCPL được thiết kế và phát triển bởi Martin Richards và được chuyên dùng để viết phần mềm hệ thống. Ba năm sau, vào năm 1970, một ngôn ngữ lập trình mới có tên là ‘B’ đã được Ken Thompson giới thiệu, nó chứa nhiều tính năng của ‘BCPL.’ Ngôn ngữ lập trình này được tạo ra bằng hệ điều hành UNIX tại Phòng thí nghiệm AT&T và Bell (AT&T and Bell Labboratories). Cả ‘BCPL’ và ‘B’ đều là ngôn ngữ lập trình hệ thống.

 

Năm 1972, nhà khoa học máy tính vĩ đại Dennis Ritchie đã tạo ra một ngôn ngữ lập trình mới gọi là ‘C’ tại Phòng thí nghiệm Bell. C được tạo ra từ các ngôn ngữ lập trình ‘ALGOL’, ‘BCPL’ và ‘B’, nó chứa tất cả các tính năng của các ngôn ngữ này và nhiều khái niệm bổ sung khác, do đó C rất độc đáo.

C là một ngôn ngữ lập trình mạnh mẽ được kết hợp chặt chẽ với hệ điều hành UNIX, hầu hết hệ điều hành UNIX đều được code bằng ‘C’. Ban đầu lập trình ‘C’ bị giới hạn trong hệ điều hành UNIX, nhưng khi nổi tiếng thế giới, nó được thương mại hóa, nhiều trình biên dịch đã được phát hành cho các hệ thống đa nền tảng. Ngày nay ‘C’ chạy trên nhiều hệ điều hành và nền tảng phần cứng khác nhau, nhiều phiên bản khác nhau của ngôn ngữ đã được phát hành. Đôi khi, việc cập nhật phiên bản mới sẽ trở nên khó khăn bởi vì các hệ thống vẫn đang sử dụng bản cũ. Để đảm bảo ‘C’ giữ nguyên tiêu chuẩn, Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI) đã xác định một tiêu chuẩn thương mại cho ngôn ngữ ‘C’ vào năm 1989. Sau đó, nó được Tổ chức Tiêu chuẩn Quốc tế (ISO) phê duyệt vào năm 1990, ngôn ngữ lập trình ‘C’ còn được gọi là ‘ANSI C’.

 

Lịch sử của C

Các ngôn ngữ như C++/Java đều được phát triển từ ‘C’. Những ngôn ngữ này được sử dụng rộng rãi trong các công nghệ khác nhau. Do đó, ‘C’ là cơ sở cho nhiều ngôn ngữ khác hiện nay.

Ứng dụng của C?

  1. Ngôn ngữ ‘C’ được sử dụng rộng rãi trong các hệ thống nhúng.

  2. Được sử dụng để phát triển các ứng dụng hệ thống.

  3. Được sử dụng rộng rãi để phát triển các ứng dụng desktop.

  4. Hầu hết các ứng dụng của Adobe được phát triển bằng ngôn ngữ lập trình ‘C’.

  5. Nó được sử dụng để phát triển các trình duyệt và phần mở rộng của chúng. Chromium của Google được xây dựng bằng ngôn ngữ lập trình ‘C’.

  6. Được sử dụng để phát triển cơ sở dữ liệu. MySQL là phần mềm cơ sở dữ liệu phổ biến nhất được xây dựng bằng ‘C’.

  7. Được sử dụng để phát triển một hệ điều hành. Các hệ điều hành như OS X của Apple, Windows của Microsoft và Symbian đều được phát biển bởi ‘C’. Ngoài ra còn có desktop và hệ điều hành của điện thoại di động.

  8. Được sử dụng để sản xuất trình biên dịch.

  9. Được sử dụng rộng rãi trong các ứng dụng IOT.

Tại sao phải học ‘C’?

‘C’ là ngôn ngữ cơ sở cho nhiều ngôn ngữ lập trình, vậy nên, việc nắm vững kiến thức về C sẽ rất quan trọng khi bạn học các ngôn ngữ khác vì C có chung các concept như kiểu dữ liệu, toán tử, câu lệnh điều khiển… ‘C’ có thể được sử dụng rộng rãi trong các ứng dụng khác nhau, nó là một ngôn ngữ đơn giản và cung cấp khả năng thực thi nhanh chóng. Hơn nữa là có rất nhiều công việc dành cho lập trình viên ‘C’ trên thị trường hiện nay.

‘C’ là một ngôn ngữ lập trình có cấu trúc, chương trình C được chia thành nhiều mô-đun khác nhau, mỗi mô-đun có thể được viết riêng biệt và cùng nhau tạo thành một chương trình ‘C’ hợp nhất. Cấu trúc này sẽ giúp quá trình kiểm tra, bảo trì và debug diễn ra suôn sẻ.

‘C’ chứa 32 từ khóa, nhiều kiểu dữ liệu khác nhau và một tập hợp các hàm có sẵn mạnh mẽ giúp lập trình rất hiệu quả.

Một tính năng khác của lập trình ‘C’ là nó có thể tự mở rộng. Chương trình ‘C’ chưa nhiều hàm khác nhau, những hàm đó một phần của thư viện. Ta có thể thêm các tính năng và chức năng của mình vào thư viện và có thể truy cập, sử dụng chúng bất kỳ lúc nào. Tính năng này sẽ đơn giản hóa các việc lập trình phức tạp.

Nhiều trình biên dịch khác nhau có sẵn trên thị trường dùng để thực thi các chương trình, cũng được viết bằng ngôn ngữ này.

C là một ngôn ngữ có tính cơ động cao, các chương trình được viết bằng ngôn ngữ ‘C’ có thể chạy trên các máy khác nhau, rất cần thiết nếu ta sử dụng/thực thi code. 

‘C’ hoạt động thế nào?

C là một ngôn ngữ biên dịch (compiled language). Trình biên dịch là một công cụ đặc biệt để biên dịch chương trình và chuyển đổi nó thành tệp đối tượng mà máy có thể đọc được. Sau quá trình biên dịch, trình liên kết sẽ kết hợp các tệp đối tượng khác nhau và tạo một tệp thực thi duy nhất để chạy chương trình. Sơ đồ sau đây cho thấy việc thực thi chương trình ‘C’

 

Ngày nay, nhiều trình biên dịch khác nhau đã có mặt trên mạng, rất thuận tiện để sử dụng, chức năng của chúng là như nhau. Hầu hết các trình biên dịch sẽ cung cấp các tính năng cần thiết để thực thi cả hai chương trình ‘C’ và ‘C ++’.

Sau đây là danh sách các trình biên dịch phổ biến hiện có trên mạng:

  • Trình biên dịch Clang

  • Trình biên dịch MinGW (Minimalist GNU cho Windows)

  • Trình biên dịch ‘C’ lưu động.

  • Turbo C

Tóm lược

  • ‘C’ được phát triển bởi Dennis Ritchie vào năm 1972.

  • Là một ngôn ngữ mạnh mẽ.

  • Là một ngôn ngữ cấp thấp, gần với ngôn ngữ máy.

  • Được sử dụng rộng rãi trong lĩnh vực phát triển phần mềm.

  • Là một ngôn ngữ hướng cấu trúc và thủ tục (procedure and structure oriented language).

  • Có sự hỗ trợ đầy đủ của các hệ điều hành và nền tảng phần cứng khác nhau.

  • Nhiều trình biên dịch có sẵn để thực thi các chương trình được viết bằng ‘C’.

  • Trình biên dịch biên dịch tệp nguồn và tạo tệp đối tượng.

  • Trình liên kết liên kết tất cả các tệp đối tượng với nhau và tạo một tệp thực thi.

  • Nó có tính cơ động cao.

 

Tổng hợp việc làm IT – Software trên VietnamWorks
VietnamWorks InTECH
Theo Guru99