Tcl/Tk: 30년 된 오픈소스 툴킷이 여전히 크로스플랫폼 GUI의 강자

Develop Cross-Platform CLI and GUI Tools with Tcl/Tk

Tcl/Tk: 30년 된 오픈소스 툴킷이 여전히 크로스플랫폼 GUI의 강자

이 글은 1990년 John Ousterhout가 만든 Tcl/Tk 툴킷의 강력함과 오해를 다룹니다. Tcl/Tk는 단일 파일 앱, 네이티브 GUI, 효율적인 이벤트 처리, BSD 라이선스 등 현대적 요구를 충족하면서도 30년 넘게 대기업에서 사용되어 왔습니다. 저자는 AutoHotkey, Electron, Go, Qt 등 대안을 검토한 끝에 Tcl/Tk를 선택했으며, 그 이유와 함께 Tcl의 독특한 문법, homoiconicity, Tk의 크로스플랫폼 GUI, Tcl 9.0의 개선점, 한계와 단점까지 솔직하게 다룹니다. Tcl/Tk의 실용성과 미래 가능성을 재평가하는 내용입니다.

Tcl/Tk는 단순히 '옛날 기술'이 아니라, 네이티브 GUI를 제공하면서도 단일 파일 앱을 만들 수 있는, 여전히 강력한 선택지입니다.
  1. kelvinjps10

    이걸 보니 예전에 프로그래밍을 배우면서 tkinter와 python으로 온갖 GUI 앱을 만들던 때가 생각나네요.

  2. dragonfax

    저는 TiVo 초기 사용자였습니다. 그 기기에 터미널을 연결할 수 있었죠. 컴퓨터의 시리얼 포트를 이용한 더미 터미널이나 터미널 소프트웨어로요. 뒷면에 3/4인치 오디오 플러그 형태의 터미널/시리얼 포트(baud 2600)가 있었습니다. 리눅스 시스템이었지만, 거기서 돌아가는 자체 소프트웨어는 전부 TCL로 작성되었습니다. TK는 사용하지 않았던 것 같아요. 해킹해보기 꽤 재미있었습니다. 전화선에 연결되어 있어서, 전화가 오면 발신자 ID를 받아 TV 화면에 표시할 수 있었죠.

  3. vincent-manis

    저는 Scheme에서 Tk를 일상적으로 사용합니다. 제 코드에는 Tcl이 전혀 없지만, Tk는 아주 훌륭한(비록 기본적이지만) GUI 키트이고, 제 프로그램은 Linux, BSD, MacOS, Windows에서 모두 작동합니다. 다른 댓글에서 Python이 Tk 인터페이스인 Tkinter를 포함한다고 언급했는데, Ruby도 마찬가지라고 생각합니다. 심지어 Cobol로 프로그래밍해도 Tk를 사용할 수 있습니다(Cobol에서 C를 호출할 수 있다면요). Tcl/Tk를 사랑하기 위해 Tcl을 사랑할 필요는 없습니다.

  4. drdexebtjl

    > 그 GUI 앱들은 Windows, Linux, macOS에서 네이티브처럼 보입니다.

    저자는 어떻게 이 말을 진지하게 할 수 있는지 모르겠네요.

    그 앱들은 2003년 네이티브 앱처럼 보입니다.

  5. piloto_ciego

    Tkinter나 다른 Tk 기반 GUI 인터페이스는 CLI나 브라우저가 아닌 무언가를 만들 때 제가 가장 먼저 찾는 도구입니다. 제 주력 언어는 Python이고, 크로스플랫폼 도구를 즉시 만들 수 있다는 점이 정말 좋습니다. Tcl/Tk는 훌륭하고 엄청나게 유용합니다.

이 날의 다른 글

2026-08-31