KLDP Interview/민인학
대한민국 Tcl/Tk 사용자 그룹의 리더 : 민인학 ¶이 기사는 리눅스매거진 2004년 1월에 실렸던 기사입니다. KLDP내에서도 활발히 활동하고 계시고 Korea Tcl/Tk 커뮤니티를 운영하고 계신 민인학씨와의 인터뷰입니다.
Tcl/Tk는 분명 우리 리눅서에게는 낯설지 않은 스크립트 언어이다. (지금 당장 당신의 리눅스 시스템에 Tcl/Tk 패키지가 설치되어 있는 것을 확인해보라!) 다만 리눅스 세계에 발을 들여놓으며 귀따갑게 들어왔던 낙타와 뱀(편집자주 익히 알다시피 O'Reilly에서 출판한 서적의 표지를 장식하는 동물들은 IT 세계에서 해당 기술을 상징하는 심벌로 기억되어왔다. 낙타와 뱀은 각각 스크립트 언어인 Perl과 Python을 상징한다. 참고로 Tcl/Tk를 상징하는 심벌은 깃털이다. 아파치 웹 서버의 심벌 역시 깃털이라서 혼란스러울 지도 모르겠다. 이 차이는 아파치 웹 서버의 깃털이 옆으로 뉘여져 있는 것에 비해 Tcl/Tk의 깃털은 바짝 세워져 있는 것으로 구분할 수 있다.)
에 대한 예찬론으로 ‘미안하지만 잠시 기억 뒷편에’ 접어두었을 뿐 Tcl/Tk는 당신의 리눅스 시스템에서 언제든지 Standby 상태일 것이다.
이제 잊혀졌던 서랍장을 열고 Tcl/Tk와 만나러 떠나보자. 당신의 여정에 대한민국 Tcl/Tk 사용자 그룹의 리더 ‘민인학’씨가 함께 할 것이다.
[JPG image (163.2 KB)] <사진 1> 대한민국 Tcl/Tk 사용자 그룹의 리더 : 민인학씨
Q : 대략적인 자기소개를 부탁합니다.
고향은 경기도 가평이며, 대전에서 직장생활중인 27살의 프로그래머입니다. 현재의 직장을 다니기 전에는 하이닉스 반도체에서 엔지니어 생활을 4년 정도 했습니다. 중학교 2학년 때부터 키워 온 꿈이 프로그래머라 과감히 현재의 직장을 택했습니다. 사실 프로그래머가 힘든 일이지만, 그래도 제가 꿈꿔왔던 직업이라 만족하며 살고 있습니다. 이런 결심을 하지 않았더라면, 리눅스 매거진 독자 여러분을 이런 자리를 통해 만나기 힘들었을 거라 생각합니다.
Q : 현재 어떤 일을 하고 있는가?
현재 반도체 검증 툴을 제작하는 벤처회사인 다이나릿 시스템(http://www.dynalith.com/)에서 연구원으로 있으며, 유닉스/리눅스/윈도우즈에서 동작되는 GUI및 기타 프로그래밍을 담당하고 있습니다.
Q : 리눅스와 연관을 맺은 시기, 어떤 일로 리눅스와 친해지게 되었는가?
리눅스를 처음 접한 시기는, 1996년경 gcc컴파일러를 MS-DOS로 포팅한 32비트 컴파일러인 djgpp에 관심을 가지면서, gcc를 기본컴파일러를 하고 있는 리눅스를 알게 되었습니다. DOS상에서의 마지막 작품은 djgpp로 만든 32비트 한글라이브러리이며, 1997년에 본격적으로 리눅스를 사용하게되었습니다. 국내 그 당시에 생소했던 리눅스를 처음 접하면서 리눅스 프로그래밍에 관심을 갖게되어, 첫 작품인 GTK+를 이용하여, 통신프로그래밍인 가우에 필적할만한(저 나름대로의 생각입니다.) 한글입출력을 프로그램 자체에 내장한 통신프로그램을 개발했던 적이 있었습니다. 이 프로그램으로 현재의 회사에서 근무할 수 있게 되었습니다.
Q : Tcl/Tk에 대해 자세히 설명해 주세요.
Tcl/Tk는 Perl(1977년)다음으로 가장 오래된, 1998년에 J.k Ousterhout박사로부터 탄생된 공개 스크립트 언어입니다. Tcl/Tk는 처음 개발당시부터, C언어에 짜 넣거나, 확장성이 높은 인터프리터형 언어로 사용할 수 있는 스크립트 언어를 염두 해 두고 개발되었습니다. Tcl은 평이한 문법을 가지는 강력한 스트립트 언어로, 현재 Perl, Python과 함께 초고급(VHLL)언어로, 많은 사용자층을 확보하고 있습니다. Tcl은 확장성이 높은 언어로 개발이 되었지만, 최초에부터 현재에 이르기까지 최대의 확장 라이브러리는 Tk입니다. Tk는 Tcl 스크립트 언어에 GUI를 접목시켜 하나의 어플리케이션을 완성케 해주는 Tool Kit입니다. Ousterhout박사는 Tcl/Tk가 유닉스 계산기의 GUI어플리케이션을 제작하는데 적합하다는 것을 알아차리고, 당시에 Tcl/Tk의 유용한 활용사례로 공개되어 많은 사람의 이목을 집중시킨 적이 있습니다. Tcl/Tk는 Ousterhout박사가 Sun으로 옮기면서, Sun의 수많은 개발자들과 함께 많은 기능을 보강하여, 스크립트 언어의 강자자리를 지키게 되었으며, 현재는 Tcl Developer Exchange(http://tcl.activestate.com/)에서 개발을 담당하고 있습니다.
Q : Perl, Python 등 다른 스크립트 언어와 달리 Tcl/Tk만이 갖는 장점은 무엇이라고 생각합니까?
Tcl/Tk는 여타 다른 스크립트 언어와는 달리 배우기가 쉽습니다. 문법이 너무나 간단하여, 배우는데는 일주에서 이주정도면 어느 정도의 어플리케이션을 제작할 수 있으며, 또 수많은 확장패키지(Widget, XML, DATABASE, GRAPHICS, NETWORK, 프로세스간의 통신(COM) 등이 준비되어 있어, 고 품질의 어플리케이션을 단시간 내에 제작할 수 있기 때문에, 다른 언어로 개발 하실 때 보다 개발시간을 상당히 단축시킬 수 있는 이점이 있습니다. 멀티플랫폼에 맞추어 개발된 언어답게 거의 모든 플랫폼에 소스코드의 수정 없이 실행할 수 있으며, Tcl/Tk의 코어(core)에 수정을 가하지 않고, 공유라이브러리(dll, so, sl)를 직접 제작하여 Tcl에서 사용할 수 있어, Tcl/Tk의 다음 버전에 원하는 기능이 추가되길 기다릴 필요가 없습니다. Tcl/Tk는 incrTcl/Tk이라는 확장패키지로 C++의 OO문법을 Tcl문법에 그대로 적용 가능합니다. 현재도 incrTcl/Tk은 계속 보완중이며, Tcl/Tk에서 OO의 문법을 사용할 수 있는 패키지는 incrTcl/Tk이외에 여러 개가 존재하고 있습니다. Tcl은 바이트 코드를 지원하여 더욱 빠른 실행속도와 소스코드의 은폐 및 멀티폴랫폼상에서의 실행 동작을 자랑하며, 또 제작한 어플리케이션을 단일의 실행파일로 제작할 수 있어, 제작한 프로그램을 배포시에 편리하며, 소스코드를 보호할 수 있는 또 다른 장점이 있습니다.
Q : Tcl/Tk는 나쁜 언어이니 사용하지 말아라? 라는 유언비어(?)에 대해 한 말씀
리차드 스톨만은 1994년 전자 뉴스상에 'Tcl은 언어구현의 결함 때문에 GNU에서는 채용할 생각이 없다' 라고 발표하여 대단한 바람을 불러일으킨 적이 있습니다. 그 당시에는 Tcl은 황당하리 만큼 쉬운 문법과 기본적인 스크립트언어의 기능만을 갖춘, 또 Perl에 비해서 뛰어난 기능이 없는 보통의 스크립트 언어였기 때문이었다고 생각됩니다. 하지만, 리차드 스톨만의 그러한 발언이 있은 후 Tcl/Tk는 많은 변화가 있었습니다. 우선 SUN으로 옮겨가 많은 기능을 보강하며, 필요성이 없는 기능을 과감히 빼버리게 되어, 버전 8대에 와서는 어느 누구도 부인할 수 없는 스크립트언어의 최강자 자리를 지키게 되었습니다. 현재 리차드 스톨만의 발언은 웃으면서 넘길 수 있는 옛날 얘기가 되었을 정도로, 인터프리터 언어와 컴파일러 언어의 양면을 지닌 훌륭한 언어로 자리를 잡고 있습니다.
![]() [JPG image (45.11 KB)] <사진 2> 문제의 발언을 남기신 리차드 스톨만
Q: Tcl/Tk 사용자 그룹에 대해 (http://tcltk.co.kr/)
개인적으로 어떻게 해서 Tcl/Tk에 관심을 가지게 되었습니까?
Tcl/Tk는 저의 개인적인 필요성으로 알게 된 것은 아닙니다. 저희 회사는 반도체 툴을 제작하는 특성상, 고객들은 멀티플랫폼에서 동작하는 프로그램을 요구하고 있습니다. Tcl/Tk를 사용하기 전에는, 윈도우즈용은 Borland C++ Builder나 VC++로 제작하였으며, 솔라리스/리눅스상에는 gcc와 GTK+를 이용하여 제작하였습니다. 즉 하나의 프로그램을 두 세번 제작하는 어려움을 겪어야만 했습니다. 이때 직장 동료인 양우승 선임 연구원님의 조언으로 Tcl/Tk를 한번 사용해 보는 것이 어떻겠느냐는 제의에 2002년 12월부터 Tcl/Tk를 사용하기 시작했습니다.
![]() [JPG image (207.57 KB)] <사진 3> 대한민국 Tcl/Tk 커뮤니티 (http://tcltk.co.kr/)
Q : 어떻게 해서 Tcl/Tk 커뮤니티를 운영할 생각을 하셨습니까?
Tcl/Tk의 우수성을 국내에 알리고 싶어 시작하였습니다. Tcl/Tk를 1년여 사용하면서 Tcl/Tk의 간결한 문법과 확장성, 또 멀티 플랫폼에서 소스코드의 수정 없이 동작하는 매력에 되도록이면 많은 분들께 알리고 싶었습니다.
Q : 본인에게 딱히 수익이 생기는 것도 아님에도 불구하고 Tcl/Tk 사용자 그룹을 운영하고 있는 이유는 무엇입니까?
저는 이미 많은 분들이 사용하고 있는 언어를 해서는 발전이 없다고 생각합니다. 그래서 되도록이면, 국내에서만큼은 사용하고 있지 않은 언어인 Tcl/Tk를 저의 손끝에서 여러 많은 분들께 알리고 싶었고, 현재도 많은 분들께 알리고 싶은 것이 저의 심정입니다. 일단 저의 생각에 동참하시는 분들이 한두 분 늘어가지만, 그렇지 못한 사람들에게도 최선을 다해 알릴 생각입니다.
Q : 현재 Tcl/Tk 사용자 그룹은 어떻게 운영되고 있으며 그 규모는 어느 정도입니까?
현재 사이트 운영에 있어서 계정은 저의 사비로 충당하고 있습니다. 제가 좋아서 시작한일이고, 제가 발전 할 수 있는 기회기에, 운영에 되는 돈과 시간은 크게 여념하고 있지 않습니다. 회원수를 비교하면, 파이썬 국내 싸이트(python.or.kr)에 비교해서 회원수가 많이 적은 75~80명 정도입니다. 현재 사이트의 글들은 회원을 가입하지 않아도 글을 읽을 수 있게 해놓았기 때문에, 이로 인해서 방문하시는 분들이 회원가입의 필요성을 느끼지 못하는 것 같습니다. 저의 사이트 목적이 회원을 늘리는 것이 아니라, 최대한 많은 분들께 Tcl/Tk를 알리는 것이기 때문에, 이 점은 변함이 없을 것입니다.
Q : Tcl/Tk 사용자 그룹 운영의 애로점은?
현재 대부분의 글들이 제가 경험한, 또 개인적으로 Tcl/Tk에 대해서 공부한 강좌들뿐입니다. 회사의 업무 때문에, 강좌를 예전처럼 자주 올리진 못하지만, 회원분들이 자발적으로 사이트에 참여하여 주시면, 운영하는데 많은 힘이 될 것 같다는 저의 작은 바램이 있습니다. 그 외에 아직 까지 운영하는데 큰 문제점이나 애로점은 없습니다.
Q : 앞으로 Tcl/Tk 사용자 그룹이 나아가야할 방향은?
현재는 초보적인 글들과, 확장패키지 사용법 등, Tcl/Tk를 사용하는데 있어 다양한 정보를 다루고 있지만, 앞으로는 필요한 공개 어플리케이션을 저를 포함한 회원분들이 자발적으로 참여하여 제작하는 방향으로, Tcl/Tk의 실용성을 국내에 알릴 예정입니다.
Q : Tcl/Tk를 처음 시작해보려는 Newbie를 위한 조언을 부탁합니다.
Tcl/Tk는 가볍에 소설을 읽듯이 시작할 수 있는 언어입니다. Tcl/Tk는 Python, Perl등과 같은 다른 스크립트 언어에 비해서 배우기 쉬운 장점때문에, 일주일정도의 시간을 투자하시면 반드시 좋은 결과를 얻으실수 있으며, 언어를 하나 정복했다는 자신감을 가지실수 있을 겁니다. 또, 앞으로 프로그래머가 희망인 분들이나, 현업에 종사하시는 언어를 바꾸고 싶으신 분들께는 최상의 언어로 자리 잡을 수 있는 계기를 마련 하 실수 있을 겁니다.
Q : 대한민국 Tcl/Tk 사용자 그룹의 리더로서 리눅스 매거진 독자들에게 한 말씀 및 앞으로의 포부
몇 해전부터 리눅스를 수용하는 기업이 현재까지 계속 늘고 있습니다. 리눅스는 오픈소스라는, 심지어 커널까지 공개하고 있는 최대의 무기로, 수많은 해커들의 노력에 의해 MS사의 윈도우즈를 능가할 정도의 운영체제로 이미 발전되어 있습니다. 이미 어느 분야에서는 윈도우즈를 능가하여, MS가 견제하는 운영체제 자리까지 올라섰습니다. 이에 발맞추어 리눅스용 제품을 원하는 고객도 늘고 있으며, 일반 사용자와 개발자도 이미 전세계에 두루 퍼져 있으며, 리눅스는 상품성의 가치를 갖춘 최고의 만능 엔터테이너 운영체제임이 확실하다고 생각하고 있기에, 리눅스의 미래를 상당히 밝게 보고 있습니다. 리눅스 매거진 독자여러분이 리눅스를 사랑하는 만큼, 한국의 리눅스 산업은 여느 어느 나라보다도 리눅스 개발자와 리눅스 사용자를 두루 갖춘 리눅스 강국으로 발전되리라 믿습니다. 끝으로, Tcl/Tk 한국 사용자 사이트는 사이트 제목에 걸 맞는, 국내 최고의 Tcl/Tk 정보 사이트로 거듭날 수 있도록 최선의 노력을 다할 것입니다. 감사합니다.
|
You will be awarded a medal for disregarding safety in saving someone. |