2016. 2. 22. 20:34

왜 우리는 씨언어를 공부 해야 할까?

  

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

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

 

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

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


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

역사를 보자.


씨언어의 역사

 

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


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


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


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


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

 

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

 

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

 

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


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


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언어에 클래스 한개가 더해져서 C++이라는 설도 있고, C with Class였다가, 너무 길어서 CC라 부르다가 C가 2개니까 C++이라 는 설도 있다.


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

옛날에 C++이라는 언어가 있었다 거기에다가 한개를 더 추가해 ++

C++   
  ++

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

프로그래머들은 상상할수없을 만큼 귀찮은게 많은 존재이다-_-;

 


 

C언어 예상도

 

 

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

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


하드웨어 제어에 상당히 능하지만 생산성이 낮다는 이유로 그것도 메리트가 낮아지고 있다.


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

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

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

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

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

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

 

 

 종합정리

 

 

C는 좋다.

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

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

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

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

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

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



출처 : http://skmagic.tistory.com/entry/C%EC%96%B8%EC%96%B4%EB%A5%BC-%EB%B0%B0%EC%9B%8C%EC%95%BC%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0


'프로그래밍 > Language' 카테고리의 다른 글

C언어 연산자에 대하여  (0) 2016.02.23
상수란 무엇인가?  (0) 2016.02.22
변수란 무엇인가?  (0) 2016.02.22
#Pragma의 사용법  (0) 2016.02.22
전처리기에 대하여  (0) 2016.02.22
Posted by 시리시안