C언어를 배워야하는 이유


출저:대용이의 Semantic Widgets 삽질 상자 ㅋ

 

왜 씨언어를 배워야 할까?

 

 

일단 각 대학에서 처음에 씨언어를 가리키는 이유를 말하자면

 

C언어가 프로그래밍언어의 기초이므로 C언어를 많이 가리킨다.

 

 

 

그렇다면 왜 C언어가 프로그래밍 언어의 기초가 됐을까?

 

다른 많은 프로그래밍언어들이 C언어로 만들어졌거나 C언어를 모델로 했기 때문에 기초가 되었다.

 

 

그렇다면 왜 많은프로그래밍 언어들이 C언어로 만들어 졌거나 C언어를 모델로 했을까?

역사를보라

 

 

씨언어의 역사

 

그 이유는 당연한것이겠지만 C언어가 상당히 많은 프로그래머에 의해 사용되었기 때문이다.

 

C언어가 많은 사랑을 받은 이유는 C언어가 몇몇 장점을 가지고 있어서 인데

 

C언어 자체가 처음에는 정말 기초 적인것들만 정의 하고있었다.

 

또한 그 정의에 벗어나지만 않는다면 추가적인 확장이 가능했다.

 

그래서 C언어는 상당히 많은 유사 버전이 만들어졌고 C언어 이지만 서로 다른언어라고 할수있을 정도의 많은 C언어가 생겨날 정도였다.

 

미국표준협회ANSI에서 ANSI C 즉 표준 C를 정의 하였다.

 

이렇게 만들어진 C언어는 살아 있는 생명과도 같이 성장했다.

 

처음에 정의된 씨언어에서 점점 이것저것 새로운 프로그래밍 기술들과 이론들이 생겨날 때마다

 

C언어에다가 붙였다. C언어의 안좋은 면이 발견되면 씨언어의 구조 등을 수정했다.

//2009년 3월 24일 주석. 

구조 등을 수정했다고 써 놓았는데 이는 구조등을 수정했다기 보다는 처음 공부하는 사람을 대상으로 C99를  구지 언급할 필요가 없을 것 같아서 대강 써 놓은 것이다. 자료를 옮기면서 지금 보니 오해의 여지가 있어 주석을 단다 C99에 대한 정보는 구글등을 통해서 알아주기 바란다.

 

C언어는 그래서 매우 강력하면서 매우 지저분한 프로그래밍 언어가 되었다-_-

 

71년인가 부터 지금까지 계속 수정에 수정을 거치고 있는 프로그래밍언어이기때문에

 

그 강력함은 이루 말할수없다.

 

72년인가 1년인가 이 C라는 프로그래밍언어로 PDP-11이라는 컴퓨터에서 돌아가는 UNIX라는 운영체제가 다시 만들어졌다.(사실상 이때부터가 유닉스의 시작이며 컴퓨터소프트웨어 기술의 발전이 시작된다)

 

씨언어의 강력함과 간결함이 유닉스를 우수한 운영체제로 만들었고 유닉스는 현대 운영체제의 기본이 되었다. 리눅스는 유닉스를 약간베껴서 PC용으로 만든거고 윈도우는 베꼈는데 잘못베낀데다가 몇개만 베껴서 어정쩌정한놈에다가 그림 입힌거다. -_-;;; 믿기 어렵겠지만 사실이다;;

 

C언어는 중급언어이다라는 말이있다

 

프로그래밍언어에는 기계가 바로 알아 들을수있는 기계어가 있는데 이는 0,1의 숫자의 조합이다.

 

이것을 영어 단어와 매치 시켜서 약간의 의미를 띄게 만든언어가 어셈블리이다.(그래봤자 별차이 없음)

 

여기까지가 저급언어이다.

 

그리고 저급언어 에서 벗어나 명령어가 좀더 의미를 갖게한( 이를테면 화면에 무엇을 출력해라 라고 하는 명령어는 basic이란언어에서는 print이다) 언어가 고급언어이다.

 

C언어는 분명 고급언어이다. 하지만 중급언어라고 불리우는 이유는 기계어처럼 하드웨어 적인 제어가 가능하며(심지어 C언어속에서 어셈블리어를 사용할수있다) 고급언어의 특징을 모두 가지고 있기 때문이다.

 

 

