글을 쓰는게 참으로 오랜만이다. 2월 초까지 바빴던 일정이 마무리되어 조금 시간이 나고 있다. 물론 아직 해야할 일들은 널려있지만 죽을만큼 바쁘진 않으니 참으로 다행이다.
잠깐이지만 C++을 배워보려고 힘차게 달렸다. 왠지 모르게 "프로그램 짠다면서 C++을 몰라?" 라고 수근수근거리는 것 같아서 "이노무 쉐이들아!" 할 생각으로 열심히 달렸다. C++ 보면 볼 수록 그지같다. 특히 각 함수별로 구현하는 방식은 코드의 가독성을 심각하게 떨어뜨린다. 전처리기, 헤더, 메모리 해제 등 신경 쓸 일도 많고... (잠깐이지만 이게 굉장히 막강하다는 생각을 했었다)
하지만 결정적으로 짜증나게 만든 건 GUI 프로그래밍. IDE 툴이 자동으로 생성해주는 건 좋다. 비주얼 스튜디오 이거 아주 물건이더만. 하지만 막상 코드를 들춰보면 아주 짜증이 머리 끝까지 오른다. struct 이것 좀 쓰지 않았으면 하는 마음이 굴뚝같다.
그러다 문득 이런 생각이 들었다. C 위에 객체지향이라는 개념 정도야 익숙해지면 괜찮아지겠지. 하지만 이걸 익숙해진 다음은? 현재 나는 지능형 로봇을 구성하는 각각의 소프트웨어들을 통합하고 이어주는 프레임워크를 구현하고 있다. (본업은 작업 관리 에이전트지만 어쩌다보니 2년째 프레임워크에 전념하고 있다) 여기에 쓰이는 기본적인 기술들을 몇가지 열거하자면 네트워킹, XML, 스레드, parser, 동적 로딩 등이 있다. C++로 이런 기술들을 구현하려고 생각하니 앞이 깜깜하다. 정말로 자바는 갖다 쓰기 쉬운 언어다. 잘 찾아서 잘 갖다 쓰면 만사 OK!! C++은 아직 그런 생각이 들지 않으니... 멀리 내다보면 암담하기만 할 뿐이다. 그래서 손을 놨다.
프로그래밍에 재미를 느낀 동기는 게임이었다. 나는 지독히도 게임을 싫어하지만 게임을 만드는 것은 좋아한다. 어폐가 좀 있지만 컴퓨터라는 물건을 100% 이것 저것 건드릴 수 있는 최고의 프로그램은 게임이라는걸 이해한다면 그닥 어폐도 아니다. 나는 내가 갖고 있는 물건은 어떻게든 완전하게 쓰고 싶은 욕구가 좀 있다. (처음 접하는 물건을 보면 '어떻게하면 망가질까?' 라는 생각부터 하곤 한다)
C++ 잘 배워서 DirectX를 쓰고 싶었다. 자바의 그래픽은 느리다. 그나마 SWT라는게 나왔지만 DirectX 만큼의 퍼포먼스를 기대할 수 있는게 아니다. 아- DirectX.... 아쉬워하던차에 OpenGL이 눈에 들어왔다. 앞대가리에 open이 붙어있으면 이건 필시 자바도 있을거라는 생각에 뒤져본 결과 있더라. (널렸더라)
OpenGL!! 생각보다 재밌다. 3D 건드리려면 무조건 행렬 연산을 할 줄 알아야 하는 줄 알았건만 그게 아니더라. 알면야 더 멋지게 할 수 있겠지만 몰라도 기초적인 것들은 할 수 있다. 게다가 2D도 되고. 가장 중요한 것은 그래픽 카드를 최대한 사용할 수 있다는 것!! Swing이나 SWT는 CPU 연산이지만 OpenGL은 GPU 연산이 아닌가! (아닌가?)
간단한 튜토리얼을 보면서 따라해보고 있다. 정육면체를 만들고 각 면에 누드 사진을 붙여서 빙글빙글 돌리며 좋아라하고 있다. 허허허허- 좀 더 보고, 간단한 게임 정도 만들 수 있게되면 [자바로 OpenGL 따라잡기] 같은 글을 연재해볼까 생각 중이다.
쌔미형...
다른 문장보다...
누드사진이 들어간 문장이 눈에 바로 들어오는 이유는?
ㅋㅋ
이젠 좀 그나마 쉴만하겠네요..
푹 쉬고... 또 달려야죠~ ^^;;
으하하하- 누드가 빙글빙글- 좋잖아? ㅋㅋㅋ
회사는 잘 다니고 있는겨? 몽햄은 연수가기 싫다고 징징거렸는데 잘 하고 있으려나 모르겠다. 살이나 좀 빼고 와야 할텐데...
semix2 회원님의 상기 포스트가 미디어몹 메인에 링크되었습니다.
감사합니다. ^^
무지 열심히인거 같아여 ^^
웁스; 이건 머리식힐 겸 시작했던건데 직업병하고 겹쳐서;; 그다지 열심인건 아니랍니다;
ㄲㄲ
으하하하- 누드가 빙글빙글-좋잖아?ㅋㅋㅋ
이문장을 보는데 왜케 얼굴과 말투가 눈앞에 둥둥 떠다니는지 ㅋㅋ
일단 글이 많아서 심심할때 보면 좋은 블로그네욤 ㅋ
자주와서 눈팅 가끔 댓글 달께욤 ㅋㄷ
아- 이건 마치 내가 야동에 쩔어사는 사람처럼 보이잖습니까;;
발을 들인 이상 눈팅 금지, 댓글 필수!