Post

01. C Language(Intro)

01. C Language(Intro)

[toc]

Introduction to C Language

Who are you!? C Language!

How was it made?

  • 1960년대에 개발된 운영체제들은 하드웨어에 종속적인 언어로 제작되었다.
  • 하드웨어가 변경되면 운영체제도 많은 부분을 다시 개발해야 했기 때문에 매우 비효율적이었다.
  • 이를 해결하기 위해 벨 연구소의 데니스 리치(Dennis Ritchie)켄 톰슨(Ken Thompson)은 새로운 운영체제를 개발하기 시작했다.
  • 1970년, 켄 톰슨은 B 언어를 만들었으나, 여전히 하드웨어 독립적인 OS 개발에는 한계가 있었다.
  • 그래서 1972년, 두 사람은 C 언어를 공동 개발하게 되었다. 이 언어는 UNIX 운영체제 개발에 사용되었으며, 이후 폭넓게 확산되었다.

주요 특징 (Characteristics)

1. 구조화된 언어

  • 이전 언어들은 순차적인 나열 방식이었기 때문에 코드 재사용이 어렵고 유지 보수가 어려웠다.
  • C 언어는 구조화 프로그래밍을 도입하여 명령을 논리적인 블록 단위로 그룹화할 수 있게 했다.
  • 이를 통해 유지 보수가 용이하고, 코드 재사용이 쉬워졌다.

2. 이식성 (Portability)

  • C 언어로 작성된 프로그램은 거의 수정 없이 다른 운영체제나 하드웨어에서 실행될 수 있다.
  • 이는 런타임 라이브러리(Runtime Library) 덕분이다.
  • 라이브러리는 플랫폼마다 다르게 제공되지만, 사용자 코드에는 영향을 주지 않도록 설계되어 있어 높은 이식성을 제공한다.
  • 즉, 하드웨어가 바뀌어도 소스코드 수정 없이 작동 가능한 경우가 많다.

3. 확장성

  • 자주 사용하는 핵심 문법만을 내장하고, 나머지는 사용자가 직접 정의할 수 있도록 했다.
  • 이로 인해 표현의 자유도가 높고, 다양한 프로그래밍 스타일을 수용할 수 있다.
  • 초보자에게는 어려울 수 있지만, 익숙해지면 가장 유연하고 강력한 언어 중 하나로 평가받는다.

4. 생산성

  • 생산성은 단순한 개발 속도뿐 아니라, 품질 있는 결과물 도달까지의 전체 과정을 포함해 측정해야 한다.
  • C 언어 개발자는 직접 함수 및 명령 그룹 등 개발 인프라를 구성하며, 숙련도에 따라 생산성이 급격히 증가할 수 있다.
  • 경험이 쌓일수록 개인 개발 환경이 확장되어 효율적인 개발이 가능하다.

📌 요약
C 언어는 하드웨어에 독립적인 운영체제를 만들기 위한 필요에 의해 탄생했고, 구조화, 이식성, 확장성, 생산성 측면에서 강력한 장점을 지닌 범용 언어이다. 이후 많은 현대 프로그래밍 언어의 기반이 되었으며, 오늘날에도 시스템 프로그래밍과 임베디드 분야 등에서 널리 사용되고 있다.


End