Kdevelop 3.5.0을 설치했습니다. 전 이 IDE를 설치하기 전 GNOME X윈도우 기반이었는데, Kdevelop을 설치하기 전에는 KDE라는게 존재하는지도 몰랐습니다. 아니, 똑바로 말하면 GNome 프로젝트가 뭐하는 건지도 몰랐었네요. ㅡㅡ; 그냥 패키지가 보여서 아무생각없이 설치한게 그놈` 이었군요.. 이젠 무의식적으로 "다음 << 다음" 버튼을 누르면 안되겠습니다. 쩝.
윈도우 환경에서 프로그래밍작업을 해야하기 때문에, 기존 윈도우에서 쓰던 비주얼 스튜디오와 같은 그래픽기반의 IDE가 필요했었습니다. 많은 리눅스 서적과 참고문헌들을 찾아보니 죄다 gcc, ld, gdb, ctag, make과 같은 생소한 명령어 및 용어들로 Hello.c과 같은 예제들을 내보이며 설명해줍니다. 보고 따라하면 어려운 수준은 아닙니다. 기존의 Dos 명령어처럼, 직관적으로 암기하면 되는 것들이니까요.
gcc & make강좌$ gcc -c myfunc.c
$ ar r libmylib.a myfunc.o
$ ar s libmylib.a
$ ar t libmylib.a
myfunc.o
$ gcc -o say_linux hello.c -lmylib -L.
위의 명령은 myfunc.c라는 소스파일을 gcc 컴파일러를 이용해 컴파일하고, libmylib.a라는 라이브러리를 만들어 연결한 다음 say_linux라는 출력파일로 출력하라는 명령문들입니다. 간단하고, 옵션명들을 암기해버리면 사용할 수 있습니다. 하지만 여기서 의문이 듭니다.
"앞으로 프로그래밍을 하려면, 이런 (아직 구경해보지도 못한) 수많은 명령어들과 옵션들을 죄다 이해하고 써야 되는거야???"
좌절할지도 모르는 순간, linux기반에서 사용되는 통합개발환경툴이 분명히 있다는 드넓은 웹페이지 어딘가에서 읽었던 기억이 스칩니다. 그리고, Kdevelop이라는 Tool을 알게되고, 여기에 대해서도 여러 방면으로 자료를 찾아봤습니다.C / C++ 프로그래밍 환경을 지원하는 Tool 가운데서 가장 완성도가 높다는 평판을 믿기로 하고, Kdevelop3.5.0을 설치했습니다.
여기서 잠깐 데스크탑 환경에 대해서 설명합니다. 크게 Linux의 데스크탑환경은 2가지로 나뉘어진다고 합니다. Gnome과 KDE인데, 제가 검색해본 바로는 Gnome은 V2.20 그리고, KDE는 V3.5까지 나와 있다고 합니다.
흥미로운 원문을 링크해봅니다.
새로운 데스크탑 Gnome2.20과 KDE3.5 비교
아무튼 저는 Kdevelop을 사용해야 하기 때문에 KDE를 쓰기로 했습니다.
Kdevelop 설치는 제 Linux환경이 fedora7 Gnome X윈도를 쓰고 있기 때문에 소프트웨어 추가/제거에서 kde관련 패키지를 찾아 다운로드 / 설치 방식으로 진행했습니다. 우선 KDE를 설치한 후 Kdevelop이란 tool을 설치한 후 실행해봅니다. Gnome환경에서 Kdevelop을 사용해보진 않았지만, 아마 제 생각엔 이 환경에서도 잘 될거라 생각됩니다.(막무가내.ㅋ). 전 X윈도 진입시 KDE로 세션을 변경해 줬습니다.
(설명은 몇줄밖에 되지 않지만, 이 업데이트 방식의 다운로드 / 설치는 무진장 오래 걸리는 군요. CD로 설치하는 방법도 있는 것 같은데, 어떤 식으로 설치를 해야할 지 감이 잡히질 않습니다. 분명 fedora7.ISO 파일안에 KDE pakage도 들어 있을텐데 말이죠. 처음 설치했던 것 처럼 mount 해줘서 드라이버를 읽고 다시 셋팅을 해보려 했으나, 어쩌면 다시 설치되버릴지도 모른다는 막연한 두려움에 그냥 Pass했습니다.ㅡㅜ)
초보자를 위한 Kdevelop 입문서 - 설치 및 사용방법(입문)입니다.
KDevelop 사용하기(버전 2.1) - 같은 맥락의 메뉴얼입니다.

<kdevelop을 설치하고, 간단히 C++ << KDE << Simple KDE Application 프로젝트를 생성해 본 화면입니다.>
설치해보니 생각보다 인터페이스가 훌륭하군요, 아직 많은부분을 사용해보진 못했지만 (아직 헬로.C 하고 있습니다.ㅡㅜ) 메뉴들을 살펴보니, 프로그램 생성에 필요한 기능은 죄다 들어있는 것 같군요. 하핫.
그런데 여기서 궁금증이 생깁니다.
'그럼 이제껏 내가 봐왔던 gcc니 gdb니 make니 하던 것들은 죄다 뭐지?'
'여기 이곳에서 마우스클릭 혹은 단축키 몇번이면 끝나는 것들을 이제껏 내가 고민해온거야???'
'물론 프로그램의 동작원리라던지, 세부구조와 같은 모든 프로그램의 정보를 이해하면 좋지만, 난 M&S 엔지니어지 아주 lowlevel의 프로그래머가 아니니깐, 이런 것들의 세부적인 이해는 나에게 필요없지 않을까?',라는 생각을 자연스레 할 수 밖에 없습니다. 저는 최적의 프로그래밍에 목적이 있는게 아니라(물론 최적이면 더할나위 없이 좋겠지만), 프로그래밍을 통한 최적의 프로젝트를 가능한 빨리 구현해 해야하는 입장이니까요.
리눅스의 통합개발환경 - 이 글의 서두부분을 읽고 그런 생각을 하게 되었는데요, 앞으로 리눅스를 쓰면서, 프로그래밍을 해가면서 어떤 방향이 가장 최선인지 자연스레 풀릴 과제라고 생각됩니다. 부족한 블로거에게 많은 조언 부탁드립니다.
[ 이글루스 주요 관련글 Links ]