공부 기록/C

C언어 기초부터 다시 씹어먹기 - (1) 개요

bumm 2024. 6. 12. 20:57

내가 배우는 게 무엇인지 제대로 알지 못하고 배운다면 그건 하수다

 

1. 들어가기에 앞서

 

프로그래밍이란 무엇인가. 코딩이란 무엇인가. CRUD란 무엇인가.

나는 이런 질문에 대답하지 못한다. 

 

그래서 시작하는 기초부터 다시 다지기 프로젝트.

 

2. C언어 개요

 

1) 프로그래밍이란?

 

프로그래밍. 프로그램이란 무엇인가? 

프로그램이란 컴퓨터가 작동할 수 있도록 내리는 명령어의 모음집을 일컫는데, 프로그래밍이란 이를 만드는 과정이다. 

이 프로그램이 모여서 소프트웨어가 되는 것.

그리고 이 소프트웨어를 만드는, 즉 프로그램을 만드는 언어가 '프로그래밍 언어'

 

프로그래밍 언어란, 사람과 컴파일러가 모두 이해할 수 있는 약속된 형태의 언어를 말한다.

 

그렇다면 컴파일러란?

프로그래밍은 분명히 프로그래밍 언어로 작성될 것이다.

그러나 컴퓨터는 기계어밖에 이해하지 못하므로 이를 기계어로 변환시켜주는 것을 컴파일러라고 부른다.

 

그렇다면 기계어란?

0과 1로 이루어져있는 컴퓨터가 이해할 수 있는 언어를 말한다.

 

C언어는 이 중 프로그래밍 언어라고 불린다.

 

2) C언어에 대하여

 

[역사]

- 1971년 UNIX 운영체제 개발을 위해 Dennis Ritchie와 Ken Thompson이 만든 고급(high-level) 언어

 ++) 고급 언어란? 사용자가 이해하기 위훈 쉽고 친근한 언어

      cf) 저급 언어 : 기계어, 어셈블리어

- C언어 이전 : 어셈블리 언어로 작성됨. 그러나 어셈블리 언어는 하드웨어에 따라 그 구성이 달라지므로 CPU 별로 유닉스를 각각 개발해야 했음

- C언어 이후 : CPU 별로 개발할 필요가 사라짐. 

- 여기서 드러나는 C언어의 특징 : 고급언어이면서 메모리 직접 제어가 가능한 언어이므로 저급 언어의 특성도 함께 지님.

 

[장점]

- 인간과 사고하는 방식이 유사함

- 이식성이 뛰어남

- 성능이 뛰어남