C언어?
1972년에 벨 연구소(Bell Labs)의 데니스 리치(Dennis MacAlistair Ritchie)와 켄 톰슨(Ken Thompson)이 유닉스 운영체제을 개발하기위해서 만든 언어 이다. 근데 왜 C일까?사실 B언어랑 A언어도 있다. BCPL과 ALGOL있었다는 것만알아 두면됨..
세계구나 국내구에서 많이쓰는 언어이고 특히 어셈블리 코드를 코드 안에 집어넣어서 조작이 가능하다는것이랑 저수준의 제어가 가능하여 임베디드 분야같은 휴대폰쪽에 에서 많이쓰인다는것이다.
C는 알다시피 절차 지향 언어이다.절차 지향 언어는 은 프로그램을 작성할 때 실행 순서를 지정하게 되는 프로그램 작성 언어. 문제의 해결 순서와 절차의 표현과 해결이 쉽도록 설계된 프로그램 언어라는것이다. 근데 말이야 쉽지.
이런 컴퓨터 프로그래밍의 패러다임 개념은 어려운것 사실이다. 보통 객체지향은 "그 문제에 맞추어서 가는 방식"이라면
이런 절차지향은 "그 문제에 맞추어 가기보단 순차 적으로 해결하는 방식"이라는것이다. 그래서 보통짜다보면 간혹 가다 자바나 C++은 변수을 잘못주면 그래도 돌아가긴 돌아가는데, C는 변수하나라도 틀리면 돌아가지 않다는것이다.아님면말고
C언어의 특징
1.윗에 말했듯이 어셈블리어 코드제어등 저수준의 제어가 가능하다.다시말해 컴퓨터의 성능을 최대한 활용이가능한 네거티브 언어이다.
2.그러다보니간 실행속도가 빠르다.
3.코드가 간결하고 작은 프로그램에 이상적이다.는 어셈블리어랑 기계어 기준으로...
4.이식성 생각보단 높다.
그뿐만아니라 그전언어보다 자유롭고 유현하다는 것이다.
그럼 단점은...
1.네거티브 언어라보니 짜증나게 어렵고 제대로 활요하려면 엄친아급 스팩은 기본은달고 있어야한다.참고지만 C의 이명이
"이식가능한 고급 어셈블러"다.
2.실행속도을 빠르게 하고싶으면 포인터라는 굇수을 사용을 해야된다.
3.70년대에 나온 거라서 그런지 현대적개념은 없고, 이명그대로 "이식가능한 고급 어셈블러"다.
4.이식성? 개나 줘버려라.
그뿐만아니라 그전언어보다 자유롭고 유현하다보니 그만한 대가는 필요하다.그냥 니친구가 박카스라고 생각하면됨.
대충 C언어가 이렇다는것이 대충 개념만 알면 된다.
그리고 내가 사용하는 컴파일러(혹은 개발도구)은 "MS비쥬얼 스튜디오2008~2010"계열로 사용하고있다. 맥이나 리눅스 사용한다면 GCC나 넷빈즈혹은 이클립스을 사용하면 된다.참고이지만 맥은 사용자는 Xcode나 지금도 사용하는 모르지만 코드워리어을 사용하면 된다.
돌아다니다가 얻어 걸리것지만 C에대한 노래도 있다.들어보고 곱게 씹어보기을...
<-frame width="425" height="349" src="http://www.youtube.com/embed/XHosLhPEN3k" frameborder="0" allowfullscreen="">-frame>
Write in C
C로 짜
When I find my code in tons of trouble
내가 짠 프로그램에 문제가 가득하단 걸 알았을 때
friends and colleagues come to me,
친구과 동료들이 다가와
speaking words of wisdom...
슬기로운 말을 해주었네
Write in C
C로 짜
And as the deadline fast approasches,
마감은 빠르게 다가오는데
and bugs are all that I can see
버그 밖에 보이지 않아
Somewhere someone whispers:
어디선가 누군가가 속삭였지
Write in C
C로 짜
Write in C, Write in C, Write in C, Write in C,
C로 짜, C로 짜, C로 짜, C로 짜
LOGO's dead and burried,
LOGO는 이미 죽어서 묻혀버렸어
Write in C
C로 짜
I used to write a lot of FORTRAN
예전엔 포트란으로 많이 짰었어
For science it worked flawlessly
수식 계산에선 나무랄데 없었지만
Try using it for grahpic
포트란으로 그래픽을 해보라구
Write in C
C로 짜
And if you've just spent nearly 30 hours
assembly 디버깅을 30시간 정도
debugging some assembly
해봤었다면
Soon you will be glad to
금방 고마움을 느낄거야
write in C
C로 짜
Write in C, Write in C, Write in C, Write in C,
C로 짜, C로 짜, C로 짜, C로 짜
BASIC's not the answer,
베이직으론 해결이 안돼
Write in C
C로 짜
Write in C, Write in C, Write in C, Write in C,
C로 짜, C로 짜, C로 짜, C로 짜
PASCAL won't quite cut it,
파스칼로는 부족한걸
Write in C
C로 짜