프로그래밍/c언어

사사밍의 c언어기초강좌 2(상)강:c언어란 무엇인가

사사밍 2015. 11. 13. 09:30

안녕하세요 사사밍입니다 

사실 이리뷰 는 공지에서도 설명드렸듯이(http://sasaming.tistory.com/1) 예전 블로그의 예전 글입니다(잘못된정보.맞춤법등 약간의 수정이있었습니다.)

예전 블로그의 글들이 올라가는 동안에는 최대한 정기적으로 글을 올리기 위해 비축분을 쌓아둘 예정입니다. 


사사밍의 c언어기초강좌 2강:c언어란 무엇인가?

안녕하세요~!  오늘은 c언어 강좌 2강이네요 의외로 생각보다 빨리 올라왔는데요......

집안에 박아둔 고물컴퓨터가 있길레 연결해서 쓰고있답니다~ 이번강좌까지는 이론을 배우는데요 구지 머리속에 쑤셔넣을려고 하면 오히려 잘안외어지니 이해하는게 중요하답니다~ 그리고 이번강좌는 짧은편인데요 아무래도 이론편이 길어지면 재미도 없고 지겹기도 할거라생각해서 2강을 두편으로 나누어 놨습니다! 그럼시작해볼까요? 하지마루요~

 

 

---------------------------------------목차-------------------------------------

 1.저급언어와 고급언어의 종류-2(상)강

 

  2.c언어에대하여 알아보자-2(하)강

---------------------------------------------------------------------------------

 

 

 1.저급언어와 고급언어의 종류


 

시작하기전에 잠깐 어제배운것에대하여 조금 살펴볼까요 ?

 

저급언어(Low-Level Language)


- 기계중심(컴퓨터) 중심의 언어

- 실행속도가 고급언어에 비하여 빠르다

 

기계어(machine language)

0과1로이루어져있는 2진수 형태의 언어로 컴퓨터가 직접이해할수있는 그렇기에 상당히 빠른동작이 가능한 저급언어 입니다.

그러나 기종마다 기계어(종류)달라 서로 호환이 되지않고 왠만한 전문지식 없이는 프로그램 을 작성하기 상당히 오래걸린다는 단점을가지고있죠.. 요즘은1시간이면 짤것을 예전에는 기계어로하느라 3일이걸렸다죠! 기계어 무서운아이!

 

고급언어(High-Level Language)

 

이번에는 고급언어에 대하여 살펴보도록하죠! 고급언어의 특징으로는

-저급언어와는 반대로 사람중심의 언어

-호환성이 좋다

-실행을 위해서는 번역과정이필요(컴파일)

 

 

 

 

분명 저급언어와 고급언어의 차이점과 특징에대하여 배웠었죠? 오늘은 이 저급언어와 고급언에는 무엇이있는지 살펴볼려고 합니다!


일단먼저 저급언어의 종류에대하여 살펴보도록하죠~!

저급언어(Low-Level Language)의종류


기계어:기계어는 cpu가직접해독할수있도록 비트의형태로 쓰인 언어를 통틀어서 말한답니다 저급언어중 가장낮은단계이죠!~


어셈블리어:어셈블리어는 기계어와 1:1로 대응이가능한 형태의 언어랍니다~ 하지만 기계어와 1:1로 대응하는만큼 CPU가지원하는 기계어에따라서 어셈블리어도 달라지겠죠?

 

 

 

고급언어(High-Level Language)의종류

 

 

베이직:처음에는 교육용으로 계발되어 문법이 쉽게짜여있습니다 지금은 상당히 많은 베이직이 나왔습니다(마이크로소프트의 비쥬얼 베이직등) 초반에는 인터프리터(소스코드를 직접실행시키는 방식)방식이 많았는데 지금은 컴파일러를 통해 하는 방식이 더많은듯합니다 

 

C,C++,C#:나중에 상세히 설명할 예정입니다만 C++만 짧게 설명하고 넘어갈게요~ C++은 C의절차지향적인 문법을 객체지향으로 바꾼 언어입니다!(절차와 객체지향에대해선 나중에 나옵니다)


그외도 파이썬,루비,자바,파스칼,코볼,리스프,스칼라,포트란등 엄청나게 많은숫자의 고급언어들이 존재하고있답니다!



그럼 다음으론 객체지향과 절차지향에다하여 알보도록하죠~!


객체지향과 절차지향


절차지향적 언어

- 절차지향적 언어는 말그대로 프로그램을 순차적으로실행한다는겁니다 함수를이용해서 다른곳으로 건나갔다 왔다갔다를 할수있습니다 그게 뭔상관이냐고 말하시는분도 있을겁니다

하지만 이건 상당한 장점을가지고있는데요... 비절차지향적 언어에비하여 프로그램의 흐름이 간단합니다! 즉 비교적

프로그램이 서로 스파케티처럼 꼬이지 않는다는것이죠!


객체지향적 언어

-말그대로 객체를 지향한다는이야기입니다 각각의 객체들이 있고 각각의 객체들이 서로 주고받고 하는것이죠




---------------------------------------------------------------------------------------------------------------------------

이것으로 이번강좌는 끝났습니다!

객채지향과 절차지향이 잘이해가안되시는분이 있을텐데요...... 이해안하셔도됩니다~ 지금은제가 단순히 아~ 이런것이있구나

하라고 써논것이니 너무 이해할려고 노력하시지않아도됩니다 나중에 몇번더 언급될것이니!


그럼 다음강좌는 자연스럽게2강(하) C언어에대하여 드디어 배우는 시간이되겠네요~ 그럼 그떄까진 안녕히~





2015/11/13 - [프로그래밍/c언어] - 사사밍의 c언어기초강좌 1강:프로그래밍언어란 무엇인가?


2015/11/13 - [프로그래밍/c언어] - 사사밍의 c언어기초강좌 2(상)강:c언어란 무엇인가


2015/11/14 - [프로그래밍/c언어] - 사사밍의 c언어기초강좌 2강(하):c언어란 무엇인가?


2015/11/24 - [프로그래밍/c언어] - 사사밍의 c언어기초강좌 3강:비주얼 스튜디오 설치해보자!


2015/11/27 - [프로그래밍/c언어] - 사사밍의 c언어기초강좌 4강:코드 살펴보기!