ALGOL -> BCPL -> B 언어로 개조되는 과정에서 발생되었습니다.
1.발생한 동기
케네스톰슨이 벨연구소에서 MULTICS란 운영체제를 개조하여 유닉스를 만들던중 기계마다 이렇게 운영체계를 제작 하다시피 하여 만드는 애로사항을 해결코자 이식성이 좋고, 호환성이 좋은 언어로 제작하여야 겠다는 필요성을 느끼게 되었습니다. 이때 데니스리치가 B언어를 개조하여 1972년 C언어를 제작하고, 이로 유닉스를 다시만들게 됩니다.
2. C언어의 초기
그렇지만 데니스리치나 벨 연구소 어디에도 C언어의 사용자가 늘어나는데 불구하고 메뉴얼이나 지속적인 작업에 신경을 쓰지 않았고
따라서 초기엔 개발회사나 사용회사별로 C 언어가 혼란을 격게 됩니다.
이에 미국 ANSI협회에서 ANSI-C를 규정하게 되고 이때 부터 ANSI-C를 표준으로 하여각 회사들이 개성있게 제작을 시작합니다.
초기 도스시절에서 가장 인기가 좋았던 볼랜드사의 터보C와 Unix에서 주로 사용된 Gnu C, 마이크로 소프트사의 msc 등이 있었습니다.
이후 1982년 C++가 개발되면서 보다 더 눈부신 성장을 하고, 볼랜드의 BC++과 TC++이 MSC++을 압도하다가 90년대초 비주얼 툴의 개발이 가속되면서 시장에서 Visual C++ 이
볼랜드 C++ Builder등을 압도하고 절대강자가 되어 오늘날 까지 오고 있습니다.
이후 C언어는 JAVA, C#등 언어에 절대적인 영향을 끼치며 아직도 절대적인 자리를 차지 하고 있습니다.
사실 리눅스나 유닉스는 아직도 대부분이 C언어로 제작이 됩니다!
3. C언어의 역사
c 언어의 역사는 ALGOL 이라는 언어로 거슬러 올라갑니다. 알골의 정식 이름은 Algorithmic language 입니다.
(과학기술 계산용 프로그래밍 언어 가운데 한 가지로, 산법(算法)을 나타내기 위해 만들어진 컴퓨 터용 인공언어입니다.)
1958년에 이론과 개념이 등장한 후로, 1960년에 국제정보처리학회연합(IFIP)에서 유럽의 학자들을 중심으로 설계되었습니다.
알골 언어는 정연한 언어 이론을 바탕으로 설계된 최초의 언어로서 이후의 프로그래밍 언어 이론에 많은 영향을 끼쳤습니다.
파스칼(Pascal) 언어, 모듈러-투(Modu은 언어들에 영향을 끼쳐 알골계(ALGOL-like) 언어라는 용어도 생겼으나, 지나치게 이상적인 언어로 설계되었고 입출력 기능도 약하여 실무에 널리 적용되지 못하였고, 유럽에서만 일부 사용되거나 교육용으로 사용되었습니다.
ALGOL-60 을 기초로 영국의 캠브리지 대학과 런던 대학의 공동 연구로 CPL 언어가 개발되었으나 역시 실무를 구현하는 데 문제가 있었습니다.
계속하여 캠브리지 대학의 Martin Richards가 BCPL을 설계하였습니다.
그러나 여전히 미약한 기능으로 어셈블리 언어를 사용하는 프로그래머가 많았습니다.
B는 BCPL을 기초로 한 프로그래밍 언어로서 벨 연구소의 켄 톰슨(Ken Thompson)에 의하여 개발되어 1970년대의 C 언어 개발에 상당한 영향을 주었습니다.
B 언어의 명칭은 벨 연구소(B = Bell Labs) 에서 사용하는 언어리는 뜻으로 붙여지게 된 것입니다. 이 언어도 범용성에 한계가 있기 때문에 범용성을 보완하여 C 언가 출현하였습니다.
C 언어는 이전에 사용되던 B 언어를 계승한다는 의미에서 C 라는 이름을 가지게 되었습니다.
C 언어는 1972년 벨 연구소에서 데니스 리치(Dennis Ritchie)에 의해서 개발되었습니다.
이 언어는 우연히 개발된 것이 아니라 회사에서 연구원들이 편리하게 사용할 수 있는 UNIX 운영 체제를 제작하는데 사용한다는 특별한 목적을 가지고 개발된 것입니다.
즉, C 언어는 처음부터 컴퓨터 프로그래머들이 작업을 효율적으로 완수할 수 있도록 고안되었습니다.
C 언어는 회사의 연구원들에게 탁월한 기능과 융통성을 제공해 주었으므로 벨 연구소 뿐만 아니라 다른 여러 곳으로 빠르게 보급되기 시작하였습니다.
드디어 미국의 국가 표준협회(ANSI : American National Standard Institute)에서는 C에 대한 표준을 만들기 위해서 1983년 위원회를 결성했고, ANSI 표준 C(ANSI Standard C)라고 알려진 표준안을 발표하였습니다.
이 후 1987년 부터 ANSI 표준에 근거한 PC 용 C 언어가 개발되어 공급되기 시작하였습니다.
MS-C, Lattice-C, Turbo-C 등이 그 대표적인 상용 제품들이었습니다.
그리고 1990년에 기존의 언어 기능에 객체지향형 프로그래밍(Object Oriented Programming: OOP)이 가능한 클래스(Class)의 개념이 추가된 C++ 언어들이 공급되기 시작했습니다.
댓글 영역