C언어는 4가지 특징을 가지고 있습니다. 이 4가지 특징은 구조화된 언어, 이식성, 확장성, 생산성 등이 있습니다.

1) C언어는 구조화된 언어이다

 

C 언어 이전의 프로그래밍 언어들은 작업 단위가 구분되지 않고 단순히 나열된 형식이었습니다. 자신이 이전에 작성한 프로그램과 비슷한 기능의 새로운 프로그램을 만들 때에도 기존에 작업한 내용을 재사용하기 힘들었습니다. 그리하여 프로그램을 유지, 보수를 하는데 많은 어려움이 있었습니다.

하지만 C언어는 일정한 단위로 명령들을 그룹으로 묶는 방법을 제공하며, C 언어로 만든 프로그램은 작업 단위가 명확하게 구분되어 유지 보수가 편리하고, 기존 프로그램에서 자신이 원하는 작업을 분리하기도 쉬워서 새로운 프로그램을 개발할 때 재사용하기에도 좋습니다.

2) C언어는 이식성이 높다

 

C 언어 이식성(Portability)이 높다는 말은 C 언어로 만든 프로그램을 거의 수정하지 않고 다른 하드웨어 또는 운영체제로가져갔을 때도 잘 동작한다는 뜻입니다. 이를 위해 하드웨어에 종속적일 수 있는 부분은 C 언어에서 분리해 런타임 라이브러리(Runtime Library)라는 개념으로 제공하고 있습니다.

그리고 이렇게 외부에서 구현한 것들을 C 언어가 가져다 사용할 수 있게 만들었습니다. 이 런타임 라이브러리는 각 하드웨어 또는 운영체제별로 만들어졌기 때문에 사용자가 작성한 C 언어 프로그램에는 영향을 미치지 않습니다. 즉 하드웨어에 변화가 생기더라도 C 언어 문법이 영향을 받지 않도록 C 언어를 디자인한 것입니다.

4) C언어는 확장성이 좋고, 표현법이 다양해서  자기만의 표현법으로 개발이 가능하다

 

C 언어는 사용할 확률이 높은 문법만 최소한으로 유지하고 사용 빈도가 낮은 문법은 사용자들이 스스로 구현하기 때문에 언어의 기능을 확장할 수 있습니다. 따라서 C언어는 다른 언어에 비해 표현법이 더 많고, 개발자가 개발 상황에 따라 선택할 수 있는 문법구조나 표현법이 다양하여 자율성이 높습니다. 그래서 상대적으로 더 어렵게 느껴질 수도 있습니다. 하지만 반대로 다양한 표현법을 익히고 나면 다른 언어에서 사용할 수 없는 강력한 표현을 사용할 수 있습니다.

4) C언어는 생산성이 높다

 

일부 초보 프로그래머들은 다른 고급 언어에 비해 C 언어의 생산성이 떨어진다고 말합니다. 하지만 초보자 입장에서 봤을 때 제품을 쉽게 개발할 수 있는 언어가 생산성이 높다고 판단할 수 있을 것입니다. 하지만 이는 생산성에 대해 오해하고 있는 것입니다. 생산성의 높고 낮음은 단순히 제품 개발 시간만 계산하여 따질 것이 아니라, 제품을 완성한 후 고객이 만족하고 문제가 없는 상태가 되었을 때까지의 시간도 계산에 넣어야 합니다.

C언어를 사용하는 프로그래머들은 스스로 개발 인프라(명령 그룹, 함수)를 구축하기 때문에 경력이 쌓일수록 인프라가 다양해져서 프로그램 개발 속도가 빨라집니다. 그뿐만이 아니라 사용자의 여러 가지 요구에 대해 스스로 대처할 수 있어서 프로그램의 완성도와 만족도가 더 높을 수밖에 없습니다.

 


※ 오늘은 C언어 프로그래밍에서 'C언어의 특징'에 대하여 알아보았습니다.

 

이 포스트는 학부에서 제공하는 기본적인 컴퓨터 공학 강의와 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 C 언어 프로그래밍 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.

 

+ Recent posts