내가 델파이(Delphi, Pascal)를 좋아하는 이유

[목차(도우미)]

델파이의 원조인 파스칼(Pascal)언어를 처음으로 접한 것은 1988년 터보 파스칼(Turbo Pascal, 굳이 번역하자면 터빈 파스칼)이 같은 과의 친구들 사이에서 수치해석용 과제 제출용으로 유행하기 시작하면서 였다. 

수치해석 강의는 전통적으로 포트란(FORTRAN, FORmula TRANslation)으로 구성되었지만 과제제출은 프로그램 언어의 제한이 없었다. 포트란으로 과제를 제출하려면 공대 컴퓨터실에 가서 계정별로 사용 시간을 하루 최대 2시간을 예약해야 시스템을 쓸수있었고 PC로 포트란을 쓰려면 예약이 없으므로 전산실을 기웃거리다가 빈자리를 찾아다니는 것이 컴퓨터가 없는 학생의 설움이었다. 그런 중에 파스칼이 인기를 얻을 수 있었던 최대 이유가 있다면 컴파일이 빠르고 통합개발환경이 있어서 편집과 디버깅이 쉬운 점이었다. 포트란과는 비교할 수 없는 사용하기 쉬운 점이 볼랜드사의 터보 파스칼이었다.


그런데 어느날 일반화학 연습시간에 강의 조교가 포트란보다 파스칼이 실행속도가 10배 이상 빠르고 파스칼보다 C언어가 더 빠르다는 말을 함으로 순진한 학생들은 터보 C로도 관심을 가지기 시작했다. 그러나 나는 터보C는 컴파일 속도가 파스칼에 비하면 마라톤 선수와 걸음마를 배우는 아기 정도의 속도차이가 있어서 터보C를 과제제출용으로는 선호하지 않았다. 제한된 PC 사용시간안에 과제를 완성하려면 시간을 아끼는 것이 유리하기 때문이다.


(꽃을 좋아하는 것도 각자의 취향이겠지만 튤립은 신기하고 우아함을 지녔다.)


그 후 한동안 파스칼 언어보다는 C 언어에 관심을 가지고 있었는데 직장에서 만난 미국인 기술자는 유닉스상에서 파스칼을 써서 기계제어용 프로그램을 개발하고 있었다. 한국의 유행은 C 또는 비주얼(Visual) C/C++가 떠오르고 있었기 때문에 기술자에게 조용히 물어보았다. 굳이 파스칼을 써서 프로그램을 작성하는 이유가 있느냐고 물었을 때 그는 프로그램으로 기계제어를 할 때는 파스칼만큼 응답속도가 빠른 언어가 없어서라고 대답했다. 프로그램에서 스위치를 ON으로 바꾸어도 기계의 스위치가 실제로 ON으로 바뀌는 데까지는 시간적 오차가 생기는데 수 마이크로초를 제어하는 공정계 장비를 제어하기에는 파스칼이 최적이고  C/C++ 언어로는 응답속도가 느려서 사용하지 않는다는 것이다.


세월이 흘러 매킨토시에서 프로그램 개발언어로 맹위를 떨치고 있었다고 하는 볼랜드사의 파스칼이 애플사의 정책변화로 윈도로 넘어오게 되면서 델파이라는 상품명으로 이름을 바꾸고 등장하게 되었다. (이것도 오래전의 일이다.) 터보파스칼에 비하면 객체지향의 언어 사양이 추가 되었고 휠씬 고기능의 쓰기 좋은 언어로 발전되어 있었다. 파스칼은 개발자가 수학자였다고 들었는데 --- 연세대학교 수학과의 한 교수님이 파스칼의 창시자가 지도교수였는데 하도 프로그래밍 과제를 많이 내주어서 연구실을 바꾸어 수학을 전공하였다고 강의시간에 말씀하셨다. --- 파스칼 언어에는 수학적으로도 간결하고 우아한 표현이 많이 있다. 논리적으로도 매우 "강한 타이프 언어(strongly typed)" 언어로 알려져 있다. 강한 타이프 언어라는 점을 C/C++의 개발자에게는 단지 키보드를 세게 쳤다는 의미일 뿐이라고 빈정대는 유머가 되어있다.

지금도 델파이로 윈도상에서 응용 프로그램을 개발하거나 툴을 개발하다보면 언어 자체가 가진 간결함과 VCL(Visual Component Library)의 유용함에 감탄을 금치못한다. 그리고 라이브러리를 보면서 개발 기법을 연구하기도 한다. 게다가 실행 속도와 컴파일 속도에서는 다른 언어의 흉내가 불가능할 정도이다. 쉽고 간편하게 윈도용 응용 프로그램을 개발하는 점도 매력적이다.

그래서 나는 아직도 델파이를 좋아하고 있다.
저작자 표시 비영리 변경 금지
신고
by 금메달.아빠 on 2010.05.30 18:44 주요 단어: , ,
  • BlogIcon 금메달.아빠 2010.06.15 00:27 신고 주소 수정/삭제 답글

    관련 자료를 모아둡니다.
    트랙백 주소: http://blog.naver.com/simair7/100008490414 Delphi : TStringList 의 기능들

  • BlogIcon rageworx 2010.08.31 23:39 신고 주소 수정/삭제 답글

    중학교때 게임을 만들어 보겠노라 하고 인라인 어셈블러와 느린컴퓨터에서 초고속 컴파일 등의 이유로 C 보다 파스칼을 시작한게 계기가 되어 20년 넘게 쓰고 있습니다 .... 20년 이라니 .... 저도 새어 보니 20년 넘게 쓰고 있는 제 자신이 놀랍기도 하네요 ㅎㅎ
    DOS 시절엔 인라인 어셈블러 없이는 느린 BGI 로 게임을 만들기는 넘사벽 이었었는 기억이 나네요...

    • BlogIcon 금메달.아빠 2010.09.01 00:23 신고 주소 수정/삭제

      블로그 방문 감사합니다. 블로그에 방문하여 댓글도 확인했습니다. 우리나라에도 이런 초 베테랑이 계시니 IT 관련 산업에 등불이십니다.
      행복한 하루되세요.

    • BlogIcon rageworx 2010.09.01 17:58 신고 주소 수정/삭제

      감사합니다 :)
      그런데 .. 전 이번에 IT 를 떠났습니다 ...
      개발자가 인간답게 설 곳이 없더라구요 :)
      지금은 개발은 맞지만 조금 다른 업종으로 일하고 있습니다.

    • BlogIcon 금메달.아빠 2015.08.28 23:53 신고 주소 수정/삭제

      IT를 떠나신 것은 안타까운 일이지만 새로운 환경에서도 등불을 끄지 마시고 밝혀 주세요.
      행복한 등불 되세요.

체크하면 비공개 댓글이 됩니다

티스토리 툴바