別シリーズにて何十年かぶりで tcl 言語に触りました。遥か昔に tcl にはお世話になった気がしますが、ウン十年ぶりっす。忘却力の年寄は何も覚えておりませぬ。そこでソフトは何でもお得意のGemini様に教えていただくことにいたしました。Gemini様のご指導よろしく、思い出した?まだまだだけれども。
※Google様の生成AI、Gemini(無料プランだけれども)を使ってtcl言語を教えてもらっています。
tcl/tk
太古の昔、tcl言語を使わせていただいたのは、ウインドウを表示するGUIを作るためでした。多分30年くらい前の時代。その頃は、ガチでメンドクセー、プログラムを書かないとGUIを作れなかったような遠い記憶。気軽にGUIなど作れん時代ぜよ。
そんなおり tcl/tk を使うと(主に ツールキットである tk のお陰ですが)気軽にウインドウがバンバン開けました。クリクリすれば一丁あがりとな。
しかしその後いろいろな言語処理系でGUIがサポートされるようになり、tcl 使って書くモチベって奴が低下していきました。Pythonを筆頭に裏じゃ tk を呼び出して使役しているケースが多かったですけど。まあ、いまだにtkは各所の縁の下でご活躍だけれども、呼び出すのは tcl からででなければいけない理由もなくなったと。
しかしです。別件シリーズにて最近 AMD(Xilinx)社のFPGAなど触ってます。このFPGA開発環境では、tcl処理系が活躍しているのであります。
帰らざるMOS回路(54) Xilinx Vivado、コマンドラインインタフェース
昔、使ってみたことがあるといっても忘却力です。思い出さねば。
Gemini様にお願いの筋あり
そこでGoogleの生成AI、Gemini様に以下のような茫漠とした投げかけをいたしました。
tcl処理系の特徴を教えてください
まあね、ものは言いようだけれども「1.簡潔な文法」という項は承服しかねる感じです。たしかに「簡潔」ではあるけれど、「C言語風」というのはかなり無理があるような(個人の感想です。)
これが「C言語風」であれば、大抵の処理系はC言語風じゃないかと。。。
まだ、案3の記述の方が特徴を表している気がします、「C言語風」以外は。
3の倍数でアホになるプログラム
凡人には具体的なコードを読んでみるのが一番、そこで追加のお願いをしてみました。
1から10まで数字を表示するコードを書いてください
即座にGemini様はコードを投げ返してきました。それも2種類。最初のものが以下に。
ハッキリいって下の方がカッコいいかも。でもま、両方とも実行してみましたぞ(実行環境はWSL2上のUbuntu環境にインストールしたtcl 8.6処理系です)
表示形式が大分違う気がするけれども、お願い通りです。
さらに加えて以下をお願いしてみました。
表示する数字が3の倍数のときに数字に加えてアホと書いてください。
桂三度師匠の往年のギャクをもご存じなのか、即座にプログラムが返ってきます。
最後に調子に乗って、別件もお願いしてみました。
tcl/tk を使ってウインドウにHello world!と書いてください。
今やWSL2上で、Xウインドウがバリバリ使えるのでGUIつくるのも問題なし。このペースで Gemini様に tcl/tk 教わるか。すぐ忘れるよ、また。