1.2 C언어 소개 [DOC] [SMTS]
C 언어는 1972년 유닉스(UNIX) 라는 OS(Operating System, 운영체제)를 개발하기 위한 목적으로 고안된 프로그램 언어로서 벨 연구소의 Ken Tompson이 개발한 B 언어를 개선한 것이다. 같은 연구소에 근무하던 Dennis Ritchie가 DEC PDP-11 이라는 컴퓨터 시스템에서 실행되는 유닉스 운영체제를 바로 이 C 언어로 작성하였고 유닉스는 지속적으로 발전하여 지금까지도 서버(server)의 운영체제로 널리 쓰이고 있으며 리눅스(Linux)의 모체가 되었다.
그림 1.1.1 C언어의 창시자 古 데니스리치(Dennis Ritchie)
C 언어는 40년도 더 지난 오늘날까지도 지속적으로 개정되면서 많은 사람들에게 사용되어지고 있을 정도로 인기를 얻었다. C 언어의 역사나 발전 과정과 같은 세세한 부분은 굳이 소개할 필요가 없다고 생각되어 생략한다. C 언어의 특징은 다음과 같다.
사용자 중심의 고급 언어이다. 즉, 인간이 읽고 해독하기 용이하다.
그러면서도 하드웨어를 직접 제어할 수 있는 저급 언어의 특징을 갖는다.
문법이 간결하고 키워드가 다른 언어에 비해서 상대적으로 적다.
이식성이 좋다. 즉, 같은 코드로 여러 운영 체제에서 사용 가능하다. (C 언어가 사용되기 시작한 초창기에 이것은 매우 중요한 특성이었다.)
대부분의 경우 매우 효율적이며 고속으로 실행된다.
C++ 혹은 JAVA로 건너가기 위한 선행 언어이다.
여기서 저급 언어(low-level language)는 기계가 해독하기 용이하지만 사람이 읽고 해독하는데 매우 어려운 언어를 지칭한다. 대표적인 저급 언어로 기계어(machine language)와 어셈블리어(assembly language)가 있다. 반대로 고급 언어(high-level language)란 인간의 언어와 유사하여 사람이 읽고 해독하기 용이한 프로그래밍 언어라는 의미이며 기계어와 어셈블리어를 제외한 대부분의 프로그래밍 언어가 이 분류에 속한다.
이후에 기술이 발전하여 컴퓨터의 속도가 빨라짐에 따라 소프트웨어의 덩치도 커지게 되었고, C 언어로는 규모가 큰 프로그램을 개발할 때 프로그램의 코드를 관리하는데 어려움을 겪게 되었다. 이러한 점을 개선하기 위해서 C 언어와의 하위 호환성을 유지하면서 객체 지향 특성(object oriented programming) 및 편의 기능들을 추가하여 1983년 즈음에 Bell 연구소의 Bjarne Stroustrup 이 C++ 언어를 개발하였으며 java, javascript, C# 같은 많은 언어들이 C/C++ 의 문법을 기반으로 개발되고 널리 사용되고 있다.
[그림 1.1.2] 가장 많이 사용되는 프로그래밍 언어 (2015년, www.codeeval.com)
이 그림에서 보듯이 근래에는 C언어가 차지하는 비중은 크지 않으나 마이크로콘트롤러나 DSP를 사용한 임베디드 프로그래밍 분야나 성능이 중요한 시스템의 프로그래밍 분야는 C언어가 아직도 주력으로 사용되고 있다.
'프로그래밍언어.Lib > C,C++' 카테고리의 다른 글
1.8 atom 설치 / 첫 프로그램 실행하기 (2) | 2016.03.07 |
---|---|
1.7 windows에서 mingw 설치하기 (0) | 2016.03.07 |
1.1 프로그래밍 개요 (0) | 2016.03.04 |
(C언어) scanf() 함수 (0) | 2016.02.01 |
(C언어) 구조체의 포인터 (0) | 2016.02.01 |