오늘 한통의 메일을 받았습니다. (물론 수없이 받지만 그중의 하나란 얘깁니다. --;;)
학교에서 C++Builder를 공부하다 주위 선배의 권유로 VC를 공부했고, 지금은 직장에서 다시 델파이를
써야 하는 상황에 계신 분이 상담을 요청하신 내용입니다.
구체적인 상황은 조금씩 다르더라도, 많은 분들이 겪으시고 있을 상황이라서, 그분께는 조금
죄송합니다만 제가 받은 질문과 답변을 익명으로 올려보도록 하겠습니다.
물론 제 생각과는 다른 분들도 많겠습니다만. ^^;;;
문의내용
안녕하세요.
저는 이제 프로그래머의 길을 걷기 시작한 초보 프로그래머입니다.
프로그램을 시작한지 한 5개월 되었습니다. (실제 회사 다른일도 하다보니 많은것을 하지는 못했습니다.)
학교다닐때는 vc++을 해야 살아남는다는 소리를 마니 들어서 나름대로 공부하다가 이렇게 복잡한
언어인가 생각이 들어 c++빌더 책도 사서 공부하는데 선배가 빌더는 쉽게 만들수는 있지만...
자기 나름대로의 코딩이 불가능하다는 식으로 얘기를 해서 다시vc++를 했죠..(win32를 예로 들었습니다.)
현재까지도 뭐가 정도인지를 모르겠습니다. 숲을 보고싶은데 이나무가 좋다 저나무가 좋다는 것에 집착하면서
공부를 한것 같습니다. 이렇다보니 하나의 툴도 제대로 못 쓰는것 같습니다.
회사에 입사해서는 palm 솔루션 개발때문에 코드워리워라는 툴을 썼고,
모바일 게임 제작하느랴 모바일 컴파일러를 사용해봤습니다.
현재 팀장은 win32, visualc++를 사용했습니다. 담주 부터 팀이 바뀌는데 이번 팀장은 델파이를 사용합니다.
다시 델파이를 공부해야 될까요? 델파이나 빌더를 하기위해서도 win32가 필수여야 되는겁니까?
다른얘기로 빠지면, 다른 회사에 같은날에 입사한 친구는
비젼전문회사여서 visual c++만 계속한답니다.
저는 회사가 아직 작아서 이것 조금하고 프로젝트 끝나면 다른것 조금하고..
이런식입니다. 여러가지를 해보게되서 다양한것을 얻지만 한가지의 깊이가 부족하게 되는것 같습니다.
박지훈님께서는 저같은 초보프로그래머가 신입으로 들어온다면 프로그래머의 길이 어떤것이고
어떤식으로 공부를 해야할지 조언좀 해주셨으면 합니다.
무례하게 메일을 보내서 죄송합니다.
오늘 하루도 좋은 하루가 되시고 좋은 주말 되시길 바랍니다.
답변내용
박지훈.임프랍니다.
제가 아는 현실을 말씀드리지요.
일단... VC 사용자들이 대부분 C++Builder에 대해 알지도 못하면서 함부로 말하는 경우가 많은데..
두가지 이유가 있습니다.
VC 사용자들은 다들 한번쯤은 VB를 돌아보게 되는데, VB를 써보면서 VB의 형편없는
코딩기반 프로그래밍 능력에 조금씩 질리는 경우가 많습니다.
그래서 VB 처럼 RAD 프로그래밍 툴을 보게 되면 VB와 같을 것이라고 단정해버리는 경우가 많습니다.
또 한가지 이유는... MS에서 고의적으로 그렇게 소문을 내고 있습니다.
몇차례 MS의 세미나를 참석했을 때 C++Builder에 대해 험담하는 것을 들은 적이 있습니다.
표준이 아니라는 둥.. 세세한 제어가 안된다는 둥.. 그런 얘기들요.
하지만 진실과는 너무나 반대의 얘기입니다.
C++Builder는 Turbo C에서 Borland C++을 거쳐 발전해온 정통 C++ 컴파일러입니다.
쉽게 설명하자면, Borland C++에 Delphi의 RAD 엔진을 얹은 것이 C++Builder라고 보시면 됩니다.
아시다시피 Borland C++은 VC와의 몇년간의 치열한 컴파일러 전쟁끝에 뒤로 밀려난 C++ 컴파일러입니다.
VC에 비해 Borland C++이 결코 뒤지지 않음에도, 단순히 OS를 만드는 회사의 컴파일러가 나을 것이다라는
막연한 개발자들의 생각과, OS의 신기술을 모두 VC를 통해 발표하는 MS의 좀 비열한 방법에 의해
Borland C++이 밀려났던 것입니다.
Borland C++이 VC에 비해 기능적으로 결코 밀리지 않았던 만큼, 그 업그레이드 버전인 C++Builder도
VC에 밀리지 않습니다.
오히려, C++Builder는 Borland C++의 OWL과 델파이의 VCL, VC의 MFC를 모두 포함한, 엄청나게
강력하고 방대한 기능을 제공하는 통합 C++ 개발툴이라고 할 수 있습니다.
Win32 프로그래밍에서 C++Builder가 VC보다 못하다...?
전혀 사실이 아닐 뿐 아니라 오히려 거짓입니다.
C++Builder에서는 Win32 코드를 VC와 똑같이 소화하는 것은 물론, MFC로 작성된 VC 소스코드까지도
컴파일할 수 있습니다. (C++Builder에서 MFC 코드를 쓰려면 조금은 불편한 점도 있습니다만.)
이제 델파이를 쓰게 되셨다구요.
프로그래밍 언어를 제외하고 델파이는 C++Builder와 똑같습니다.
말씀드렸다시피, Borland C++에 델파이를 얹은 것이 C++Builder이기 때문입니다.
게다가 C++Builder에서는 델파이 코드를 똑같이 컴파일하거나 한 프로젝트에서 cpp 소스와 pas 소스를
모두 포함해서 실행파일을 만들어낼 수도 있습니다. (실제로 제가 그렇게 많이 합니다.)
그러므로 델파이를 하시게 되었다고 하더라도, 전혀 접해보지 않은 언어를 쓰게 된 것은 아니라고
생각하시면 됩니다. C++Builder를 조금이나마 공부해보셨으니, 이제 파스칼 언어만 조금 익히면 되는 것
아니겠습니까. 파스칼 언어가 모양은 C++과 많이 달라보여도, 실제로 써보면 C++과 대단히 비슷합니다.
(물론 세부적으로는 다른 점들도 꽤 많이 있습니다.)
MFC만 쓰실때는 거의 Win32 API를 모르고는 코딩이 불가능하죠.
하지만 C++Builder나 델파이는 Two-way tool이라는 컨셉 아래, 모든 문제를 해결함에 있어
코딩 기반으로 해결할 수도, 컴퍼넌트를 배치하고 코딩은 약간만 하는 RAD 기반으로 해결할 수도 있습니다.
코딩기반으로만 해결한다면 성능을 극대화시킬 수 있을 것이고 , RAD 방식으로 해결한다면 생산성을
높일 수 있습니다. (상황에 따라 적절히 섞어서 사용하는 것이 가장 좋습니다.)
그러므로 Win32 API를 몰라도 C++Builder나 델파이를 충분히 잘 활용할 수 있지만,
Win32 API에 익숙하다면 더욱 더 넓은 폭의 선택에 따라 더 나은 코드를 작성하실 수 있습니다.
그러므로.. VC를 오랫동안 사용하셨는데 이제 델파이나 C++Builder를 사용하시게 되더라도 절대
걱정하실 필요가 없습니다. 단적인 예를 들자면, 제가 운영하고 있는 볼랜드포럼의 C++Builder 고수들을 보면
대부분이 과거 VC만 사용하다가 우연한 기회에 C++Builder를 알게 되어 심취하신 분들이 대부분입니다.
처음에 한두달 정도는 좀 익숙하시지 않아서 헷갈리실 수도 있습니다만, 그 정도만 지나면
오히려 처음부터 델파이나 C++Builder만 사용해온 분들보다 더 빨리 배울 수 있습니다.
개발툴에 대한 이야기는 이만하면 충분한 소개가 되었다고 보고요.
그리고...
전문 개발툴을 선택하는 문제와 앞으로의 진로를 가늠하시면서 고민하시는 일이 많으시리라 생각합니다.
사실 많은 분들이 그렇습니다.
다수의 사람들이 가는 길을 따라가지 않으면 불안해지는 것은 사람의 당연한 심리입니다.
하지만 현실은 반드시 사람들의 막연한 추측이나 안도감과 일치하지는 않습니다.
델파이나 C++Builder 사용자가 상대적으로 적기는 하지만, VC나 VB 프로그래머를 원하는 직장이
그렇게 충분하지도 않습니다.
어차피 개발자 시장의 규모라는 것은 그 개발툴을 사용하는 기업의 숫자와 함수관계에 있기 때문에,
C++Builder나 델파이를 사용하는 사람이 많아지면 원하는 기업도 그만큼 많아지고
개발자가 적어지면 원하는 기업도 적어집니다.
그러므로 상대적인 취업의 기회는 사용하는 개발툴이 더 많이 쓰이는 것이냐 아니냐와는 크게 관련이
없습니다.
물론, 상대적으로 적게 쓰이는 개발툴을 주로 쓴다면, 엄청나게 넓은 취업시장에서 그 개발툴 개발자를
원하는 기업을 찾기가 좀 어려워지는 단점은 있습니다.
하지만 무조건 취업 자체가 최우선 목표이고 연봉이나 근무조건 등등의 다른 기업상황은 전혀 상관하지
않는 사람은 없을 것이기 때문에, 어차피 자기에게 맞는 기업을 찾기 위한 어려움은 동일합니다.
초보 프로그래머로서의 길이 무어냐고 물으셨는데...
어떤 개발툴이든 각자의 장단점이 있기 마련이고, 각자의 취업 시장이 있습니다.
그러므로 자신에게 가장 맞고 또 자신이 하려는 일에 가장 맞는 개발툴을 선택하는 것이 왕도라고 할 수 있습니다.
멋모르는 초보개발자들이 모두 MS나 자바로만 달려간다고 그걸 무작정 따라가는 것은 흐름이나
대세를 따르는 것이 아닙니다.
대학이나 교육센터의 주변에 있는 사람들(들어가려고 하거나 현재 그 안에 있거나 막 나온 사람들)은
잡지나 신문등에서 떠드는 이야기만 줏어들어서 막연히 그렇게 믿고 있을 뿐, 현실을 거의 모릅니다.
물론 경력 개발자의 경우에도, 제대로 알고 있는 것은 자기가 있는 곳의 주변뿐인 경우가 많습니다.
일단 취업을 하고 보는 것이 중요한 것이 아니라 앞으로의 진로가 정말 중요하다는 것을 확실히 자각하고 계시다면,
주변 한두사람의 이야기만 듣고 쉽사리 이리저리 흔들리지 마시고, 폭넓은 사람들에게 이야기들을 들어보신 후
결정은 완전히 스스로 하셔야 합니다.
결정하시는 데 있어 주변 사람들의 의견이 자신의 주관보다 더 큰 영향을 미쳐서는 안되겠지요?
도움이 되셨기를 바랍니다.
Jeehoon Imp Park
http://www.borlandforum.com/