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.
HNでの議論
90- srean
私はTCLに甘いところがある。その独特さと、奇妙で動的な文字列的な遊び心のせいだ。プロとして使うのは警戒するだろうが、ただ面白半分にいじる分には……とにかく楽しすぎる。upvarとuplevelはぶっ飛んでる。
Pythonは、結婚相手の両親に初めて会うときに見せるような、あの行儀のいいクールさだ。一方Tclは、学校一の親友と秘密の、どこか危険なゲームに興じるようなものだ。
Tcl/Tkは、スクリプト言語をライブラリとして使うという概念を切り開いた。スレッドの扱いも正しい。プロセスのアドレス空間内で複数の独立したTclインタプリタを走らせ、それらがメッセージを交換できる。インタプリタの状態全体がインタプリタオブジェクトの中にカプセル化されていて、グローバルは存在しない。ユーザーから見れば、それは単なるオブジェクトへのポインタだ。
GILは不要、シリアライズ/デシリアライズ(pickle/unpickle)も不要……プロセス内メモリのコピーだけで済む(データがイミュータブルならコピーすら不要)。
- neilv
Tclの初期の最大の売りはTkだった。Unix系とX Window System上で、オープンソースを使ってそこそこ使えるGUIプログラムを比較的簡単に作る方法としてね。Cで書くXViewのような、より使いやすいXツールキットよりもはるかに簡単で、他の選択肢はそこからさらに難しくなるばかりだった。Webフロントエンドなんてものはなかった。
Tcl自体も、私が実際に「文字列ベースのスクリプト言語」と呼ぶものとしては、かなり賢かった(Unixでそれ以前にあったBourne/Cシェルなどと対比してほしい)。
もともとTclは、すぐに使える拡張言語の数少ない選択肢の一つだった。大きなアプリケーションをCやC++で書き、ユーザーや元の開発者が機能を追加できるように、高水準の拡張言語のインタプリタを埋め込む。当時の選択肢はたいてい、小さなLisp/Scheme、Tcl、Python、あるいは完全に自作で、おそらく風変わりで半分おざなりな何かだった。
初期のドットコム時代には、バックエンド作業にTclへの関心がかなりあったし、ブラウザに載せるのも最悪の選択ではなかっただろう。Pythonと同様、TclはJavaScriptよりもアクセスしやすく、Webを民主化していたはずで、すでに堅実な既製の設計と実装があった。(SchemeはPythonやTclより少し威圧的に見え、より強力だった。だからこそTim Berners-Leeは、さまざまなWeb用途のための人民のプログラミング言語としてSchemeよりPythonを好んだのだと思う。我々が手にしたJavaScriptのセマンティクスは、急ごしらえのおもちゃのSchemeに、最も単純なオブジェクトモデルを足したものだった[…]
- trebligdivad
Tcl/Tkは間違いなく最も簡単なGUIシステムだ。単純なものなら労力ゼロで動かせる——これほどシンプルなものは他に見たことがない。
モダンなサポートが入り始めたのは良いことだ。
- qalmakka
Tclは、自分自身のためにならないほど賢すぎる言語だ。すべてが文字列で、文字列としてハックできるから、前代未聞のレベルに達するメタプログラミングができるのが大好きだ。
- Aldipower
かつて『Perl/Tk』というO'Reillyの本を持っていた。というか、まだどこかにあるはず……いつか読み返すことが、自分のAIリハビリテーション療法になる気がしている?