반응형
C++는 1979년에 Bjarne Stroustrup에 의해 개발되기 시작한 프로그래밍 언어로, C 언어를 기반으로 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 기능을 추가하여 만들어졌습니다. C++의 역사는 다음과 같이 요약할 수 있습니다:
1. C++의 탄생 배경 (1979년)
- Bjarne Stroustrup은 벨 연구소(Bell Labs)에서 C 언어의 성능과 유연성을 유지하면서, Simula라는 언어의 객체 지향 개념을 도입하려는 목표로 작업을 시작했습니다.
- 초기에는 "C with Classes"라는 이름으로 불렸으며, 객체 지향 프로그래밍을 지원하는 클래스를 C에 추가하는 방식으로 개발되었습니다.
2. 초기 개발 단계 (1983년, C++로 명명)
- 1983년에 "C with Classes"는 공식적으로 **C++**로 명명되었습니다.
- ++는 C에서 사용되는 증감 연산자를 차용하여 "C보다 더 발전된 언어"라는 의미를 내포하고 있습니다.
- 이 시기에는 클래스, 기본적인 상속, 기본 함수 등 객체 지향 프로그래밍의 기초적인 요소가 추가되었습니다.
3. 표준화 전의 발전 (1985~1998년)
- 1985년: 첫 번째 C++ 언어 표준서인 *"The C++ Programming Language"*가 출간되었습니다.
- 1989년: 함수 오버로딩, 참조 변수, 가상 함수 등과 같은 중요한 기능들이 추가되었습니다.
- 1990년대 초반: 템플릿(Templates), 예외 처리(Exception Handling), 표준 템플릿 라이브러리(STL)가 도입되어 C++의 기능이 크게 확장되었습니다.
4. ISO 표준화 (1998년, C++98)
- 1998년: C++는 ISO(국제 표준화 기구)에 의해 공식적으로 표준화(C++98)되었습니다.
- STL(표준 템플릿 라이브러리) 도입.
- 객체 지향뿐만 아니라 제네릭 프로그래밍(Generic Programming)과 절차적 프로그래밍을 조화롭게 지원하는 언어로 자리 잡았습니다.
5. 현대 C++의 도래 (2011년 이후)
- C++11 (2011년):
- 스마트 포인터, 람다 표현식, auto 키워드, nullptr, 범위 기반 for 루프 등 현대적인 기능들이 추가되었습니다.
- 성능과 코드 가독성을 개선하는 데 중점을 두었습니다.
- C++14 (2014년):
- C++11의 기능을 다듬고 개선.
- 사용자 정의 리터럴과 일반화된 람다 등이 도입되었습니다.
- C++17 (2017년):
- 구조적 바인딩, std::optional, std::variant, 병렬 알고리즘 등이 추가되었습니다.
- 생산성을 높이고 코드를 간결하게 작성할 수 있도록 개선되었습니다.
- C++20 (2020년):
- 코루틴(Coroutines), 개념(Concepts), 모듈(Modules), 범위(Ranges) 등 C++의 가장 큰 업데이트 중 하나로 평가받습니다.
- 더 강력한 추상화 및 모듈화를 지원.
6. 현재와 미래
- C++23: 최신 표준으로, 유용한 추가 기능 및 라이브러리 개선이 포함되었습니다.
- C++는 현재까지도 성능과 유연성 덕분에 시스템 프로그래밍, 게임 개발, 임베디드 시스템, 금융 등 다양한 분야에서 널리 사용되고 있습니다.
C++의 발전은 성능, 유연성, 확장성을 유지하면서도 프로그래머의 생산성을 높이는 방향으로 이어져 왔습니다. 앞으로도 C++은 표준화를 통해 지속적으로 진화할 것입니다. 😊
C언어의 역사
https://gonyzany.tistory.com/731
반응형
'C_C++' 카테고리의 다른 글
정수 1을 저장할 때, int 형식이 가장 좋은 이유 (0) | 2025.01.17 |
---|---|
C언어 특징 Features of C language (0) | 2025.01.15 |
C언어의 역사 History of the C language (0) | 2025.01.08 |
C++, 큐 (Queue)구현하기 - 연결 리스트, 배열 이용 (0) | 2024.12.10 |
C++, 클래스 스택 구현하기 stack (0) | 2024.11.27 |