Tcl/Tk 9.1がアクセシビリティ対応と双方向テキストを導入

Tcl/Tk 9.1 Released

Tcl/Tk 9.1.0が2026年9月29日にリリースされた。Tcl 9.0の基盤に、Unicode正規化、マイクロ秒精度の単調クロック、リスト操作コマンドなどの新機能を追加。Tk側ではスクリーンリーダー対応、双方向テキスト/RTL言語の初期サポート、新しいttk::toggleswitchウィジェットなどが加わった。C APIも拡張され、64ビットサイズのサポートが強化されている。

Accessibility screen reader support.
  1. srean

    TCLには甘いところがあるんだ。その独特さと奇妙で動的な文字列遊びの楽しさのせいでね。プロとして使うのは警戒するけど、遊びでいじる分には…楽しすぎるんだよ。Upvarとuplevelsはクレイジーだ。

    Pythonは、結婚相手の両親に初めて会うときに演じるような、あのクールな振る舞いだ。一方Tclは、学校一の親友と秘密の、ちょっと危険なゲームを楽しむようなものだ。

    Tcl/Tkは、スクリプト言語をライブラリとして使うという概念を開拓した。スレッディングもうまくやった。プロセスのアドレス空間内で複数の独立したTclインタプリタを実行でき、それらはメッセージを交換できる。インタプリタの状態全体がインタプリタオブジェクト内にカプセル化され、グローバルはない。ユーザーから見れば、それは単なるオブジェクトへのポインタだ。

    GILは不要、シリアライズ/デシリアライズ(pickle/unpickle)も不要…プロセスメモリ内のコピーだけ(あるいはデータが不変ならコピーすら不要)だ。

  2. ripe

    Tclは確かに少し変わっていて慣れるまで時間がかかるが、その特異性を学ぶ価値があると感じている。特に私のアプリケーションはsqliteを使っていて、それがTclと非常に自然に適合するからだ。

    D. Richard Hippの言葉 [1]:

    「SQLiteは野生に逃げ出したTCL拡張機能だ。

    「SQLiteの設計はTCLの設計に触発された。データ型の扱い方でも、ソースコードのフォーマットでも。SQLiteの最初のユースケースは、ある産業企業のTcl/Tkアプリケーションだった。その誕生以来、SQLiteは常にTCLに大きく依存してきた。最近ではSQLiteは内部的にTCLを使わなくなり、任意のTCLインタプリタとは別に実行できるが、それでもSQLiteの開発プロセスは依然としてTCLに大きく依存している。」

    [1] https://www.tcl-lang.org/community/tcl2017/assets/talk93/Pap...

  3. neilv

    Tclの初期の最大の売り込みポイントはTkだった。Unix系とX Window System上でオープンソースを使って、そこそこ良いGUIプログラムを比較的簡単に作る方法としてね。Cで使うXViewのような使いやすいXツールキットよりもさらに簡単で、そこから先の代替手段はどんどん難しくなっていった。当時はWebフロントエンドなんてなかった。

    Tcl自体は、私が実際に「文字列ベースのスクリプト言語」と呼ぶものとしては非常に賢かった(Unixで先に登場したBourne/C-shellなどと対照的だ)。

    もともとTclは、既製の拡張言語の一つだった。大規模アプリケーションをCやC++で書き、ユーザーや元の開発者が機能を追加できるように、高水準の拡張言語のインタプリタを埋め込む。当時の選択肢は通常、小さなLisp/Scheme、Tcl、Python、あるいは完全に特注でおそらく風変わりで半端なものだった。

    初期のドットコム時代には、バックエンド作業用としてTclにかなりの関心が集まり、ブラウザに搭載するのも最悪の選択ではなかっただろう。Pythonと同様、TclはJavaScriptよりもアクセスしやすく、Webを民主化しただろうし、すでに堅実な既製の設計と実装があった。(SchemeはPythonやTclより少し威圧的に見え、より強力だった。だからこそTim Berners-Leeは、様々なWeb目的のための人民のプログラミング言語としてSchemeよりPythonを好んだのだと思う。我々が手にしたJavaScriptのセマンティクスは、急いで作られたおもちゃのSchemeに、最も単純なオブジェクトモデルを加えたものだった […]

  4. trebligdivad

    Tcl/Tkは間違いなく最も簡単なGUIシステムだ。手間をかけずに簡単なものが作れる。これほどシンプルなものは他に見たことがない。

    現代的なサポートが得られるのは良いことだ。

  5. qalmakka

    Tclは自分自身のためにも賢すぎる言語だ。すべてが文字列であるか、文字列としてハックできるのが大好きで、基本的に前例のないレベルのメタプログラミングができる。

  6. neofytos

    コミュニティとコアチームにおめでとう。安定性、実用主義、軽量なクロスプラットフォーム開発のゴールドスタンダードとしてTcl/Tkを維持しようとする彼らの献身は刺激的だ。

  7. Aldipower

    かつて『Perl/Tk』というO'Reillyの本を持っていた。というか、まだどこかにあるはず…いつか読み返すことがAIリハビリテーションになる気がする?

  8. rtpg

    Tcl/Tkで作ったものの楽しい話がある人はいますか?理論的にはまだ小さなアプリの余地があると思うけど、自分のものに「任意のリッチテキスト」を詰め込みたくなる問題があって(→突然Web技術がかなりうまく機能する)

この日のほかの記事

2026-09-29