C/C++ 

[Học C++] BÀI 1 - Giới thiệu Ngôn ngữ lập trình C/C++

0 Replies

Sự ra đời của C

Ngôn ngữ lập trình C được phát triển vào năm 1972 bởi Dennis Ritchie tại viện nghiên cứu Bell Telephone, chủ yếu là một ngôn ngữ lập trình hệ thống (ngôn ngữ để viết hệ điều hành). Mục tiêu chính của Ritchie là tạo ra một ngôn ngữ tối giản dễ biên dịch, cho phép truy cập hiệu quả vào bộ nhớ, tạo ra mã hiệu quả và tự chứa (không phụ thuộc vào các chương trình khác). Đối với một ngôn ngữ cấp cao, nó được thiết kế để đưa cho lập trình viên nhiều kiểm soát, đồng thời khuyến khích độc lập nền tảng (phần cứng và hệ điều hành) (nghĩa là mã không cần được viết lại cho mỗi nền tảng).

C cuối cùng đã trở nên hiệu quả và linh hoạt đến mức vào năm 1973, Ritchie và Ken Thompson đã viết lại hầu hết hệ điều hành Unix bằng C. Nhiều hệ điều hành trước đó được viết bằng ngôn ngữ hợp ngữ. Khác với hợp ngữ, tạo ra các chương trình chỉ chạy trên CPU cụ thể, C có tính di động tuyệt vời, cho phép Unix dễ dàng biên dịch lại trên nhiều loại máy tính khác nhau và tăng tốc quá trình áp dụng. C và Unix có số phận liên kết với nhau, và sự phổ biến của C một phần liên quan đến sự thành công của Unix làm hệ điều hành.

Năm 1978, Brian Kernighan và Dennis Ritchie đã xuất bản cuốn sách "Ngôn ngữ lập trình C". Cuốn sách này, thường được biết đến với tên K&R (theo tên họ của các tác giả), cung cấp một đặc tả không chính thức cho ngôn ngữ và trở thành một tiêu chuẩn thực tế. Khi cần độ di động tối đa, các lập trình viên sẽ tuân thủ các khuyến nghị trong K&R, vì hầu hết các trình biên dịch lúc đó được thực hiện theo tiêu chuẩn K&R.

Năm 1983, Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI) thành lập một ủy ban để thiết lập một tiêu chuẩn chính thức cho C. Năm 1989 (các ủy ban mất rất nhiều thời gian để hoàn thành), họ hoàn thành và phát hành tiêu chuẩn C89, thường được biết đến là ANSI C. Năm 1990, Tổ chức Tiêu chuẩn Hóa quốc tế (ISO) đã áp dụng ANSI C (với một số điều chỉnh nhỏ). Phiên bản này của C được biết đến với tên C90. Cuối cùng, các trình biên dịch trở nên tuân thủ ANSI C/C90, và các chương trình hướng tới độ di động tối đa được viết theo tiêu chuẩn này.

Năm 1999, ủy ban ANSI đã phát hành phiên bản mới của C gọi là C99. C99 áp dụng nhiều tính năng đã được tích hợp vào các trình biên dịch dưới dạng các phần mở rộng hoặc đã được thực hiện trong C++.


C++

C++ (đọc là "see plus plus") được phát triển bởi Bjarne Stroustrup tại Bell Labs như một phần mở rộng của ngôn ngữ C, bắt đầu từ năm 1979. C++ thêm nhiều tính năng mới vào ngôn ngữ C và có thể được coi là một tập hợp con của C, mặc dù điều này không hoàn toàn đúng (vì C99 đã giới thiệu một số tính năng không tồn tại trong C++). C++ nổi tiếng chủ yếu là do nó là một ngôn ngữ hướng đối tượng. Về đối tượng là gì và nó khác biệt với các phương pháp lập trình truyền thống như thế nào, chúng ta sẽ đề cập đến điều đó trong các chương sau.

C++ đã được chuẩn hóa vào năm 1998 bởi ủy ban ISO (điều này có nghĩa là ủy ban tiêu chuẩn ISO đã chấp nhận một tài liệu mô tả ngôn ngữ C++ nhằm giúp đảm bảo tất cả các trình biên dịch tuân thủ cùng một bộ tiêu chuẩn). Một phiên bản cập nhật nhỏ của ngôn ngữ đã được phát hành vào năm 2003 (được gọi là C++03).

Kể từ đó, đã có bốn phiên bản cập nhật chính của ngôn ngữ C++ (C++11, C++14, C++17 và C++20), mỗi phiên bản đều thêm các chức năng bổ sung. Cụ thể, C++11 đã thêm một số lượng lớn khả năng mới và được coi là phiên bản cơ sở mới của ngôn ngữ. Các phiên bản nâng cấp tiếp theo của ngôn ngữ dự kiến ​​sẽ được thực hiện khoảng mỗi ba năm, và bộ tính năng cho C++23 đã bắt đầu được hình thành.

Mỗi phiên bản chính thức mới của ngôn ngữ được gọi là một tiêu chuẩn ngôn ngữ (hoặc mô tả ngôn ngữ). Tiêu chuẩn được đặt theo tên năm phát hành. Ví dụ, không có C++15, vì không có tiêu chuẩn mới nào được phát hành vào năm 2015.


Triết lý của C/C++

Triết lý thiết kế cơ bản của C và C++ có thể tóm tắt trong câu "tin tưởng vào người lập trình" - điều này vừa tuyệt vời vừa nguy hiểm. C++ được thiết kế để cho phép người lập trình có một mức độ tự do cao để làm những gì họ muốn. Tuy nhiên, điều này cũng có nghĩa là ngôn ngữ thường không ngăn bạn khỏi việc thực hiện những việc không có ý nghĩa, bởi nó sẽ cho rằng bạn làm điều đó vì một lý do nào đó mà nó không hiểu. Có khá nhiều rủi ro mà các lập trình viên mới có thể gặp phải nếu không được cảnh giác. Đây là một trong những lý do chính vì sao việc biết những điều bạn không nên làm trong C/C++ gần như quan trọng ngang với việc biết những gì bạn nên làm.

(Biên tập: 5Phut.me)

TAG: giới thiệu ngôn ngữ C++, học C++ từ cơ bản đến nâng cao, tài liệu học C++, lập trình C++ cho người mới bắt đầu, C++ là gì, C++ là ngôn ngữ lập trình gì, C++ làm gì, C++ làm việc như thế nào, C++ hướng đối tượng, C++ và các ứng dụng của nó.



Thành viên đang xem chủ đề: 1 Khách