TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 24 READS

잊힌 언어가 아니라 반도체 현장의 현역, Tcl/Tk 9.1 출시로 다시 보는 Tcl

Tcl/Tk가 아직도 나와?

Tcl/Tk 9.1이 나왔어요. “Tcl이 뭐지?” 하는 분도 많을 텐데요. Tcl(‘티클’이라고 읽어요)은 1988년 존 오스터하우트(John Ousterhout) 교수가 만든 스크립트 언어이고, Tk는 Tcl로 GUI를 만드는 툴킷이에요. 파이썬이나 루비보다도 먼저 나온 고참 언어죠.

옛날 언어처럼 들리지만 사실 여러분 가까이에 있어요. 파이썬을 설치하면 딸려 오는 GUI 라이브러리 tkinter가 바로 Tk를 감싼 거예요. import tkinter를 써봤다면 이미 Tk를 써본 셈이죠. SQLite의 방대한 테스트 스위트도 상당 부분 Tcl로 작성돼 있어요. SQLite가 원래 Tcl 확장으로 시작했거든요.

9.0에서 9.1로: 큰 공사 다음의 다듬기

9.1을 이해하려면 2024년 가을에 나온 Tcl/Tk 9.0부터 알아야 해요. 9.0은 1997년 8.0 이후 무려 27년 만의 메이저 버전이었고, 오래된 한계를 한꺼번에 걷어냈어요.

9.1은 이렇게 크게 바뀐 기반 위에서 나온 첫 마이너 릴리스예요. 메이저 버전이 집을 새로 짓는 공사였다면, 마이너 버전은 그 위에 새 기능을 얹고 다듬는 단계라고 보면 돼요. 구체적인 변경 사항은 공식 릴리스 페이지에서 확인할 수 있어요. 9.0으로 넘어가면서 일부 확장(extension)의 호환성 문제 때문에 8.6에 머물렀던 사용자라면, 9.x 라인이 얼마나 안정됐는지 가늠해볼 수 있는 릴리스이기도 해요.

반도체 현장에서는 현역 중의 현역

한국 개발자에게 Tcl이 특히 의미 있는 이유가 있어요. 반도체·EDA(전자설계자동화) 업계에서는 Tcl이 사실상 표준 스크립트 언어거든요. Synopsys나 Cadence 같은 칩 설계 툴, AMD(Xilinx) Vivado와 Intel(Altera) Quartus 같은 FPGA 툴의 명령어 인터페이스가 Tcl이에요. 합성, 배치배선, 타이밍 분석 스크립트를 짜는 엔지니어는 매일 Tcl을 쓰고 있는 셈이죠. 반도체 산업 규모가 큰 한국에서는 생각보다 Tcl 수요가 꾸준해요. 네트워크 장비 자동화에 많이 쓰이던 Expect(대화형 프로그램을 자동으로 조작하는 도구)도 Tcl 기반이고요.

다른 언어와 비교하면

Tcl은 ‘모든 게 문자열’이라는 독특한 철학을 갖고 있어요. 명령 하나하나가 문자열로 해석되는 구조라 문법이 아주 단순하고, 다른 프로그램 안에 스크립트 언어로 임베딩하기도 쉬워요. 요즘은 이 역할을 Lua가 많이 가져갔죠. 게임, Neovim, Redis 같은 곳에서요. 파이썬도 임베딩할 수는 있지만 훨씬 무거워요. GUI 쪽에서는 Qt, GTK, 그리고 Electron이나 Tauri 같은 웹 기반 도구가 대세예요. 그래도 가볍고, 크로스플랫폼이고, 의존성이 거의 없는 GUI를 빠르게 만들 때는 Tk가 여전히 쓸 만해요.

한국 개발자에게 주는 시사점

반도체나 하드웨어 쪽 커리어를 고민하고 있다면 Tcl은 확실히 배워둘 가치가 있어요. 웹 개발자라면 당장 쓸 일은 적겠지만, 파이썬 tkinter로 간단한 사내 도구를 만들 때 그 밑바탕인 Tk가 좋아진다는 건 반가운 소식이에요. 무엇보다 38년 된 언어가 64비트화와 유니코드화라는 큰 공사를 끝내고 꾸준히 릴리스를 이어간다는 것 자체가 좋은 교과서예요. 오래된 소프트웨어를 어떻게 유지보수해야 하는지 보여주거든요.

마무리

Tcl은 사라진 게 아니라, 필요한 곳에서 조용히 계속 일하고 있어요. 9.1은 그 증거고요. 업무에서 Tcl을 만나본 적 있으신가요? EDA 스크립트나 Expect, tkinter를 써본 경험이 있다면 공유해주세요!


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://www.tcl-lang.org/software/tcltk/9.1.html
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...