밑에 글을 몇개 살펴보니 C나C++ 언어가 처음 배울때는
콘솔 환경으로 배우기 때문에 그걸로 뭔 게임을 만드냐 이런 생각을 한다고
적어주셨습니다.
조금 보충할 것도 있고 새로 적을 내용도 있고 하니 적어 보겠습니다.
-------------------------------------------------------------------
C언어는 가장 현대적인 언어입니다.
왜 그럴까요 ? 다른 C++,JAVA,비주얼베이직,C#,델파이,D,코볼(많이안쓰죠),포트란(안쓰죠거의) 등의
언어의 종류는 수백개입니다. 실제로 모두 문법의 차이도 있고
컴파일 방식에 차이가 있기도 합니다.
예로 자바나 C# 등은 컴파일을 하고 나면 운영체제 또는 CPU 간의 호환성을 위하여
실행은 JVM(요즘엔 이름이아마 다르다죠) 이라는 가상 머신으로 실행시키며
JVM 은 자바이고 C# 은 그에 맞는 인터프리터가 존재합니다.
그리고 C 나 C++ 언어는 컴파일과 링크 과정을 바로 하며 실행도 바로 시킬수 있습니다.
물론 커널 작성을 할 때 등은 예외가 있습니다. 이진 파일로 작성하죠.
이 C언어는 예전 유닉스를 디자인할때 쓰였던 언어로, 벨 연구소의 데니스 리치가
개발한 언어입니다.
유닉스는 같은 벨 연구소의 켄 톰슨이 만들었지만 어셈블리로 작성된 운영체제는 아무래도
코드도 매우 복잡하고 관리하기도 어려워 데니스 리치가 자신이 개발한 C 언어로 다시 개발하게 되고
그래서 나온 것이 현대에도 사용되는 유닉스 운영체제입니다.
사실상 지금 나오고 있는 언어들은 대부분 C와 비슷하게, 또는 C 와 똑같으면서도 문법만 다른 언어도
있습니다.
그것이 바로 어셈블리로 매우 효율적으로 작성된 언어이면서도 장점이 있으며
언어 자체에 유연성이 있고, 또 유닉스를 디자인했기 때문에 유명해져 호환성도 널리 알려져 있습니다.
대표적으로 언어가 표준이 생길정도로 되어 있는 프로그래밍 언어는 별로 많지 않습니다.
그런데 C 는 최초로 ANSI C 표준과 나중에는 ANSI와 ISO 의 ANSI/ISO C 가 나와 지금은 C99 표준이 최신이지요.
이제 C가 어떻게 나왔는지에 대해서는 그만두고 ㄱ-
C는 왜 처음에 콘솔일까요?
기본적으로 윈도나 X-Window 또는 애플의 맥 운영체제 등은 모두 그래픽 모드라는 특징이 있습니다.
윈도 역시 C 언어 또는 C++ 로 만들어졌고 X-Window도 C로 만들어졌습니다.
즉 이 C로는 못하는게 없습니다.
아마 이런분이 있을것입니다.
'아 난 콘솔에서라도 일단 '게임' 을 한번만들어보고싶다고! 근데 콘솔에선 어차피 아무것도못하잖아!'
라고 하시는분들,
제가 약 4~5개월 전에 약간 게임을 만든 적이 있습니다.
물론 C 이며 콘솔입니다.
http://cafe.naver.com/cafec/13705
그리고 최근에 만든 건..
http://cafe.naver.com/cafec/17201
이래도 콘솔에서 게임을 못만들까요?
물론 그래픽은 어쩔 수가 없습니다.
윈도에서 C를 프로그래밍할때 그래픽을 나타내고 싶다면 API 라이브러리를 배워야 합니다.
물론 실제 게임은 API 뿐만아니라 MFC 또는 DirectX 나 OpenGL 같은 그래픽 라이브러리들이
많이 쓰입니다.
C는 이 DirectX 와 OpenGL 과 MFC 와 API 이 모든 것을 가능케 한 언어입니다.
실제로 이 라이브러리들은 C로 작성되었고, 예외로 MFC 와 DirectX 나 OpenGL 은 C++ 로 작성되었습니다.
C++ 도 C의 상위 개념입니다.
문법에서 추가된 점이 있을 뿐 둘은 어쨌든 기본적으로는 동일한 언어입니다.
그럼, 프로그래밍 공부 하시는분들, 열심히 하시기 바랍니다.!
----------------------------------------------------------------------
P.S 저는 프로그래밍 하는 사람입니다. 하하;;..