언어 이름의 유래

 

C언어 이름의 유래 100%사실

 

옛날에 B언어라는 언어가 있었다. 그걸 모티브로 해서 만든언어가 C언어다-_-;;

 

C++언어 이름의 유래 100% 사실

 

옛날에 C라는 언어가 있었다 거기에다가 1더했다는 의미로 증가 연산자++을 붙여 C++이되었다

 

C#언어 이름의 유래 80% 사실

 

옛날에 C++이라는 언어가 있었다 거기에다가 ++을추가해서

 

C++   
  ++

 

이라고 만들었다-_-;; (++두개를 합치면 #모양이 나온다)

 

프로그래머들은 상상할수없을 만큼 귀찮은게 많은 존재이다-_-; 믿기 힘들어도 진짜다

 

 

C++언어가 만들어진이유(공식 기록은아님)

 

 

C언어를 만든 데니스 리치라는 아저씨가 있었다.

 

이 아저씨가 C언어를 만들어 놓았더니 너나 나나 프로그래밍을 한다고 해서

 

프로그래머 인건비가 싸졌다(물론 이시절은 옛날이므로 그래도 비쌌다)

 

그래서 공부하기 힘든, 복잡한 프로그래밍언어를 만들었다.

 

-_-;;

 

C++언어와 C언어는 여기서 말하기는 좀 힘든 상당히 다른언어이지만

 

C++은 C언어에다가 다른 프로그래밍 이론울 억어지로 쑤셔 넣은-_-;언어이다.

 

그래서 위의 말이 맞지 않을수도 있지만 자세히 보면 없어될 기능들이 상당히 많다-_-

 

이 이야기는 데니스 리치와의 인터뷰에서 나온것이지만 그당시에는 끼치 영향이 너무 커

 

데니스 리치와 기자가 잡지에서 제외시켰고 한참후에 기자가 내놓았다고 인터넷에 올라온것이다.

 

 

하지만 아마 사실일것이다-_-;;

 

 

 

 

 

C언어언의 예상도

 

 

C언어어는 점점 사용빈도가 낮아지고 있다.

 

이유는 한 프로그램을 만들기에(실제로 우리가 사용하는) 너무 시간이 오래 걸린다는것이다.

 

하드웨어 제어에 상당히 능하지만 잘못 사용했다가는 시스템만 망가 뜨린다. (//주석// 생산성이 낮다)는 이유로 그것도 메리트가 낮아지고 있다.

//2009년 3월 24일 주석. 

코딩하다 시스템을 망가뜨릴 실력이 있어야 가능하다-_- 아는 모 군은 quick  basic으로 하드를 날린적이 있다.

 


이유는 이게 다다. 근데 첫번쨰 이유를 보자면...

 

시간이 오래 걸리는 이유는... 타자를 많이 쳐야 한다는말이다.

 

일부 프로그래머들이 죽기보다 싫어 하는 일이다.

 

그리고 기업입장에서도 업무 효율이 낮아지기 때문에 별로 좋아 하지 않는다.

 

하지만 하드웨어제어나 속도가 중요시 되는 프로그램 제작에는 앞으로도 계속해서 쓰일것이다.

 

요즘에 나오는 C#이나 JAVA같은 프로그래밍언어는 전반적으로 느리다.

 

 

 

 

 

 

종합정리

 

 

C는 좋다.

강력한 성능을 가지고있다.

많은 프로그래밍언어가 C로 작성되었거나 C를 모티브로 한다.

하지만 업무효율이 낮다(타자를 많이 쳐야 한다)

앞으로도 많이 쓰일것이다.

C는 역시가 긴만큼 수많은 프로그램들이 C로 짜여져있다. 그것들을 공부하기 위해서라도

 

C는 반드시 해야한다-_-+

 

 

 

 

5시 26분 이다. 흠 이부분을 쓰면서 느낀건

 

누가 컴퓨터의 역사란 책 하나 안써주나 하는것이다.

 

컴퓨터의 역사는 도대체 정확하게 쓰인게 하나도 없다.

이 글을 공유하기

댓글

Designed by JB FACTORY