본문 바로가기
IT 이야기

C 언어의 탄생 및 특징

by 썬's 2023. 2. 22.

안녕하세요 보글리아입니다.

이전 시간에 프로그래밍 언어란 무엇인지 알아봤는데요 ㅎㅎ

오늘은 그 프로그래밍 언어 중 사용자가 많고

현대 프로그래밍 언어의 시초(?)라고 할 수 있는 C언어가 무엇인지 알아보겠습니다~~


C언어 탄생

1960년대 운영체제(OS)라는 것이 있었습니다, 일단

운영체제는 일종의 통역가?라고 보시면 됩니다. 사람과 컴퓨터 사이의 통역을 해주는 주체입니다.

여러분들이 컴퓨터나 노트북을 사시고 전원을 켜시면 검은 화면이 나옵니다. 

이는 그 기기에서 사용할 운영체제가 없기 때문입니다. 이 운영체제로는 윈도우 아시죠?? 이러한 윈도우나 리눅스 등의 운영체제를 설치하셔야 비로서 기기를 사용하실 수 있습니다. 운영체제 안에는 그 운영체제마다 개발된 프로그램이 있습니다. 예를 들어 칼리 리눅스라는 운영체제가 있는데 이 운영체제는 해킹을 목적으로 만들어진 운영체제라 그 내부 프로그램에서 해킹과 관련한 프로그램과 도구가 설치되어 있습니다.

 

추가적인 운영체제의 역할은 다음과 같습니다.

  • 하드웨어(컴퓨터를 구성하는 기계 장치로 컴퓨터 본체가 이에 해당한다) 제어
  • 컴퓨터 자원 관리
  • 응용 프로그램 수행 지
  • 사용자와 하드웨어 사이의 매개체

아무튼 다시 돌아와서 1960년대 운영체제들은 하드웨어 종속의 언어를 사용해서 개발했습니다.

따라서 이 당시에는 하드웨어가 바뀌면 운영체제 내 프로그램을 싹 다 갈아야 했습니다.

그렇기에 이러한 불편함을 해결하고자 많은 노력을 했습니다.

 

하단 이미지를 보시면 하드웨어 안에 운영체제가 있고 이 운영체제 내에는 많은 응용 프로그램이 설치되어 있습니다.

1960년 대 운영체제는 그 당시에 하드웨어에 맞게 개발됐기 때문에 하드웨어가 바뀌면 운영체제 내 프로그램을 싹 다 갈아야 했습니다.

이를 해결하기 위해 만들어진 게 C언어입니다. 

C언어는 하드웨어의 세밀한 부분까지 제어할 수 있어, 하드웨어와 독립된 형태로 프로그램을 개발할 수 있게 되었습니다. 

C언어를 사용해 유닉스라는 운영체제가 만들어졌고 이 유닉스 운영체제는 다양한 하드웨어에서 동작할 수 있습니다.

 


C언어의 특징

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

C언어가 프로그래밍 언어의 시초는 아닙니다. 이 이전에도 프로그래밍 언어가 있었습니다.

이전에 쓰인 프로그래밍 언어로 작성해 작업한 내용을 가진 프로그램이 있고, 만약 향후 새로운 프로그램을 만든다고 했을 때, 이 새로운 프로그램에는 이전에 만든 프로그램이 가진 작업한 내용을 재사용하기 힘들었습니다.

 

하지만 C언어는 기존 프로그램에서 자신이 작업한 내용을 필요한 부분만 일부 가져와

새로운 프로그램 개발에 재사용할 수 있는 구조화된 특징을 가집니다.

 

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

C언어로 프로그램을 만들면, 이 프로그램은 다른 하드웨어나 운영체제에서도 잘 작동합니다.

즉 하드웨어의 변화가 발생해도 C언어는 아무런 영향도 받지 않고 외부에서 가져다 사용할 수 있습니다.

 

3) C언어는 확장성과 표현법이 좋다

C언어는 다른 언어에 비해 많은 표현법이 있어 프로그래머가 개발 상황에 맞춰 문법구조나 표현법을 자유롭게 사용할 수 있습니다. 자율성이 높다는 말은 상대적으로 C언어가 어렵다고 생각하실 수 있지만, 다양한 표현법을 익히고 나면 다른 언어에서 사용할 수 없는 C언어 만의 강력한 표현을 사용할 수 있어, 입문자들이 배우기 좋습니다.

 

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

C언어는 다양한 명령 그룹이나 함수 등을 구축해 프로그램 개발 속도가 점차 빨라집니다. 물론 초기에는 다른 고급 언어들이 C언어보다 쉽게 프로그램을 개발할 수 있어 C언어가 생산성이 떨어져 보이겠지만, C언어는 경력이 쌓일수록 실력이 늘어 프로그램의 완성도와 만족도가 더 높아집니다.


오늘은 제가 현업에서 사용하는 C언어의 역사와 특징을 알아봤습니다.

C언어는 프로그래밍 언어의 기초이자 C언어를 배우면 다른 언어에 접근하기가 좋습니다.

쉽게 말해 미국 영어를 배운다면 영국식 영어나 호주식 영어를 배우기 더 쉬운 것과 같습니다.

그렇기에 여러분들이 프로그래밍 언어를 배우신다면 자신있게 C언어를 추천합니다.

긴 글 읽으시느라 고생 많으셨습니다~~

'IT 이야기' 카테고리의 다른 글

13가지의 구글링 검색 방법  (0) 2023.09.02
언리얼 엔진 VS 유니티 엔진  (0) 2023.03.28
프로그래밍 언어란?  (0) 2023.02.23
프로그래밍에서 오류와 버그란?  (0) 2023.02.07

댓글