같이 C언어 공부해요!

C언어란 무엇인가?

C언어 같이 즐겨요!

일단 C언어가 무엇인가를 논하기 전에, 기본적인 컴퓨터 구조에 대해서 짚고 가야할 것 같습니다.

보통 사람들은 컴퓨터가 어떻게 이루어져 있는지, 어떻게 돌아가는 지에 관심이 없죠?

저 역시 관심이 없다가 프로그래밍을 배우면서 차차 알게 됐습니다.

수업시간에 교수님께서 저를 포함한 학생들에게 컴퓨터는 어떻게 이루어져 있는지 설명해보라고 하셨습니다.

그러자 한 학생이 이렇게 대답하였습니다.

"컴퓨터는 모니터! 마우스! 키보드! 본체! 또.. 스피커! 이렇게 이루어져 있습니다!"라고 말이죠.

물론 뭐... 맞는 말입니다만, 적어도 컴퓨터 프로그래밍관련 과 학생이 대답할 말은 아니죠.

컴퓨터는 크게 앞서 저 학생이 말한 것들인 하드웨어와 소프트웨어로 나누어져 있습니다.

하드웨어를 간단히 세분하여 보면, 중앙처리장치(CPU), 입출력장치, 기억장치 이렇게 있고,

소프트웨어는 시스템 프로그램(OS, Window와 같은), 그 시스템 프로그램위에서 돌아가는 응용 프로그램이 있습니다.

앞에서 거창하게 뭔가 설명할 것 처럼 해놓고, 이렇게 간단히 적어 죄송합니다.

저는 이렇게 생각합니다.

이제 저희들이 할 C언어(프로그래밍 언어)라는 것은 이러한 하드웨어와 소프트웨어 사이에서 일하는

옛날 전화국 교환원같은 역할이라고 생각합니다.

간단한 사전적 의미로도 컴퓨터라는 하드웨어 시스템을 구동시킬 소프트웨어를 작성하기 위한 언어라고 되어있죠.

사람과 기계가 소통하기 위한 언어라고도 할 수 있구요.

또 뭐 저급언어, 고급언어 이렇게 있는데 지금은 필요없다 보고 넘어가겠습니다.

C언어는 현재 사용되고 있는 프로그래밍 언어들의 아버지뻘이라고 감히 자신할 수 있습니다.

자주 사용되고 있는 언어들 거의 다가 C언어를 모태로 만들어졌기 때문이죠.

C언어를 만든 사람은 '데니스 리치'라는 사람입니다. 1971년에 만들었죠.

그럼 뭐, C언어 전에는 프로그래밍 언어가 없었냐? 있었습니다.

그러나 데니스 리치는 유닉스라는 운영체제를 만들려고 하는데 그때 있었던 언어들로는 만들기 힘들었다고 합니다.

그래서 데니스 리치가 홧김?에 만들게 됐죠.

C언어의 간단한 특징(자꾸 간단하게 설명하려고 하네요ㅋㅋ. . .너무 어렵게 다가가면 어려울까봐!)으로 말씀드리자면,

구문(문법?)이 간단하여 기계어에 비해 배우기 쉽습니다. 기계어라 함은 아! 앞에서 빠져먹은게 있는데

컴퓨터는 전기적 신호로 모든 것을 처리합니다. 즉 0과 1만 인식하죠.

전구로 생각하면 1은 켜져있다, 0은 꺼져있다 이렇게 말이죠

그래서 기계어라 함은 이러한 0, 1을 조합하여 작성하기도 어렵고, 배우기도 상당히 어렵습니다.

이러한 기계어에 비해 C언어는 구문이 간단해져 프로그래밍 언어를 배우는데 있어 쉬워졌죠.

그리고 익숙해지는데 긴 시간이 필요치 않습니다. 음. . . 뭔가 예를 들고 싶은데 예를 들게 없군요.

그리고 이식성이 좋습니다. 이게 무슨 말이냐면 C언어 전 프로그래밍 언어들은 각 회사CPU에만 돌아가도록 만들어졌

습니다. 예를 들면 삼성CPU에는 삼성언어만, LG CPU에는 LG언어으로만 작성하고 돌아가게 하여

삼성에 있는 프로그램을 LG컴퓨터에서도 돌리고 싶은데 CPU가 달라 LG CPU에 맞게 프로그램을 새로 짯어야 했었죠

이러한 기존 문제점들을 C언어라는 것이 확! 깨뜨렸죠. 삼성에서도 사용할 수 있고, LG에서도 사용할 수 있도록 말이

죠. 그래서 이식성이 좋다고 말하는 겁니다.

그 밖에는 효율성이 좋고, 모듈화(각각의 기능을 만드는 것)가 용이하다 이러한 것들이 있는데

이것들은 C언어라는 것을 배우면서 가시다 보면 차차 알게 됩니다. . .

저는 그렇습니다. 저 역시도 프로그래밍 언어를 배울 때 도데체 무슨 말인지 몰라서 머리가 아팠을 때가 있었습니다.

그러다 점차 배우면서 다시 보니 아~! 그게 그 말이였구나 하고 알게 된 적이 있습니다.

글을 작성하다 보니, 설명할 게 뭐 소스파일이 어쩌고 컴파일이 어쩌고 할려고 하려다(귀찮아서가 아닌. . .)

저랑 같이 하시다가 보면 아~! 이게 이거구나 하고 아실 때가 올겁니다.

앞으로 차차 저와 같이 C언어를 알아보며 달려 갑시다!

처음으로 누군가를 가르칠려고 하니 어디서부터 무엇을 말해야 할지 머리속에 정돈이 안되네요 ㅋㅋ.

두서없이 써서 읽기 불편하셨을 텐데 읽어주셔서 감사합니다.

댓글

댓글 본문
작성자
비밀번호
  1. 노희원
    잼네여
  2. 뇨로롱
    와 재밋어요!
    저같은 초심자도 이핼할 수 있을것같은 희망이...
버전 관리
이효석
현재 버전
선택 버전
graphittie 자세히 보기