Tcl/Tkとは、スクリプト系のプログラミング言語の一種である。
概要
Tcl(Tool Command Language)という言語と、Tcl用に書かれたGUIツールキットであるTkを合わせて、Tcl/Tkと呼ぶ。制御構造すら持たない非常に簡単な文法が特徴。また、C言語などによるコマンドの拡張が簡単に行えるよう設計されている。
プログラムは文字列とそのリスト構造であり、文法上は数値も扱えない。リストの1番目の文字列がコマンドとして解釈され、2番目以降はコマンドへの引数となる。
プログラムの例1
# 0から9までの数を表示する
set i 0
while { $i < 10 } {
puts $i
set i [ expr $i + 1 ]
}
改行かセミコロンまでが一組のリストで、一つの文字列は空白で区切るか、{}又はダブルクオートで囲む。この例では、set, while, puts, exprがコマンド。$iは変数iの値に置換される。[]で囲むと一つのリストと見なしてコマンドを実行後にその結果に置換される。
Tkで"Hello World"を書くとこうなる。
プログラムの例2
# "Hello World" を表示
label .l -text { Hello World }
pack .l
歴史
90年代初めにTcl/Tkが登場する前は、UNIXでのGUIアプリの開発といえば、C言語でX11のAthenaウィジェットをしこしこ叩いてやるのが一般的な開発であり、"Hello World"一つ表示するのにも何行もソースコードを書く必要があった。もしくはツールキットから自作する必要があった。
それがTcl/Tkではたったコマンド2つでできる上にコンパイルも必要ない。処理系さえ移植すればどこでも動くクロスプラットホームで習得しやすい開発環境である。
しかし、Tcl/Tkの登場からやや遅れて、PCの高性能化、WindowsとVisual BasicとPC上の開発環境が整ってきたことや、WWWの流行があり、Tcl/Tkはあまり利用されずに現在に至る。ただ、GUIツールキットを持たないPerlやRubyといった言語では独自のツールキットを実装せずTkを利用しているので間接的に使っているアプリケーションはある。
以前バージョンのルックアンドフィールは古くさいデザインだったが、Tcl/Tk8.5.0(2007年12月)から、WindowsやMac OS XなどOSの標準に沿ったものへ変わった。
関連動画
関連商品
残念ながら和書では古い情報しか得られない。日本ではそれくらいマイナーです。Webか洋書を探してください。
関連項目
外部リンク
- Tcl Developer Site - 公式サイト
- ActiveTcl - ActiveState社から出ている製品(無料)
- Tcl/Tk 8.5登場 - マイコミジャーナルの記事
- 4
- 0pt