본문 바로가기
C++ 프로그래밍

(2) C++ 역사 및 배경 (History and Background)

by 제임스-지식보고 2023. 6. 4.
728x90
반응형

C++는 1980년대 초에 Bjarne Stroustrup에 의해 만들어진 범용 프로그래밍 언어입니다.

 

객체 지향 프로그래밍(OOP)과 일반 프로그래밍을 가능하게 하는 추가적인 기능과 함께

C 언어의 확장으로 등장했습니다.

 

C++의 개발은 C의 효율성과 Simula의 고급 개념의 결합의 필요성에 큰 영향을 받았습니다.


[ Origins and Motivations (기원과 동기) ]

C++의 기원은 Bjarne Stroustrup이 캠브리지 대학에서 박사 논문을 연구하던 1970년대로 거슬러 올라갈 수 있습니다.

Stroustrup은 분산 시스템에 대한 연구를 위해 C 프로그래밍 언어를 사용하고 있었지만,

C가 대규모 소프트웨어 개발에 필요한 추상화도구가 부족하다는 것을 발견했습니다.

이러한 한계를 해결하기 위해 Stroustrup은 C 언어를 확장하는 아이디어를 탐구하도록 이끌었습니다.

Bjarne Stroustrup

C++를 만든 주된 동기 중 하나는 객체 지향 프로그래밍을 지원하는 것이었습니다.

객체 지향 프로그래밍을 통해 개발자는 코드를 데이터와 동작을 캡슐화하는 재사용 가능한 객체로 구성할 수 있습니다.

이 접근 방식은 코드 모듈화, 재사용 가능성 및 유지보수의 용이성을 촉진했습니다.

Stroustrup은 C의 효율성과 객체 지향 프로그래밍의 이점을 결합할 수 있는 가능성을 보았습니다.


 [ Influence of C and Simula (영향) ]

C++는 C 프로그래밍 언어와 Simula 프로그래밍 언어 모두에서 강한 영향을 받았습니다.


Bell LabsDennis Ritchie가 개발한 C는 효율성과 낮은 수준의 기능으로 인해 프로그래밍에 널리 사용되었습니다.


1960년대에 개발된 프로그래밍 언어인 Simula클래스와 객체의 개념을 도입했습니다.

Simula는 시뮬레이션을 위해 특별히 설계되었으며 클래스와 상속을 사용하는 실제 엔티티의 모델링을 강조했습니다.

Strustrup은 Simula의 객체 지향 기능에서 영감을 얻어 C++에 통합하여
개발자들이 클래스를 만들고 객체를 정의하며 상속을 활용할 수 있도록 했습니다.


C 언어의 효율성 +  Simula의 객체 지향 기능

시스템 프로그래밍과 객체 지향 개발 모두에 적합한 강력한 언어

 


[ Standardization and Versions (표준화 및 버전)]

언어의 일관성과 휴대성을 보장하기 위해 C++는 표준화 과정을 거쳤습니다.

국제 표준화 기구(ISO)와 미국 국립 표준 연구소(ANSI)는 C++ 언어의 표준을 제정하는 데 중요한 역할을 했습니다.


C++98 또는 C++03으로 알려진 C++의 첫 번째 표준화 버전은 각각 1998년과 2003년에 출판되었습니다.

이 버전은 언어의 특징과 구문을 공식화하여 보다 안정적이고 널리 채택되었습니다.

C++11, C++14, C++17, C++20과 같은 후속 버전은 언어에 새로운 기능, 향상된 기능 및 향상된 기능을 도입하여
기능을 확장하고 다양한 프로그래밍 요구를 해결했습니다.

 


[ Key Contributors and Influential Figures (주요 기여자) ]

Bjarne Stroustrup은 C++의 창시자로 널리 인정받고 있으며 C++의 개발과 홍보에 중요한 역할을 하고 있습니다.

Stroustrup의 기여와 통찰력은 언어를 형성하여 광범위한 응용 분야에서 인기 있는 선택이 되었습니다.


학계, 산업계, 개발자 커뮤니티의 전문가들로 구성된 C++ 표준 위원회는 언어의 발전과 표준화 과정을 안내하는 데 중요한 역할을 합니다.

이 위원회는 언어가 적절하고 효율적이며 현재의 프로그래밍 관행에 부합하도록 보장합니다.

프로그래밍 언어 이론가, 컴파일러 디자이너 및 소프트웨어 엔지니어를 포함한 수많은 다른 사람들도
C++의 개발과 발전에 기여했습니다.

그들의 집단적인 노력은 C++을 강력하고 널리 사용되는 프로그래밍 언어로 변화시켰습니다.


 

728x90
반응형