Tclも忘れてもらっては困る。

高木です。おはようございます。

Tcl/Tkの有用性については以前にも書きました
確かに、Tkはいろいろな言語にバインディングされていて、本家のTclとの相性は最高なので、Tcl/Tkはかなりの優れものです。

それはそれとして、今回はTkではなく、あえてTclにスポットを当ててみたいと思います。

私の場合、自分が作っているプログラムに何らかのマクロ機能とかを実装する必要に迫られることは少なくありません。
自分で実装してもいいのですが、有り物が使えればそれに越したことはないのです。

そんなときに役立つのがTclです。
Tkはなくてもかまいません。
必要なのはあくまでもTclです。

Tclはもともとがライブラリとして作られています。
だから、CやC++で書いたプログラムに組み込むのはとても簡単です。

しかも、ライセンスも非常に緩く、ほとんど使用制限がありません。
また、マルチプラットフォームで使えるのもありがたいですね。

最近でこそ、Boost C++ Librariesという充実したライブラリが使えること、C++11以降にその主要な機能が取りこまれたことなどから、マルチプラットフォームなプログラムはずいぶん書きやすくなりました。
ただ、それらが常に使えるわけでもないので、そうした場合にはTclはよい代替手段になるのです。

プロセス間でTclコマンドをやりとりすることで、高機能なRPCも簡単に実現できたりします。
場合によってはマシン間でもそれはできると思います。

実際、私は(Tk抜きの)Tclだけを使って仕事でいろいろやったこともあります。
あまり具体的なことが書けないのが残念ですけど。