내가 델파이를 계속 선택하는 이유

초창기 내가 터보 파스칼을 배울 때는 내가 베이직과 배치 파일 프로그래밍에서 벗어나서 개발자로서 크게 한 단계 도약하던 시기였는데, 당시 난 처음 나온 델파이에서 광채를 봤고 한눈에 반했다. 다른 언어나 도구를 배우는 데 관심이 전혀 없었는데, 델파이로는 무엇이든 할 수 있었고, 멋졌기 때문이다. 나는 수많은 작업을 했는데 내가 관심 있는 델파이 만으로도 충분했다.

학문적인 관점에서 다른 프로그래밍 언어가 알고 싶어서 나는 Assembly 에서 야간 수업을 수강하고, C와 C++을 살짝 경험해보았다. (당시 한창 유행이던) 루비, 자바, 자바스크립트 등등도  알아보았다. 그렇게 몇 년을 보내고 결국 C/C++/COM이 뒤섞여있고 리눅스에서 작동하는 레이저 프린터를 디버깅하고 있는 나를 발견했다. 

그 이후 나는 다시 전업 델파이 개발자로 돌아갔다. 하지만, 새로 들어간 회사에서는 “시중에 델파이 개발자가 충분하지 않다”라는 근거 없는 말을 믿고 C#과 WinForms로 바꾸기로 결정했다. 우리는 C# 개발자를 즉시 채용할 수 있었는데 알고 보니 그들은 C#보다 델파이 경력이 더 많았다. 그들은 “시중에 델파이 채용이 없다”는 근거 없는 말을 믿고, 자신들에게 C# 개발자 타이틀을 붙였던 것이다 (일종의 순환 인수 또는 자기 실현 예언이다. 즉 잘못된 믿음을 시작으로 잘못된 결론을 내고 다시 잘못된 믿음을 확고하게 만드는 것). 결국, C#으로 진행된 프로젝트는 당연히 끝나야 할 시간보다 4배나 더 많은 시간이 걸렸다. 개발자도 더 많았고, 도구도 더 최신이었는데도 그랬다. 그 회사는 델파이를 유지했어야 마땅했다. 

나는 델파이 개발만을 하는 곳으로 옮겼는데, 그 회사는 C#과 실버라이트가 미래라고 믿었다. 나는 C# 경력이 있었으므로, 그곳에서 실버라이트로 프론트엔드를 새로 구현하는 작업을 시작했다. 백엔드와 데스크톱 앱은 델파이 (그리고 약간의  C++)로 유지되었다. (만약 아직 기억하는 사람들이 있다면) 실버라이트가 어떻게 되었는지는 누구나 잘 알고 있다. 

그 후 난 완전히 다른 곳으로 뻗어갔다.  C#, 자마린, 자바, 자바스크립트, 오브젝티브C, (당시에 델파이 프리즘으로 불리던) 옥시진 등으로 많은 작업을 했다. 그 안에는 델파이도 여전히 조금 섞여 있었다. 나는 안드로이드 개발을 위한 자바 강의와 워크샵을 하기도 했다. 그러면서 내가 좋아했던 모든 것들(오브젝티브C는 그 정도 까지는 아니었지만)에 대한 것들을 알게 되었다.

개발자의 기술 대부분은 언어, 도구, 플랫폼 영역에 모두 걸쳐있다는 것을 이제는 알고 있다. 여러가지 언어를 알고 사용하는 것 역시 가치가 있다. 각 언어의 기본 요소들을 알고 있으면 다른 언어로 작업하는 방법에도, 긍정적으로, 영향을 준다. 즉 문제를 다양한 방식으로 바라볼 수 있도록 해준다. 어떤 프로젝트, 플랫폼, 문제들은 각자에 가장 잘 맞는 특정 언어나 도구가 있기도 하다. 예를 들어 웹 작업을 한다면 추상화된 계층을 사용하는 경우라고 해도 적어도 자바스크립트, HTML, CSS를 어느 정도 알아야 한다. 

이 모든 것을 거치면서도 개인 프로젝트에서는 여전히 델파이를 선택했었다. 상황에 따라 가끔은 개인 프로젝트에서 다른 도구와 언어를 시도하기도 했는데 그것들을 좀 더 알고 싶은 이유 때문이었을 뿐, 일반적인 목적의 프로젝트 대부분에는 델파이가 더 좋은 솔루션이었다. 내가 델파이로 계속 돌아오도록 한 것은 일반적인 공통 작업을 정말 정말 쉽게 할 수 있기 때문인데 그러면서도 그 나머지 영역의 작업 역시 간단하고 또 가능하다는 델파이의 특징 때문이다. 

델파이는 이제 훨씬 더 중요해졌는데, 멀티 플랫폼까지 개발할 수 있기 때문이다.  델파이와 파이어몽키의 방식은 일반적인 공통 작업 대부분을 빠르게 쉽게 하면서도 내부의 모든 플랫폼 API와 기능을 접근할 수도 있도록 하는 것이다. 

내가 아는 한 델파이는 써드 파티 컴포넌트 시장을 처음 고안해냈다. 델파이 안에는 처음부터 VCL 소스 코드 전체가 들어있었고 견고한 오픈툴스 API와 컴포넌트 모델이 있어서 다른 사람들이 개발 환경을 확장하거나, 재사용 할 수 있는 컴포넌트와 라이브러리를 만들기가 쉬웠다. 많은 기술 파트너들이 있다는 점 역시 내가 델파이를 선택하는 이유의 큰 부분을 차지한다.

나는 수많은 소프트웨어 개발 조직에 참여하는데 개발자들이 자신들이 사용하는 도구의 새 버전을 사용하기 위해 코드를 얼마나 힘들게 이식하는 지, 델파이가 아닌 프로그래밍 언어나 프레임워크에서 새 버전이 나오면 코드가 어떻게 깨지는 지에 대해 불평하는 것을 흔히 경험한다. 가끔은 새 버전을 지원하기 위해 기존의 코드를 모두 버리고 새로 작성하기도 하는 것이 현실이다. 물론 델파이도 완벽한 것은 아니라서 버전이 바뀌면서 호환성이 지켜지지 않거나 깨지는 경우가 있기는 하다. 하지만 델파이는 지금껏 내가 본 시중의 어느 다른 언어나 플랫폼보다 훨씬 더 좋다. 

“시작할 때에는 내가 아는 것이 델파이기 때문에 선택했었지만,  지금은 어느 다른 것들 보다 작업을 더 잘 할 수 있게 해주기 때문에 델파이를 선택한다. 개발을 더 빠르게 할 수 있다는 사실은 멋지다. 하지만 그것은 일부에 불과하다. 내가 쓰고 다니던 모자에는 “델파이는 모든 것을 한다. 특히 윈도우 라면!”

이라고 쓰여있었는데, 이 말은 오늘날에 와서 더 분명한 사실이 되었다.

AI api C++ c++빌더 cpp database Delphi DelphiCon Firedac fmx IDE ideas interbase ios migration modernization news RAD스튜디오 tips UI UIUX vcl windows 개발 개발사례 개발팁 겟잇 기술레터 기술백서 데이터 데이터베이스 델파이 마이그레이션 모바일 보안 안드로이드 윈도우 윈도우10 인공지능 인터베이스 출시 파이어몽키 프로젝트 현대화