-
🌱0단계: C란? "C언어의 역사와 특징"C언어/C 뿌리기 시리즈 2025. 4. 29. 19:34
안녕하세요 무야 입니다~ 포스팅에 앞서...
요즘 스타듀밸리라는 게임에 빠져있습니다... 씨를 뿌리고 수확물을 거두는... 근데 '씨 = C'? 뭔가뭔가라서..
C언어로 농사를 지으면 어떨까 생각이 들어 'C뿌리기' 시리즈를 만들면 재미있을 것 같아 시작하게 되었습니다!
풍성한 수확을 위하여!!!
첫 글은 C언어의 역사?에 대해 다루니 사실 스킵하셔도 될 것 같습니다.
그래도 읽어줘요..
C언어의 탄생 배경
C언어는 1972년 미국 벨 연구소의, 데니스 리치(Dennis Ritchie)에 의해 개발되었습니다. UNIX 운영체제를 개발하기 위한 도구로 만들어졌는데요, 그 전에 사용되던 B언어를 발전시켜서 만들었기 때문에 다음 알파벳인 'C'라는 이름이 붙었다고 합니다.
B -> NewB -> C
C언어는 처음부터 효율성과 유연성을 목표로 설계되었고 하드웨어에 가까운 저수준 접근이 가능한, 당시로서는 혁신적인 언어였습니다.
C언어의 주요 특징
1. 이식성
C언어의 가장 큰 특징 중 하나는 이식성인데요. 한번 작성된 코드를 다양한 컴퓨터 시스템(다른 하드웨어, OS조건)에서 약간의 수정만하면 재컴파일하여 실행할 수 있습니다. 추가적으로 말하자면 다른 언어들도 이식성이 있으나 C가 더 이식성이 더 높다.
2. 효율성
C언어는 컴파일 언어라 미리 기계어로 번역되어 있기 때문에 실행 속도와 반응속도가 빠릅니다.
기계와 컴퓨터는 이진수로 이루어진 기계어만 이해하는데 사람의 언어를 기계가 이해하기 위해서는 컴파일이라는 통역하는 과정이 필요합니다. C언어는 이미 컴파일(통역) 되어있기 때문에 기계가 바로바로 이해를 할 수 있고 파이썬과 같은 인터프리터 언어는 코드를 한줄 한줄 통역하고 실행하기 때문에 비교적 속도와 반응이 느린거죠!
3. 저수준 접근가능(가벼움)
C언어는 하드웨어를 직접 제어할 수 있어서 운영체제(OS)가 필요없고 메모리를 직접 다룰 수 있어 높은 메모리 효율을 가집니다.이러한 장점 때문에 전자가전제품 같은 임베디드 시스템에도 주로 사용됩니다. 그리고 운영체제, 컴파일러, 데이터베이스 관리 시스템 등 기초 시스템 개발에도 사용됩니다.
4. 절차지향 프로그래밍
C언어는 함수(function)를 중심으로 프로그램을 구성하는 절차지향적 특징을 가집니다. 데이터와 기능을 분리하여 순차적인 처리 흐름에 따라 프로그램을 작성합니다.
5. 포인터
C언어의 핵심인 포인터는 메모리 주소를 직접 저작할 있기 때문에 앞서 말했듯이 하드웨어 접근을 가능케 합니다. 또한, 단순히 메모리 주소를 저장하는 변수를 넘어 배열, 문자열, 구조체 등을 효율적으로 관리하고 함수 간에 데이터를 효과적으로 공유할 수 있게 합니다.
C언어가 중요한 이유
C언어는 많은 현대 프로그래밍 언어의 기초가 되었습니다. C++, Java, Python, JavaScript 등 현대의 많은 프로그래밍 언어들이 C언어의 영향을 받았습니다. 필요와 용도에 따라 조금씩 달라졌을 뿐이죠.
또한, C언어는 운영체제, 임베디드 시스템, 게임 개발 등 다양한 분야에서 여전히 널리 사용되고 있습니다. 그만큼 기초적이면서도 강력한 언어입니다. 전자레인지와 같은 간단한 기계에서도 쓰이는 언어가 복잡한 게임개발에도 쓰인다니 놀랍지 않나요?
아님말고..
왜 C언어부터 배워야 할까요?
C언어는 프로그래밍의 기본 원리를 이해하기에 좋은 언어입니다. 메모리 관리, 포인터 개념 등 컴퓨터가 어떻게 동작하는지 직접 체험할 수 있기 때문입니다. 많은 분들이 포인터에서 좌절하시는데 GPT나 클로드 선생님 붙잡고 싸우다 보면 마스터하실 수 있습니다. 하하
풍성한 수확을 위하여 다음 글에서는 개발 환경 설정에 대해 알아보겠습니다! 무바~
'C언어 > C 뿌리기 시리즈' 카테고리의 다른 글
🌱1단계 : 텃밭 만들기 "C언어 개발 환경 설정" (0) 2025.04.29