프로그래밍을 영원히 메모장에서 할 수는 없습니다. 생각만 해도 끔찍하네요.
개발자들은 기본적으로 귀찮음을 싫어하는 종족이기 때문에, 유용하게 사용할 수 있는 프로그램을 만들기 마련입니다.
당연히, 여러분들도 사용할 수 있어요. 사용해야 합니다.
여러 프로그램들을 여러분의 입맛에 설치하고 나면, 그 컴퓨터가 바로 여러분의 개발 환경 이 됩니다.
여기서는 여러분의 개발 환경의 일부가 되어줄 수 있는 프로그램들을 정리해 놓았습니다.
※리눅스 사용법이나 커맨드 라인 사용법 같은 내용들은 컴퓨터 사용 에 정리해 놓았어요.
코드를 편집하기 전에 여러분이 먼저 알아야 할 사실은, IDE와 텍스트 에디터는 다르다는 사실입니다!
텍스트 에디터는, 단순히 코드 파일만을 수정하는 프로그램입니다. 메모장이랑 같은 역할을 하죠.
그러나, 개발자들이 쓰는 텍스트 에디터는 메모장보다 훨씬, 훨씬 더 많은 기능들을 제공합니다.
대체로 가볍고, 빠르고, 무료입니다. 그리고 플러그인을 통해 IDE만큼의 기능을 제공할 수도 있습니다.
그러나 컴파일러가 포함되어있지 않아서, 따로 설치하고 실행해주거나 플러그인에 연결해줘야 하는 단점이 있습니다.
IDE는 Integrated Development Enviornment의 약자로, 텍스트 에디터와 컴파일러가 합쳐진듯한 동작을 합니다.
IDE를 설치하면서 컴파일러도 같이 설치가 되기 때문에, IDE 안에서 실행과 디버깅까지 함께 됩니다.
그리고, 한 언어에 특화된 경우가 많기 때문에 특수하고 큰 개발에 유리합니다.
단점으로는, 상당히 무겁고(무겁다는 말은 실행이 느리고 용량이 크다는 것을 의미합니다.), 유료인 경우도 꽤 있습니다.
마이너한 언어의 경우 개발된 IDE가 존재하지 않기도 합니다.
여러분이 작성한 코드는, 컴파일, 또는 빌드라는 작업을 통해 하나의 프로그램 또는 라이브러리가 됩니다.
간단한 코드라면, 단순한 gcc main.c
같은 명령으로 충분히 원하는 결과가 나오겠죠.
그러나, 커다란 프로그램의 경우에는 컴파일이 녹록치 않습니다. 아래는 실제로 제가 그래픽스 과제 컴파일을 위해 실행하는 명령입니다.
g++ main.cpp SceneManager.cpp Model.cpp Object.cpp Camera.cpp Util.cpp Pod.cpp -lglut -lGLU -lGL -o main
이런 긴 명령을 매번 테스트 할 때마다 칠 수는 없죠. 그래서 개발자들은 어떻게 컴파일할지를 지정해주는 프로그램들을 사용합니다.
- make
- cmake
- Visual Studio [1]
[1]: 비주얼 스튜디오는 자체 솔루션(.sln)포맷을 이용해 컴파일을 관리합니다.
소프트웨어 개발은, 먼저 프로토타입을 만들고, 여기에 살을 붙여가는 방식으로 보통 진행됩니다.
이런 개발을 원활하게 하기 위해서, 많은 개발자들이 버전 관리 프로그램을 프로젝트와 함께 사용합니다.
버전 관리 도구로 git, svn 등이 있고 대기업의 경우 자체 프로그램을 사용하기도 합니다.
git을 사용하는 방법은 아주 중요하니, 하위 문서에서 자세히 알아봅시다!