내가 델파이를 계속 선택하는 이유
- 2021-06-01
- Posted by: Narae Kim
- Categories: 기술자료, 메인 노출


초창기 내가 터보 파스칼을 배울 때는 내가 베이직과 배치 파일 프로그래밍에서 벗어나서 개발자로서 크게 한 단계 도약하던 시기였는데, 당시 난 처음 나온 델파이에서 광채를 봤고 한눈에 반했다. 다른 언어나 도구를 배우는 데 관심이 전혀 없었는데, 델파이로는 무엇이든 할 수 있었고, 멋졌기 때문이다. 나는 수많은 작업을 했는데 내가 관심 있는 델파이 만으로도 충분했다.
학문적인 관점에서 다른 프로그래밍 언어가 알고 싶어서 나는 Assembly 에서 야간 수업을 수강하고, C와 C++을 살짝 경험해보았다. (당시 한창 유행이던) 루비, 자바, 자바스크립트 등등도 알아보았다. 그렇게 몇 년을 보내고 결국 C/C++/COM이 뒤섞여있고 리눅스에서 작동하는 레이저 프린터를 디버깅하고 있는 나를 발견했다.

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

나는 델파이 개발만을 하는 곳으로 옮겼는데, 그 회사는 C#과 실버라이트가 미래라고 믿었다. 나는 C# 경력이 있었으므로, 그곳에서 실버라이트로 프론트엔드를 새로 구현하는 작업을 시작했다. 백엔드와 데스크톱 앱은 델파이 (그리고 약간의 C++)로 유지되었다. (만약 아직 기억하는 사람들이 있다면) 실버라이트가 어떻게 되었는지는 누구나 잘 알고 있다.
그 후 난 완전히 다른 곳으로 뻗어갔다. C#, 자마린, 자바, 자바스크립트, 오브젝티브C, (당시에 델파이 프리즘으로 불리던) 옥시진 등으로 많은 작업을 했다. 그 안에는 델파이도 여전히 조금 섞여 있었다. 나는 안드로이드 개발을 위한 자바 강의와 워크샵을 하기도 했다. 그러면서 내가 좋아했던 모든 것들(오브젝티브C는 그 정도 까지는 아니었지만)에 대한 것들을 알게 되었다.


개발자의 기술 대부분은 언어, 도구, 플랫폼 영역에 모두 걸쳐있다는 것을 이제는 알고 있다. 여러가지 언어를 알고 사용하는 것 역시 가치가 있다. 각 언어의 기본 요소들을 알고 있으면 다른 언어로 작업하는 방법에도, 긍정적으로, 영향을 준다. 즉 문제를 다양한 방식으로 바라볼 수 있도록 해준다. 어떤 프로젝트, 플랫폼, 문제들은 각자에 가장 잘 맞는 특정 언어나 도구가 있기도 하다. 예를 들어 웹 작업을 한다면 추상화된 계층을 사용하는 경우라고 해도 적어도 자바스크립트, HTML, CSS를 어느 정도 알아야 한다.
이 모든 것을 거치면서도 개인 프로젝트에서는 여전히 델파이를 선택했었다. 상황에 따라 가끔은 개인 프로젝트에서 다른 도구와 언어를 시도하기도 했는데 그것들을 좀 더 알고 싶은 이유 때문이었을 뿐, 일반적인 목적의 프로젝트 대부분에는 델파이가 더 좋은 솔루션이었다. 내가 델파이로 계속 돌아오도록 한 것은 일반적인 공통 작업을 정말 정말 쉽게 할 수 있기 때문인데 그러면서도 그 나머지 영역의 작업 역시 간단하고 또 가능하다는 델파이의 특징 때문이다.


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

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

나는 수많은 소프트웨어 개발 조직에 참여하는데 개발자들이 자신들이 사용하는 도구의 새 버전을 사용하기 위해 코드를 얼마나 힘들게 이식하는 지, 델파이가 아닌 프로그래밍 언어나 프레임워크에서 새 버전이 나오면 코드가 어떻게 깨지는 지에 대해 불평하는 것을 흔히 경험한다. 가끔은 새 버전을 지원하기 위해 기존의 코드를 모두 버리고 새로 작성하기도 하는 것이 현실이다. 물론 델파이도 완벽한 것은 아니라서 버전이 바뀌면서 호환성이 지켜지지 않거나 깨지는 경우가 있기는 하다. 하지만 델파이는 지금껏 내가 본 시중의 어느 다른 언어나 플랫폼보다 훨씬 더 좋다.
“시작할 때에는 내가 아는 것이 델파이기 때문에 선택했었지만, 지금은 어느 다른 것들 보다 작업을 더 잘 할 수 있게 해주기 때문에 델파이를 선택한다. 개발을 더 빠르게 할 수 있다는 사실은 멋지다. 하지만 그것은 일부에 불과하다. 내가 쓰고 다니던 모자에는 “델파이는 모든 것을 한다. 특히 윈도우 라면!”
이라고 쓰여있었는데, 이 말은 오늘날에 와서 더 분명한 사실이 되었다.
C++ c++빌더 DelphiCon ios rad서버 RAD스튜디오 UI UIUX UX uxsummit vcl 개발 개발사례 고객사례 기술레터 기술백서 데브옵스 데이터 데이터베이스 델파이 마이그레이션 맥 머신러닝 모바일 새버전 샘플 세미나 안드로이드 웹 윈도우 인공지능 인터베이스 코드 클라우드 파이썬 파이어몽키 현대화