여러가지 언어로 개발해 보기
회사에서 개발할 때 사용하는 프로그래밍 언어는 일단 C++다. 회사 일이나 개인적으로 Python, Lua, XML/YAML(언어라면 언어니까 포함)등을 쓰긴 하지만 기본적으로는 C++이다.
최근에 회사에서 개발하는 프로그램에서 사용하는 언어는 루아 스크립트다. 원래도 쓰긴 했지만, 기본 베이스만(2D Renderer, Network)으로 C++로 구현하고 나머지 게임 로직은 몽땅 다 스크립트로 구현하고 있다. World of Warcraft를 지금까지 해 오면서 루아 스크립트 애드온들을 보고 직접 해 보기도 하면서 이런 방식의 게임 개발을 생각하긴 했지만, 막상 직접 해보니까 좀 문제가 많다. (장점도 물론 있다)
일단 디버깅이다. 루아 자체가 디버깅을 위한 언어적 지원이 있긴 하다. 하지만 그걸 IDE의 개발 환경으로 통합하기 위해서는 결국 어느 정도 수준의 코드 편집 기능을 가지고 라인 단위 디버깅 및 브레이크 포인트, 조사식을 지원하는 IDE를 새로 개발해야 한다. 이클립스 등에 플러그인으로 들어가는 버전이 있긴 했지만 잘 안되더라고.
다행히 이런 기능을 가진 IDE를 다른 팀이 개발(모 프로젝트의 일부분이다)해 놓았다. 문제는 이 디버깅 기능을 사용하면 CPU 타임을 무지막지하게 잡아 먹는다. 회사 PC가 인텔 듀얼 코어 E6400인데 디버깅하기가 버겁다. IDE 개발한 사람한테 디버깅 좀 원활하게 하는 방법 없냐고 물어보니 걍 실행시키고(릴리즈 모드)print로 로그 찍으라고 하더라. 파악하기 힘든 부분에 있어서만 디버거 모드로 해보라고… -0-
이 업무가 끝나면 다음 달에는 iPod Touch에서 돌아가는 간단한 2D 게임을 리서치용으로 만들 계획이다.
아는 사람은 다 알겠지만 iPhone/iPod Touch 및 맥의 기본 개발 환경에서 사용하는 언어는 Objective-C 다. 여러가지 분위기에 휩쓸려서 기본적인 학습은 해 둔 상태이지만, 내가 가진 맥북(2008년 제품, 화이트 버전)의 성능이 너무 안 좋은건지… 개발하는데 XCode의 반응 속도가 답답하다. 아마 개발을 하게 되면 VI에서 코딩하고 XCode를 반드시 써야하는 부분만 사용할 듯. Objective-C에 대한 초기 학습 비용도 좀 문제다.
그러고보니 작년 말에는 Visual Studio Plugin 개발한다고 .NET(C#)으로 개발을 했네.
6개월 동안 C# -> 루아 -> Objective-C … -0- 제목은 여러가지 언어로 어쩌고 했는데… 내용은 그냥 순차적으로 서로 다른 개발 환경에서 개발하고 있다 정도네. 하여튼 제목은 담부터 쓰지 말든지 해야지 원 … 쓰기 힘들다.
p.s 위의 루아 IDE는 사실 루아 개발 자체를 위한 것은 아니다. 아마 몇 달 내로 외부에 공개될 듯.
p.s2 Objective-C는 익숙해지기 여전히 힘들다. 어째저째 코딩은 하긴 하지만;;; 그나마 C++을 쓸 수 있다는 게 다행이다.
코드의 크기가 어느정도 되는지 모르겠습니다만 제가 쓰고 있는 구형맥북프로에서는 그닥 xcode가 느리진 않습니다.(메모리 4GB임)
나중에 Instrument 도 돌리셔야 하고 Interface Builder도 쓰시려면 어떻게든 지금 맥북을 좀 빨라지게 하시는게 좋을듯 합니다. ㅎㅎ
오스카 Reply:
April 14th, 2009 at 7:18 PM
프로젝트 사이즈나 이런 거와는 관계 없이, 그냥 XCode의 반응 속도가 느리다는거죠. 뭐랄까… 원하는 작업을 위해서 단축키를 탁탁탁~ 누르면 뭔가 반응이 느리다는 그런 느낌? 맥북 프로 4GB 버전도 마찬가지로 느꼈습니다. ^^ 글구보니 요즘 집에서 쓰는 PC가 core i7에 메모리 12GB … -0- 이런 점 때문일지도 ;;;
한가지 언어도 사실 제대로 알기 힘든데, 서로 다른 환경, 툴을 가진 언어를 섞어 사용하는건 많이 힘들거 같습니다. 그리 경험이 없네요
그나 저나. 부럽다고 해야 할지.. 코딩의 코도 거의 안해 봐서ㅠㅠ;
오스카 Reply:
April 22nd, 2009 at 3:21 AM
일정 수준까지는 다들 금방 익숙해지더라고요. 그 이상은 어차피 논리적 사고의 영역이 아니라 해당 언어나 환경의 특질에 대한 이해가 필요한거니까요.
저는 회사에서는 asp와 .net만 하는데….
아이팟 터치가 공부해보고 싶어서 곧 맥북 구입 예정이지요..
말씀 들어보니 objective-c가 조금 무섭네요;;;;
오스카 Reply:
April 22nd, 2009 at 3:24 AM
PC에 해킨토시를 설치하는 걸 추천합니다. obj-c가 좀 특이하긴 하죠. 그나마 전 obj-c에 c++을 그대로 쓸 수 있어서 다행이었습니다. -0-