Tcl/TkはRubyやPythonより前からあるプログラミング言語です。RubyやPythonと比べると、人気がありません。
RubyやPythonのことを紹介しているWebサイトを見ると、「言語仕様が非常に洗練されている」、「エレガント」などと説明されています。
優雅な、上品な、気品の高い、すっきりしているなどの意味がある。
Tcl/Tkは「エレガントさ」よりもシンプルで実用的なツールを作るように設計されています。
Tcl/Tkについて
Tcl/Tkは、John K. Ousterhout 博士によって1988年にカルフォルニア大学バークレー校で作成されたスクリプト言語です。Tcl/Tkは、Tool Command Language/Toolkitの略で、ティックル・ティーケーと呼ばれています。
Tcl/Tkのロゴは「quill (毛の長い堅い羽、鳥の羽柄)」です。「葉っぱ」ではないですよ。(^_^)
Tclの基本的な文法は、スペースで区切られたリスト構造をもつコマンドで構成されています。条件分岐や繰り返しなどの制御構造もコマンドとして実装されています。Tclでは、このコマンドを記述してプログラミングしていきます。
コマンド名 引数1 引数2 引数3 …
例.画面に文字を出力するコマンド。
puts “hello, world!”
TkはGUI(Graphical User Interface)に必要な部品(ボタン、メニューなど) をTclで簡単に扱えるようにする目的で作成されました。
サンプル
# ウィンドウにメッセージを表示する
message .msg -width 200 -text "hello, world!"
button .btn -text 終了 -command exit
pack .msg .btn
サンプルを実行した時の表示。
[Windows8.1]
[CentOS(Linux)]
Tcl/Tkの特徴
Tcl/Tkは以下のような特徴をもっています。
・GUIベースののアプリケーションを簡単に作成できる
Tkは豊富なGUI部品を持ち、それらを組み合わせて簡単にGUIベースのアプリケーションを作成できる。
・クロスプラットフォーム上で動作する
Tcl/TkはUNIX, MS-Windows, MacOS 上で動かすことができます。
・国際化サポート
Tcl8.1から内部コードにUnicode(UTF-8)を採用しており日本語の文字列操作も容易に扱えます。
・迅速な開発
スクリプト言語なので、コンパイル作業は不要です。
・容易な拡張
C言語で新たな機能の実装を書くことにより、TclやTkを簡単に拡張できる。
・組み込みが可能
C言語で作成されたアプリケーションにTclインタプリタを追加することにより、Tclスクリプトでアプリケーションの設定や制御を行うことができる。
・バイトコンパイラの採用
Ver:8.0からプログラム実行時にバイトコード(中間コード)へ変換するバイトコンパイラを採用しています。Tclインタプリタは、読み込んだソースコードをバイトコードに変換したものを実行しているため実行速度が大幅に向上しました。
バイトコード について
Tcl/Tkに興味を持つ人はどんな理由で?
恐らく、こんな理由ではないでしょうか。
- GUIのプログラムを簡単に作れるらしい。
- Ruby/TkやPythonのTkinterはTcl/TkのTkだ。
- Cisco IOS で利用されているスクリプト言語はTclだ。*
- 他の言語で挫折した人。
*最近はPythonもサポートされている模様。
参考になるサイト
[英語]
[日本語]
コメント