![]() |
|
||||||||
경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지 |
|
류종택 [ryujt]
2006-04-18 22:07 X
난 지훈군이 써줄거라 믿었어!!
언어와 개발툴은 도구일 뿐이다라고 말하는 사람치고 고수 없는 같습니다.
개발은 언어와 개발툴에 기반하기 때문에, 절대적인 영향력이 있고 플젝이 요구하는 기술적인 난이도가 높으면 높을수록 더욱 중요한 것이 언어와 개발툴이죠. 지금도 여러 개발 사이트를 보면 언어와 개발툴은 단순히 도구로 보는 분들이 있고 이에 대해 누구도 반박하는 것을 못봤는데, 박지훈님이 잘 정리하셨군요. 저의 경우는 그동안 익힌 언어와 개발툴이 다양하지만 결국 C++빌더를 주력으로 선택했는데, 기술적 난이도가 낮은 경우는 언어와 개발툴을을 바꿔가며 얼마든지 쓸수 있지만 기술적 난이도를 필요로 하는 일은 역시 C++빌더와 VC++이 최곱니다. 뭐 조금 식상하고 재미없는 얘기같겠지만...
"언어와 개발툴은 도구일 뿐"이란 말은... 경력자가 질문에 대해 맥을 짚어 답하는 것과 같다고 생각합니다. 예를 들자면... 가령, DirectShow 기반의 동영상 플레이어를 만든다고 가정할때... MFC 이냐, VCL 이냐는... 중요하긴 하지만 결정적이지는 않다는 얘깁니다. 물론, 오브젝트 파스칼이냐 C++ 이냐도 조금은 부차적 인 문제가 됩니다. 요는... DirectShow 에 대해 얼마나 아느냐 겠지요.(지원되는 각종 인터페이스에 대한 명확한 이해...그리고 필터 등이 물리는 방식...) 이것은 경력자에 한한 얘기입니다.^^ (1년 정도 했다고 경력자라고 말 꺼낸다면 쑥스럽겠죠.. 최소 5년 이상은 해야 한다고 생각합니다. 시간이 기준은 아니지만... 쉽게 선을 긋자면 그렇게 생각합니다.) 또... 어플리케이션을 제작한다고 했을때, 기본적으로 지원되지 않는 요소를 해결하여야할 때 Win32 API 에 대한 이해 등... 문제 해결에 대한 좀 더 기반적인 것에 대한 지식이 더 큰 영향 을 미칩니다. 하물며, 게임 서버, 게임 클라이언트 개발은 어떠합니까? 그리고 OS 개발은...? (롬바이오스와 부트섹터, 보호모드...그 외 알아야할 것들 등등...) 어떤 쟝르이든... 적어도 그 프로젝트에서의 경험이 쌓이면 쌓일 수록 관련 기반지식에 더 집중하기 마련입니다. (처음, VCL 을 익히기에도 급급했지만 결국엔 그 속을 까발려보고 있는거죠. 기본 그리드로 충분했던 작업이 어느순간 그리드를 뜯 어고치는 상황...뭐, 그런것들...) 이런 예는 부지기수입니다. 하여 경력자라면 응당 "언어와 개발툴은 도구일 뿐"이라는 얘기 를 하는 것이겠지요. 그리고 그렇게 느껴져야 이제 일 좀 하겠 구나라는 생각을 하게 될 거구요. VCL 을 그냥 쓰기만 하는게 아니라 그 설계를 보는 눈이 생기면 이것은 또 한차례 꺼플을 벗고 OOP 가 무엇인가에 대한 안목을 선사합니다. 그러면, Python 을 하든 Java 를 하든 그 설계는 자기도 모르게 영향을 미치게 됩니다. 이 또한 "언어와 개발툴은 도구일 뿐"이라는 말에 뭉떵거려져 표현됩니다. 다만, 이것은 자기 주력 언어의 어느 한 정도의 부분에 다다를 때의 얘기입니다. 이제 시작하는 프로그래머들에게는 가슴에 와 닿을 이야기는 아닌거죠. 이제 시작하는 프로그래머에겐 어떤 프레임워크가 자기 적성에 맞으며 더 쉬우며 즐겁게 할 수 있겠느냐가... 더 맞는 얘기일 것 같습니다. 그런 의미에서 임프님의 얘기에 공감하지만... 이런 전제조건을 벗어나 "언어와 개발툴은 도구일 뿐" 이란 얘 기가 전혀 동의할 수 없는 수준의 설명....즉, "언어와 개발툴 은 도구일 뿐이다라고 말하는 사람치고 고수 없는 것 같습니다." 라는 식으로 비약 해석되는 것은 아니다라고 생각합니다. (오히려 기술의 난이도가 높을수록 언어에 종속되는 경우가 드 문게 더 일반적일 것입니다.) 누군가 저한테 "어떤 개발툴로 시작해야할까요?" 라고 묻는다면 ... 전... "언어와 개발툴은 도구일 뿐" 이라고 답하겠습니다. "그러니 보고 끌리는 걸 골라서해라." 라고 말하겠습니다. 사실 이 정도까지 답하고나면... 한, 두 시간 시간을 내서 줄줄 설명해야될 지 모르겠습니다. 하여... "언어와 개발툴은 도구일 뿐" 에서 끝내는 경우가 대부 분이겠지요. ^^;; 쓰고나니 거참, 고약하네...흠흠. 사악신님, 좋은 의견 감사합니다. 논리적이고 타당한 의견으로 반박을 받는 것은 언제나 즐겁습니다. 저도 제 반대 논리를 펼쳐보지요.
이렇게 생각해보면 어떨까요. DirectShow, 게임 개발, 이런 부분에서 개발툴이 별로 중요하지 않게 느껴지는 것은, 오히려 지금 그런 분야의 개발에서 비주얼 C++ 방식의 개발이 너무 일반화되어 있어서 그런 것은 아닐까요? 예를 들어 똑같이 DirectShow라고 해도, 덜 사용되기는 하지만 델파이용으로 VCL 컴포넌트화된 라이브러리를 사용한다면 개발의 접근 방법이 달라집니다. 게임 개발은 더욱 그렇습니다. 게임 서버 개발의 경우에도, 흔히 사용되는 방법 외에 다른 방법도 있겠지요. DirectShow와 게임 서버 개발에 대해 말씀하신 '언어와 개발툴을 가리지 않는다'라는 명제 자체가, 윈도우와 비주얼 C++의 방식을 답습하는 개발자들이 절대 다수이기 때문이 아닐까요? 그 자체가 개발툴에 종속되고 있다고 생각됩니다. C++빌더와 델파이가, 언어도 비교적 다른 언어들에 비해서는 유사하고 IDE 환경은 동일한데도 불구하고, 실제로 개발하다보면 무시할 수 없는 중요한 차이점들이 적지 않습니다. 델파이를 주로 하는 개발자가 C++ 코드를 짜거나 반대로 C++을 주로 하는 개발자가 델파이 코드를 짜면 확연히 티가 납니다. 그게 단순히 눈에 보이는 차이가 아니라, 종종 언어 특성에 따른 최적화를 제대로 못했다든지 쉬운 길을 멀리 돌아갔다든지 하는 식으로 나타납니다. 하물며 자바와 파이썬은 더욱 더 그렇습니다. 자바 코드를 델파이식으로 작성하더라도 동작은 할 수 있겠지만, 그것으로 끝일까요? 당장 성능 저하와 오동작의 가능성을 무시할 수 없습니다. 또 더 넓게 바라보면 개발은 협업이고 또 혼자 작업한다고 하더라도 언젠가 누군가에게 작업을 물려줘야 할 가능성이 높은데, 델파이식으로 작성한 자바 코드는 개발한 자신의 범위를 넘어서면 전부 다시 작업해야 하는 쓰레기가 될 수도 있습니다. 어떤 의미에서는 저도 자바 코드 작성할 수 있습니다. 당장도 문법 정도는 알고 있고, 집사람이 고참 자바 개발자라 줏어들은 것도 많습니다. 그렇다고 제가 자바 개발자로 일할 수 있을 거라고 생각되지는 않습니다. 중고급 이상의 개발자들이 개발에서 구사하는 그 언어의 특성은 교과서 한두권과 몇달의 공부로 알 수 있는 것이 아니라, 각각의 언어에서 최소 몇년간의 경험이 있어야 체득되는 것이라는 걸 매번 깨닫게 되기 때문입니다. 전 개발자로 한해 한해를 살아갈 수록, 다른 언어와 개발툴을 알아갈 수록, 각각의 개발툴과 언어의 차이점이 더욱 더 깊이 느끼게 됩니다. '모든 고수의 길은 하나의 도(道)로 통한다'라는 흔한 얘기는, 제 생각에는 개발에는 그대로 적용할 수는 없다고 생각됩니다. 제가 C/C++에서 십몇년 동안 갈고 닦은 경험이, 자바에서도 통할 부분도 적지는 않겠지만, 그보다는 기초부터 새로 경험해야 할 부분이 더 많을 것입니다. 말씀하신대로, IDE에 대한 종속성에 무서운 중독성이 있는 것이 사실입니다. 하지만 개발자들이 IDE보다 더 강하게 종속되어 있는 것은 OS 플랫폼이라고 생각합니다. Win32 API에 종속된 개발자가 어떤 이유로든지 리눅스 개발을 해야 할 때는 아무런 해결책이 없습니다. 특히 서버 개발에서는 더욱 그렇지 않습니까? 대부분의 개발자들에게 앞으로 1~2년이라는 단기간 내에 클라이언트를 리눅스에서 개발해야 하는 경우는 그리 많지 않겠지만, 서버의 경우는 리눅스로 포팅해야 할 경우가 무시하지 못할 정도로 생길 수 있을 겁니다. 그런 이유로 델파이와 C++빌더의 우수성이 다시 한번 빛나는 게 아닌가 싶습니다. VCL은 아시겠지만 CLX를 통해 리눅스와 호환이 되고, 최근의 볼랜드의 언급에 따르면 앞으로는 맥OS와 유닉스에까지 진출할 것이라고 합니다. IDE에 대한 종속성이 무시할 수 없는 것이긴 하지만, 거기에 다른 부작용이 있는 것이 아니라면 굳이 피할 이유도 없겠지요. 또, 사악신님을 빗대려는 것은 아닙니다만, IDE에 대한 종속성을 말하는 대부분의 개발자들의 방식을 보면, MS가 제시한, 역시 하나의 종속적 접근 방식에만 익숙한 분들이 많았습니다. 더 심각한 OS에 종속되어 있는 것을 미처 깨닫지 못하고 개발툴 종속에 문제가 있다, 라는 식으로 말하는 것은 자기 모순이지요. 많은 사람들이 주장하는 명제에는, '다른 많은 사람들도 그렇게 주장하니까 더 사실에 가까울 것이다'라는 심리적인 요인이 작용되는 경우도 많습니다. 특히, '개발 고수란 어떻다'라는 명제가 들어가면 묘하게 자존심이 엮이면서 자기도 모르게 동의하는 경우가 많지요. 개발툴과 언어는 도구일 뿐이라고 말하는 사람이 적지 않은 것은 그런 요인도 적지 않다고 생각되네요. 언어와 개발툴은 단순한 도구일 뿐이다라는 말은 개발자 스스로를 옭아매는 올가미요 자신의 발목을 스스로 잡히는 덫입니다.
잠시 우쭐하며 기분좋게 이런 말을 클라이언트에 했다가는 클라이언트가 자신이 약간의 지식이 있는 쪽을 선택하는 편이 좋겠다고 개발 언어와 툴까지 지정하는 수가 있는데, 그로 인한 모든 고통은 플머가 감당해야 합니다. 가급적 언어와 개발툴은 플머가 알아서 선택해야 합니다. C++처럼 메모리와 포인트를 마음대로 다루다가 다른 언어로 매우 복잡한 로직을 구현하려고 한다면 그 고통이 몇배입니다. 그나마 코딩 레벨이 같으면 다행이지만, 엉뚱하게 비베같은 것에 걸리면 아주 거시기 한 상황이 발생하죠. 그러면 진짜 구현은 C++로 해서 DLL이나 OCX로 붙이게 되는데 이거야 말로 눈가리고 아웅하는것에 지나지 않죠. 고수는 못해서 안한다고 하는 것이 아니라, 시간과 정력을 낭비하는 잘못된 선택을 하지 않으려고 하는 것이죠. 그러다고 제가 고수는 아니고요.. ^^ 사악신님이 말씀하신 바와 같이 사실 여러 경우에 있어 언어와 개발툴 정도는 단순한 도구로 치급하며 말해도 좋을 만한 상황도 있지만, 주력 언어 개발툴의 중요성은 여러 고수들이 강조를 많이 하더군요. ^^ 긴 장문의 답변 감사합니다. 회식 자리가 잡혀있어... 이 재밌는 얘기를
충분하게 못 이을것 같아 걱정입니다. ㅠㅠ 어찌보면 비슷하고 어찌보면 다른, 관점의 차이인것 같다는 생각도 듭니다. 가령 이렇게도 생각해볼 수 있지않을까요? 예를 든 DirectShow와 게임 개발의 예에서 지적하신 VCL 컴포넌트화된 라이 브러리를 사용한다면, 물론 개발의 접근 방법이 달라질 것입니다. 하지만.. 게임 개발을 업으로 먹고 사는 델파이 혹은 빌더 개발자들이 그런 개발 방 식을 사용할까요? 아마 열에 아홉은 직접 만든 컴포넌트 혹은 라이브러리를 사용하고 있을 겁니다. 그런 컴포넌트 혹은 라이브러리... 물론, VCL 에 걸맞는 아주 예쁜 구조로 만들어지겠지요.^^ 하지만, 중요한 것은 그렇게하기 위해선 결국 DirectX 혹은 각종 AI 이론 혹은 게임 알고리즘 등이 더 중요한 자리를 차지하지 않 을까요? 게임을 제작함에 있어 VCL, MFC 를 논하지는 않을거라 생각합니다. (VCL 화 시키는 것이 큰 비중은 아니라는 겁니다.) 그리고.... 또 매력적인 VCL 컴포넌트이지만 남용하면 좋지 않다는 건 자연 스레 몸으로 터득하는 사실이라 생각합니다. 다들 각자의 방법이 있겠지만... 아무튼 컴포넌트 보다는 소스 차원에서 라 이브러리를 구축하게 되고... 클래스를 구현하며 설계에 임하되 패턴을 고 려하는...이런 행위가 윈도우와 비주얼 C++의 방식을 답습하는 개발자들이기 에 나타나는 현상일까요?(개인적인 얘기지만 저는 터보 파스칼로 시작해서 항상 C 와는 싸움을 하듯 논쟁을 하며 살았습니다. ^^) 이것은 차라리 개발방법론과 관계가 있지 않을까 생각합니다. 알면 알수록 언어가 아닌 이런쪽이 점점 중요해진다고 생각합니다. 제가 당장 자바나 파이썬으로 작업을 하게 된다면 당연히 임프님이 지적하 신 상황이 발생할 것입니다만... 그것은 조금 맞지 않은 예라고 생각합니다. "언어와 개발툴은 도구입니다." 이 말에는... 작업을 함에 있어 손에 익은 도구를 사용하라는 뜻도 내포되어있다고 생각합니다. 언어에 얽매이지 말고 현재 상황에 가장 알맞은 선택을 하라는 뜻이기도 하구요. 그리고 조금 나쁜 얘기지만... 기반 기술에 대한 이해가 높다면... 어떤식 으로든 구현은 가능합니다. 또한, 같은 업종에 서로 다른 언어를 사용하는 개발자간의 커뮤니케이션을 봐도 그렇습니다. 이들이 작업을 논함에 있어 MFC, VCL 혹은 C++, Pascal 에 관한 얘기를 나 누게 될까요? 물론 다소 나누겠지요. 하지만 주 대화는 그런게 아니겠지요? 저는 이런 대화속에 '모든 고수의 길은 하나의 도(道)로 통한다'라는 말이 성립된다고 생각합니다. 결국은 같은 것을 고민하고 그 해결을 이렇게 해결 한 것을 나는 이렇게 해결하고... 등등... 이것은 표현의 문제이지 언어 종 속적이라고 생각하지 않습니다. 그것은 어려운 물리학 이론을 영어로 설명하느냐, 국어로 설명하느냐를 가 지고 따지는 것과 다름없다고 생각합니다. 중요한 것은 그 이론입니다. 다른 언어로 갈아탔을때 효율적이고 최적화된 코드를 뽑아낼 수는 없겠지 만 개발이 가능하며 큰 방향을 벗어나지 않는 것은 오히려 "언어와 개발툴 이 도구"일 뿐이라는 것의 반증이라고 생각합니다. 나머지는 익숙한 것에 대한 경험의 몫이지요. 끝으로 OS 종속적인 것에 대한 부분은 100% 공감하는 바이며, 한편으론 그 것으로 인해 파생한 것들에 대한 얘기를 했다고 생각합니다. IDE 종속에 관한 부분은 분위기가 딱딱해질까봐 흘리듯 꺼낸 얘기인데...^^ 뭐... C++ 을 할 일이 있으면 C++ 빌더를 하게되고 자바를 할 일이 있으면 J 빌더를 찾게되고... UML 을 할 일이 있으면 투게더를 찾게되고...리눅스 에서 개발을 하게되면 칼릭스를 찾게되고 그런것에 관한 얘기였습니다. 사실, 칼릭스로 작업은 파스칼이 좋아서였지만서도 IDE도 무시못할 부분이 었거든요. 한때는 많은 사람이 주장하는 명제에 대해 뒤집어 보는 것을 좋아했지만 천재는 소수일 뿐이며 나 또한 그들과 별반 차이 없다는 것을 인정하게 되 더군요. 그리고 유치한 것일수록 박해하는 것은 더 큰 오류에 빠질 수 있 다는 생각도 종종 하곤 합니다. 물론 임프님은 일반화된 얘기에 일침을 가해, 그것에 공감하기도 하고 또 한편으론 다른 시각에서 바라볼 수 있게해주는 분이라 항상 글이 기다려지 는 분입니다. 왠지 제가 재미없는 노인장같은 기분이드네요. 언제 이런 원론같은 얘기들 을 줄줄 입에 달고 산거지? ㅠㅠ 태선님.. 저는 주력언어가 있는 사람이라면 이러이러한 얘기를 할 것이라는 것에
대한 얘기를 하는 것입니다. 주력언어가 있는데 왜 다른 언어를 고객에게 선택하게 할 것이며... 또 한편으로... 언어는 도구일 뿐인데... 고객이 VC++ 을 요구해도... 델파이로 개발하여 그것을 입증하면 그만인 거 아닌가요? 저는 그런 관점입니다. 그리고 포인터에 대한 이해는 자연히 높아질 수 밖에 없습니다. 비베를 하든 뭐를 하든... 심지어 자바스크립트에서 조차 말입니다. 스크립트들이 OOP를 구현하기 위해 사용하는 그런 방법들에 대한 이해와 그림이 머릿속에 그려지면 뭔가 관습적으로 써오는 것들의 모습이 한단계 다르게 보이지요. 그것이 언어 종속적이라고 생각하지는 않습니다. 사악신님, 쓰고 보니 다소 공격적이기도 했는데 좋게 받아들여주시고 다시 좋은 의견을 멋지게 펼쳐주셔서 정말 감사합니다. 저는 볼랜드포럼이 최대 규모의 커뮤니티가 되건 말건 별로 관심이 없지만, 이런 발전적인 토론이 잇따라 벌어지는 곳이 되길 바라거든요. ^^
먼저 조금 본론을 벗어난 부분입니다만 VCL 컴포넌트 남용으로 언급하신 부분. 컴포넌트 남용이 위험하다는 것은 저도 느끼는 바이고 다른 경력 개발자들도 다들 동의하실 겁니다. 그런데 '남용'이라는 단어는 사용하기에 따라 어감이 많이 달라지죠? 어디까지가 남용일지... 일단, 당연하지만 다른 많은 개발자들이 많이 사용하지 않는 서드파티 컴포넌트를 아무 생각없이 갖다쓰는 것은 좀 위험하죠. 얼리 아답터와 같다고 할까.. 예상치 못한 버그나 부작용을 겪게 마련이죠. 또 서드파티 컴포넌트의 기반인 기본 VCL이 갑자기 너무 크게 바뀌어버리면 개발툴 버전간에 호환이 크게 문제가 되는 경우가 생기는데, 다행히도 볼랜드는 클래스 구조를 크게 바꿔서 소스를 대폭 뜯어고쳐야 하는 정도의 문제는 지금까지는 없었습니다. 볼랜드가 그런 부분에 대해서는 많은 주의를 기울이고 있죠. 서드파티 컴포넌트가 개발툴 버전간에 문제를 일으키는 것은 거의 소스가 없거나 아니면 사소한 버전 체크 코드 때문인데, 이런 부분은 컴포넌트 소스를 조금만 볼 수 있는 사람이면 금방 수정할 수 있습니다. 또, 차별적인 기능을 구현해야 할 핵심 로직을 특정 서드파티 컴포넌트에 너무 의존하는 것도 문제가 있습니다. 예를 들어 전문 검색 엔진을 만드는데 검색 컴포넌트(여러 종류가 있고 성능이 탁월한 것도 많죠)를 갖다 쓸 수 있지만, 이걸 기업의 정보 검색을 위해 쓰는 것은 좋은 선택이지만 그걸로 구글이나 네이버와 경쟁할 수는 없겠죠. 개발 초기에는 별 문제가 없겠지만 구글 급의 기능으로 업하기 위해 세세한 기능들을 구현하자면 결국 거의 새로 만들게 되겠죠. 서드파티 컴포넌트에 이 외에 다른 부작용은 없다고 생각됩니다. 사실 요즘 자바쪽에서는 컴포넌트 기반 개발, CBD가 대유행을 하는데, 자바의 컴포넌트보다 많이 알려지지는 않았어도 VCL 컴포넌트가 훨씬 실용적이라고 생각되네요. 남용하면 안된다는 것은 분명하지만, 남용의 범위를 정확히 정의하지 않는다면 '남용'이란 단어의 남용밖에 안된다고 생각됩니다. 그럼 이제 본론으로. 다이렉트X 개발을 위해서는 대부분의 개발자들이 VCL의 방식을 사용하지 않는다는 것은 저도 말씀드린 바 있습니다. 저는 그런 '대세'조차 그 길밖에 없는 것이 아니라 개발자 개개인들이 한 방식을 선택한 결과라고 말씀드린 겁니다. 그리고 그런 결과는 C++빌더와 델파이가 RAD 방식의 개발 외에 하드코딩의 방식까지 지원하는, 소위 '2way tool' 이기 때문에 가능할 수 있는 것입니다. 만약 볼랜드가 C++빌더/델파이에서 이런 개발 접근 방식을 창안해내지 않았다면 다이렉트X 개발을 위해 비주얼 C++밖에는 선택할 개발툴이 없었을 수도 있습니다(비주얼베이직은 무시해도 되겠죠?). 다시 말해, 다이렉트X에서조차, 개발자들이 개발툴을 선택하는 자유가 주어진 것은 볼랜드의 걸출한 개발툴들이 있었기 때문에 가능했다는 말도 된다는 거죠. 물론 C++빌더와 델파이가 비주얼 C++과 똑같은 방식의 다이렉트X 개발을 지원하니까 결과적으로 개발자의 입장에서는 선택의 자유가 있고, 그러니까 중요하지 않다는 논리도 성립됩니다. 만약 모든 게임 개발자가 평생 게임 개발만 할 수 있다면 문제는 전혀 없겠지요. 그런데 제가 보기에는 우리나라의 게임 개발 업계는 지나치게 부풀려져 있다고 보입니다. 너도 나도 일단 시도해보고, 잘 되면 좋고 안되면 그냥 팀 해체해버리고 사업 접어버리는, 벤처 거품의 마지막 잔재가 남아있는 곳이 게임 업계가 아닌가 싶습니다. 이렇게 부풀려져 있는 게임 업계에 게임 전문 개발자가 엄청나게 많이 있는데, 게임 개발에 대한 투자가 시들해지기 시작하면 많은 개발자들, 특히 실력 등이 모자라는 개발자들이 다른 분야의 개발 업계로 이동하게 되겠지요. 그나마 패키지SW 업계로 이동할 수 있으면 좋을 것입니다. 저보다 잘 아실 거 같습니다만 게임 개발은 업무 개발보다는 패키지SW 개발과 비슷하지요. 그런데 우리나라의 패키지SW 업계는 손바닥만해서 인력 수용의 여력이 별로 없습니다. 개발 업계 안에서 큰 이동이 생기면 남는 개발 인력은 대부분 업무 개발 쪽으로 가죠. 흔히 말하는 SI성 개발 말입니다. 그렇다면, 비주얼 C++로 화면 만들고 업무 개발을 하겠습니까. 그 시점에서 개발자 인생 처음부터 다시 시작해야 합니다. 비참해지겠죠. 결과적으로 비주얼 C++을 선택한 개발자의 선택 범위가 좁은 것이 치명적입니다. 물론 여기에는 당연히 지금 게임 업계가 지나치게 불풀려져 있는 것이 더 큰 원인이기 때문에 본론과는 조금 다른 얘기일 수 있습니다. 하지만 이런 원인이 아니라도 개발자가 게임 개발, 업무 개발, 패키지 개발 등으로 분야를 옮기는 경우는 종종 일어날 수 있습니다. 여기서 게임/패키지 개발 외에 다른 선택은 할 수 없는 개발툴인 비주얼C++과 자유롭게 선택할 수 있는 개발툴인 C++빌더/델파이의 차별성이 생기는 겁니다. 아시겠지만, "개발툴과 언어는 도구일 뿐이다"라는 명제에 대해 사악신님과 제가 바라보는 시각이 조금은 각도가 다릅니다. 저는 개발자의 삶이라는 긴 주제에 대해 주로 얘기하고 있고, 사악신님은 현재를 말씀하고 계신 거 같습니다. 또 저는 개발툴들이 아무렇게나 선택할 수 있는 동등한 관계가 아니라, 어느것을 선택하느냐에 따라 개발자로서의 인생이 상당부분 좌우된다는 것에 중점을 두고 말하고 있습니다. 심지어는, 이것은 지금까지의 제 주장 일부를 역으로 말해도 성립됩니다. 델파이/C++빌더를 선택했을 경우 개발툴 자체의 우수성으로 장점도 많지만, 반대로 취업할 수 있는 직장의 수가 적습니다(물론 그만큼 인력도 적기 때문에 경쟁률은 비슷합니다만). 따라서 개발툴을 선택하는 문제가 중요하지 않을 수가 없습니다. '모든 고수의 길은 하나의 도(道)로 통한다' 라는 말 주위에 하신 말씀도 좀 무리가 있다고 생각합니다. 전제로 든 상황이, 같은 업종의 다른 언어를 사용하는 개발자들간의 대화를 말씀하셨는데요. 그런 상황이니까 그런 얘기만 하는 것 아니겠습니까. 정반대로, 다른 업종의 같은 언어를 사용하는 개발자들간의 대화(포럼의 오프모임이 딱 그렇죠)의 경우라면, 또 반대의 결과가 됩니다. 사악신님도 제가 말하는 핵심은 충분히 공감하시고 계신 것 같아서, 뭐 이렇게 구질구질 쓰는 게 뭣하기도 하네요. 단지 저는 아마도 게임업계에서 일하고 계시는 것으로 보이는 사악신님과 같은 경우보다는, 다른 업계에서 일하는 대부분의 개발자들은 그 정도가 훨씬 심하다는 것을 말씀드리고 싶었습니다. 제 글이 기다려진다고 괜히 띄워주셨는데.. 감사합니다. ㅎㅎㅎ 사실 저도 약간은 지나치게 논리를 풀어간다는 걸 알고는 있습니다. 그렇다고 실제로 제가 제 글에 쓰는 것처럼 그렇게 극단적인 생각을 하는 사람은 아니고요. 대체로 개발자들의 성향이 보수적이고 비관적인 등 한쪽으로 많이 치우치기 때문에 다른 의견의 가능성을 보여주느라 일부러 오버하는 면도 많습니다. 전 개발자들도 다양한 이슈들과 가치들에 대해 '판단'을 좀 더 하면서 살아갔으면 좋겠거든요. 으읍. 속이 쓰립니다.(술이 과했나 봅니다.^^) 음... 그러고보니 덧글이 진짜 길군요.
개인적으로 트리구조로 글들이 들쭉날쭉한 것을 싫어하다보니 이런 형태를 저도 모르 게 선호하게 되는것 같습니다. "남용"에 관한 부분에 대한 범위를 지적해주셔서 감사합니다. 그 주제만으로 긴 얘기 가 진행될 수 있겠습니다... 이런 글을 씀에 있어 항상 주의하기 마련인데... 한편으 론 그런 상황 자체가 더 지치게 만들더군요. 아무튼 임프님의 남용이 될 수 있는 사례 와 자세한 설명은 제가 생각한 "남용"의 범위에 적합합니다. 사실, 주제 자체가 모호한 상태라~ 더 이상 깊은 얘기는 힘들지 않을까 생각합니다. 이미 나올 얘기는 다 나온것 같고 나머지는 혹시라도 이 글을 읽고 계실 다른 분들에 게 판단의 근거 정도 역할만 된다면 충분하지 않을까 싶습니다. 임프님의 글 중에, "저는 개발자의 삶이라는 긴 주제에 대해 주로 얘기하고 있고, 사악신님은 현재를 말씀하고 계신 거 같습니다." 라는 말이 가장 와닿습니다.^^ 지금 저는 현재가 개발자 삶의 끝입니다. 제가 1년을 더하면 개발자의 삶이 1년 더 연 장되고 제가 2년을 더하면 개발자의 삶이 2년 더 연장되는... 그런 생각으로 임하고 있습니다. 개발자들의 정년이 아직 진행중인 대한민국에서의 특수상황이라고 생각합니 다.(저 보다 앞선 선배들이 개척하고 있는 이 길을 치열하게 따라가고 있습니다. 우리 가 생각하는 개발자의 정년은 백발성성한 노인네까지 아니겠습니까? ^^) 그리고 여담이지만 저는 게임업계에 몸담고 있지않습니다.^^ 패키지 개발자가 더 어울 릴것 같습니다. DB 툴로 취급 받는 델파이 덕에 SI 혹은 DB 관련 일은 가급적, 아니 거 의 하지 않고 있구요. 음음...그래서인지 비교적 자유로운 주제로 이것저것 잡식성으로 공부하고 일하는 편입니다. 게임쪽도 마찬가지구요.^^ 덕분에 C++ 프로그래머보다 더 많 이 C++ 소스를 보지않을까라고... 생각합니다.... 컨버팅해야하거든요. ㅠㅠ 별로 영양가 없는 얘기를 길게 쓴 게 아닌가 싶습니다. ^^~ 슬슬 퇴근 준비해야겠습니다. 관련 글 리스트
|
Copyright © 1999-2015, borlandforum.com. All right reserved. |