귀하는 손님 이십니다
로그인
회원가입
  
  델마당 공식 은행계좌
  하나은행 227-910235-83607
  예금주 이상국(운영진)
프로젝트 게시판
투표게시판
델마당소개
기초부터 활용까지! 델파이 교육 - 데브기어
 광고문의 :
자유게시판 자유게시판 입니다.
글내용 - 자유게시판
 Once Upon A Time In Delphi
주정섭
(주정섭)
2019-04-26 오전 9:46:56
765회 조회


등록된 파일이 없습니다.

Once Upon A Time In Delphi

개발자에게 주종 개발툴 선택은 매우 중요한 결정이다. 이는 미용사들의 전동 이발기처럼 대단히 중요한 직업적 필수 도구이며, 개발 생산성을 매우 좌자우지하기 때문이다. 다른 개발자들은 어떤 기준으로 주종 개발툴은 선택하는지 모르겠지만, 나는 주종 개발툴을 대략 다음과 같은 기준으로 선택한다.

1. UI 코드 작성이 편한가? 즉 화면 처리 라이브러리가 얼마나 잘 되어 있는가?
2. 개발 환경의 편의성이 좋은가? 즉 소스 수정, 리팩토링, 컴파일 등등의 기능이 얼마나 편한가?
3. 내가 만든 프로그램이 동작하는 OS와의 친화성. 즉 그 개발툴이 어떤 오에스를 잘 지원하는가?
 
윈도우즈 시대로 넘어오면서 내가 델파이를 선택한 이유는, 앞의 3가지 기준에서 델파이가 가장 좋았다고 판단했기 때문이다. 혹자는 델파이의 뛰어남 중에서 오브젝트 파스칼을 꼽기도 하지만, 내 생각에 오브젝트 파스칼은 별로다. 객체지향 문법에서 빠진 것도 많고, C++이나 비베 보다는 나을지 몰라도, 의외로 많은 코딩량을 강요한다.

나의 판단으로는, 위 기준에서 첫번째가 가장 중요하다고 본다. 왜냐하면 대부분의 프로그램에서 화면처리(UI) 코드가 전체 코드량의 80 프로를 점한다고 해도 과언이 아니기 때문이다. 만일 귀하가 만들려는 프로그램이 UI가 전혀 없다면, 델파이보다 차라리 C++이나 파이선이 더 나을 수도 있다.

따라서, 델파이의 최대 강점은 VCL 프레임웍이다. 내 판단으로는, 그 당시에 윈도우즈 UI를 구현하는데 델파이는 최고였다. 내가 델파이 샘플 소스를 보고 반한 이유 역시, 드디어 진정한 객체지향적 UI 클래스 라이브러리를 발견했다는 확신 때문이었다.

C++로 많은 코딩을 해보지는 않았지만, 나는 그때 C++의 객체지향에 이미 빠져 있었다. 그러나 그때에는 어떤 개발툴도 제대로된 객체지향적 UI 프레임웍을 갖춘 것이 없었다. 어쨋든 그당시 나의 좁은 경험으로는, 델파이는 최고의 객체지향적 UI 프레임웍(VCL)을 갖추고 있었다. 그리고 제대로된 통합 IDE도 갖추고 있었다.

그래서 그후로 참으로 오랫동안 델파이를 잘 사용했었다.

그런데 델파이를 사용하면서 점점 불만이 생기기 시작했다. 예를 들어, 최근 버전에 추가 되기는 했지만, C++의 템플리트(지네릭) 미지원이라든가, 몇몇 엉성한 클래스 관련 문법, 어정쩡한 interface 문법, 어정쩡한 자동 파괴의 구현, 다중(multicast) 이벤트 처리의 까다로움 등등.

내 기억에 따르면 2007 버전까지 오브젝트 파스칼은 거의 문법적 변화가 없었다. 달리 말하면 델파이는 그때까지 예전 제품 우려 팔아먹기를 해왔다는 것이다. 별 기능 추가 없이, 버그만 살짝 고치고, 서드 파티 라이브러리 몇개만 추가해 놓고는 새 버전이랍시고 팔아 먹었다는 것이다.

그 이후는 여러분들도 알다시피, 델파이는 고질적인 무능한 관료주의 체계하에, 미미한 기능 추가, 버그 패치, 가격 후려치기, 기존 고객 등쳐먹기로 현재까지 유지하고 있다. 내 생각에는 정말로 실력있는 델파이 개발자들은 모두 퇴사하고, 실력없는 델파이 개발자들만 본사에 남아서 델파이를 버전업하고 있는 것이 아닌가 하는 의심마저 든다.

요즘같이 급변하는 개발환경에서 델파이는 전혀 제대로된 대응을 못하고 있다는 확신이 들기 시작했다. 안드로이드, ios, 리눅스 등등 타 os 지원은 고사하고 윈도우 만이라도 제대로 지원을 하는지 조차 의심스럽다.

한때 델파이는 가장 뛰어난 윈도우즈 개발툴 중 하나였지만, 현재 그 위치는 분명히 추락하고 있다. 과연 델파이는 생산성 있는 개발툴인가? 급변하는 os에 잘 대응하는 개발툴인가?

혹자는 이렇게 말할지도 모른다.

"델파이 버전업이 뒤쳐지거나 기능이 후지면 내가 알아서 VCL을 고쳐 쓰거나 새로운 기능을 추가해서 사용하면 되지."

그런데 이럴 바에야 대체 왜 델파이를 사용하는가? 그냥 Visual C++을 사용하고 말지. 델파이는 하이 레벨 언어답게 C++ 보다 월등히 높은 생산성을 가져야만 한다. 그리고 이런 말 하는 개발자들 치고 실제로 그리 실력 있는 개발자를 잘 본적이 없다. 말 뿐인 개발자들이다. 기존 버전 유지같은 예외적인 경우를 제외한다면, 2019년 현재까지도, 신규 프라젝트를 델파이 5나 7로 만드는 개발자들의 실력은 과연 위대할까?

과거에 내가 델파이를 선택한 이유는 C 언어로 윈도우 어플을 만드는 생노가다를 하기 싫어서 였다. 정확히 고백하자면, C 언어로 윈도 어플을 만들 정도의 실력자가 아니었기 때문이다. 나처럼 Windows API를 잘 모르는 허접 실력을 가졌다 해도, 윈도 어플을 만들기에 별문제가 없을 정도로, 델파이는 VCL로 Win API 래핑을 너무 잘했기 때문에 나는 델파이를 선택했었다. 나 같이 실력이 미천한 개발자는 생산성이 좋은 개발툴의 도움이 절실히 필요하다.

현시점에서 델파이는 다른 개발툴에 대해서 어떤 장점을 가지는가? 이제 다른 개발툴을 선택해야할 시기가 되지 않았는가? 미용사들이 더 나은 전동이발기를 찾듯이, 나도 더 나은 개발툴을 찾아볼 때가 되지 않았는가?

내가 과거에 클리퍼를 버렸듯이, 이제 델파이를 떠나 보낼 때가 되지 않았는가? 델파이가 사골도 아닌데, 너무 우려 먹은것 아닌가?

내 결론은 이랬다.

"잘있어 그리고 잘지내 델파이! 한때 정말로 사랑했어. 그러나 이젠 너와 헤어지고 싶어. 지금 넌 너무 비싸고 실속이 없어.
이제 그만 다른 여자를 만나고 싶어."