*본 글은 PC에 최적화 되어있습니다*
0#
안녕하세요. 씨티입니다.
항상 잡담부터 시작하는 글이지만 언제나 잘부탁드립니다..ㅎ
작성하다보니 리뷰글보다는 글이 좀 딱딱하네요..ㅠ
저도 C언어를 배우는 김에 같이 하실분이 있으면 좋겠다 싶어서 복습도 할겸 정리해서 올려봄니다ㅎ
어느정도의 강좌같이 보일수도 있지만 모르는게 많으니 조언도 많았으면 좋겠네요..ㅠ
총 몇강이 될지는 모르겠지만 제 성격상 30강 40강 하는건 역시 무리일것 같으니 최대한 적게 만들어볼라고 하네요~
*C언어의 역사, 저급언어와 고급언어의 설명등의 상세한 설명은 생략했습니다*
댓글로 추가해주시면 좋겠다고 말해주시면 추후에 추가하도록 하겠습니다~
C언어란?
C언어란 간단하게 말하면 프로그래밍을 할떄 필요한 언어이다.
하지만 우리 대부분의 사람들이 알고 있듯이 컴퓨터가 할줄아는 언어는 0과 1밖에 없다.
그렇다고 컴퓨터가 우리 인간의 언어를 할수 있는것도 아니다.
그렇다면 우리가 해야될일은 무엇일까?
예를 들어서 미국인과 한국인이 있는데 미국인은 영어만 그리고 한국인은 한국어와 중국어만 할수 있는 상태이다.
그렇지만 한국인은 미국인과 소통을 해야된다.
여기서 한국인이 미국인과 소통할수 있는 방법은 중국어랑 영어를 할수 있는 통역사를 통해 소통을 할수 있을것이다.
위의 예시에서 C언어과 기계어 사람의 언어를 적용해본다면 영어가 기계어, 중국어가 프로그램어, 한국어가 사람의 언어로 볼수 있다.
즉, C언어란 프로그래밍어이고 프로그래밍어는 사람이 기계와 소통을 할수 있게 해주는 컴파일러에게 말하는 언어이다.
C언어의 장점
C언어는 크게 3가지 장점이 있다.
1. 절차지향적 특성을 지닌다.
C언어는 절차지향적 특성을 가진다.
절차지향적 특성이란, 간단하게 말을 하면 순서를 중요시한다는 말이다.
이게 왜 장점이라고 말을 하냐고 물어본다면 예를 하나 들어보자
" 나는 오늘 아침에 일어나면 샤워를 하고, 그 다음엔 밥을 먹은다음 양치를 해야된다. 그리고 나서 옷을 갈아입고 일을 해야지. "
이과 같이 일반적으로 우리는 알게 모르게 해야될 일의 순서를 정하고 행동한다.
즉, 우리는 알게 모르게 절차지향적 특성을 가지고 있다는 것이다.
이러한 비슷한 특성을 가지고 있어서 우리는 처음 C언어를 배울떄도 빠르게 익숙해질수 있는 것이다.
빠르게 익숙해지는 것은 다른말로 쉽게 배운다라고도 할수 있으니 꽤나 큰장점이라고 생각할수도 있다.
2. 이식성이 좋다.
C언어는 이식성이 좋다.
이식성이 좋다는 말은 다른말로 호환성이 좋다.라고도 할수 있다.
프로그램을 만들떄 호환성은 꽤나 중요하다.
만약에 내가 어떠한 프로그램을 만들었는데 다른 컴퓨터에서 호환성이 맞질않아 제대로 작동이 되질 않으면 말짱 꽝이니깐 말이다.
만약 그렇다고 한다면 최악의 경우 그 컴퓨터를 위해서 프로그램을 다시 만들어야 될수도 있기 떄문이다.
그렇기 떄문에 호환성이 좋다는 말은 프로그래밍 언어에 있어서 엄청난 장점이 될수도 있다.
3. 저급언어와 고급언어의 특징을 모두 지닌다.
C언어는 저급언어와 고급언어의 특징을 모두 지닌다.
여기서 저급 언어는 컴퓨터가 이해하기 쉬운언어이고
고급언어는 사람이 이해하기 쉬운언어라고 하면 쉬울 것이다.
저급언어라고 안좋은 언어 고급언어라서 좋은 언어가 아닌 셈이다.
프로그래밍 언어가 저급언어에 가까우면 처리속도가 빨라지고 하드웨어의 직접제어도 가능하다고 한다.
또 프로그래밍 언어가 고급언어에 가까우면 사람이 이해하기 쉬워지고 사용하기 편하다고 한다.
한번더 말을 바꿔 말을하면 C언어는 사람이 이해하고 사용하기 쉬우면서 처리속도가 빠르다.라고 해석할수 있다.
컴파일러
컴파일러란?
컴파일러는 우리가 프로그래밍을 하고 그 프로그램을 실행하기 위해서 필요한 하나의 도구이다.
사실 이야기를 하면 여러가지 어렵게 애기를 할수 있지만 쓸데 없기 글도 길어지기 떄문에
자세한 설명은 옆 링크를 통해 봐주길 바란다. 컴파일러(출처:두산백과)
내가 하고 싶은 말은 컴파일러를 간단하게 정의를 하면 번역기이다.
우리가 사용하는 프로그래밍 언어를 기계언어로 번역해주는 일을 한다.
컴파일러 설치
그렇다면 프로그래밍을 하기 위해서 필수라고 하니 우리는 싫어도 설치를 해야만 한다.
그래서 필자가 여러가지 알아봤지만 5권의 책에서 보고 인터넷에서 찾아봤지만
대표적으로 사용하는 것은 Visual Studio과 Dev-C++가 있다.
데체적으로 책에서 Visual Studio를 가지고 많이 다루고 Dev-C++은 인터넷 블로거들이 많이들 다룬다.
사실 Dev-C++이 가볍고 설치용량도 적다는 장점을 가지고 있다.
그런데도 불구하고 많은 책에서 특히 최근에 나온 책들까지 Dev-C++을 사용하지 않고 Visual Studio를 사용하는 이유는
Visual Studio는 완전 한글 지원이 되고 실무에서도 사용하기 때문에 많은 책에서 소개하고 사용되지 않을까 싶다.
Dev-C++은 그냥 단순 취미와 흥미 위주로 사용하기에 적합하기 때문에 블로거들이 많이들 사용하고 추천해주지 안을까 싶다.
필자는 단순 흥미 위주로 하는것이 아닌 꽤 여러가지를 하고 싶기 떄문에 조금 무겁더라도 Visual Studio를 사용할 예정이다.
글에서는 둘다 다룰예정이니 설치링크는 둘다 올리도록 하겠다.
기본적으로 C언어를 이용해서 간단한 실습용으로는 둘다 무리가 없으니 적당히 골라서 사용해보면 좋을것 같다.
Visual Studio 다운로드 링크
(설치방법을 올리면 글리 길어질것 같아 따로 포스팅 해두었습니다~)
Dev-C++ 다운로드 링크
(설치방법을 올리면 글리 길어질것 같아 따로 포스팅 해두었습니다~)
관련 글
C.T(씨티)
*본 글은 PC에 최적화 되어있습니다*