1972년에 벨 연구소(Bell Labs)의 데니스 리치가 만든 범용(general-purpose) 프로그래밍 언어. 원래 명칭은 그냥 'C'지만 보통 'C언어'라고 부른다. 세계적으로 많이 쓰이는 프로그래밍 언어 중 하나이다.
C언어는 다음과 같은 분야에서 사용되며, 일반 사용자의 눈에 보이지 않는 컴퓨터 산업의 기반이 되는 곳에서 주로 쓰인다.
- 운영 체제 및 디바이스 드라이버
- 마이크로컨트롤러
- 임베디드 시스템
- 암호학 라이브러리
- 프로그래밍 언어 인터프리터(CPython 등)
- 웹 서버(Apache 등)
- 데이터베이스(PostgreSQL 등)
2010년대부터는 데스크탑 애플리케이션보다 웹, 스마트폰 애플리케이션의 활용도가 높아져서, 하드웨어 컨트롤이나 성능이 중요한 분야가 아니면 C언어를 써야 할 이유가 거의 없다. 때문에 프로그래밍 입문용 언어의 자리도 해외 기준으로는 대부분 Java나 Python으로 대체되었다. 또한 데스크탑 애플리케이션도 HTML/CSS/JavaScript를 이용하는 Electron 프레임워크가 나오면서 예전보다 개발이 훨씬 쉬워졌다.
C언어로 짜여진 코드는 속도가 빠르고 바이너리 크기도 작아 속도가 중요한 임베디드 혹은 모바일 계열, 또는 시스템 프로그래밍 등에서 주로 쓰인다. Python등의 다른 언어들에 비해 기본으로 포함되는 크기도 작을 뿐더러 같은 알고리즘으로 짜도 결과물의 크기가 더 작은 경향이 있다.
누군가는 MCU가 10~20년전 보다 성능이 월등히 좋아지고 가격은 상승하지 않았고, 임베디드 개발자가 속도나 메모리 용량을 걱정할 필요가 없기 때문에 CPython으로 대체 될 수 있다고 한다.
하지만 컴퓨터의 Hardware 스펙이 좋아질때 마다, 컴퓨터의 성능을 최대한 활용하는 어플리케이션이 나왔다. MCU가 성능이 좋아졌다고 성능을 적당히 써서 개발해도 되지만, MCU의 최대 성능을 뽑아내야 하는 어플리케이션이 반드시 나오기 마련이다.
요즘 대학교에서 C를 가르치지 않을 뿐만 아니라 하드웨어 보다는 소프트웨어 쪽으로 커리큘럼 및 취업을 시키는 전자과, 제어과가 있다고 하는데, Hardware Engineer, Firmware Engineer가 되려면 C가 필수이다.
'잡학' 카테고리의 다른 글
엑셀(Excel) 단축키 (0) | 2025.03.20 |
---|---|
OTT 구독료 비교 (0) | 2025.03.20 |
종합소득세(양도소득세) - 과세표준별 세율 (0) | 2025.03.20 |
석유에서 만드는 플라스틱 (0) | 2025.03.20 |
화합물 반도체(SiC, GaN) (0) | 2025.03.20 |