AIの片隅で(55) Googleの生成AI、Gemini、tcl言語を教えて

Joseph Halfmoon

別シリーズにて何十年かぶりで tcl 言語に触りました。遥か昔に tcl にはお世話になった気がしますが、ウン十年ぶりっす。忘却力の年寄は何も覚えておりませぬ。そこでソフトは何でもお得意のGemini様に教えていただくことにいたしました。Gemini様のご指導よろしく、思い出した?まだまだだけれども。

AIの片隅で 投稿順index

※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処理系の特徴を教えてください

Gemini様の最初のご回答のトップ部分が以下に。A1

まあね、ものは言いようだけれども「1.簡潔な文法」という項は承服しかねる感じです。たしかに「簡潔」ではあるけれど、「C言語風」というのはかなり無理があるような(個人の感想です。)

案2に「簡潔な文法」のソース例があげられてます。A2

これが「C言語風」であれば、大抵の処理系はC言語風じゃないかと。。。

まだ、案3の記述の方が特徴を表している気がします、「C言語風」以外は。

A3それに加えて、案2の以下を含めると良いかと。A2_2

3の倍数でアホになるプログラム

凡人には具体的なコードを読んでみるのが一番、そこで追加のお願いをしてみました。

1から10まで数字を表示するコードを書いてください

即座にGemini様はコードを投げ返してきました。それも2種類。最初のものが以下に。pgm1_0

その下の別解が以下に。pgm1_1

ハッキリいって下の方がカッコいいかも。でもま、両方とも実行してみましたぞ(実行環境はWSL2上のUbuntu環境にインストールしたtcl 8.6処理系です)

まずは最初の方、pgm1_0_results

つづいて2番目の方、pgm1_1results

表示形式が大分違う気がするけれども、お願い通りです。

さらに加えて以下をお願いしてみました。

表示する数字が3の倍数のときに数字に加えてアホと書いてください。

桂三度師匠の往年のギャクをもご存じなのか、即座にプログラムが返ってきます。pgm2

実行結果が以下に。pgm2Results

最後に調子に乗って、別件もお願いしてみました。

tcl/tk を使ってウインドウにHello world!と書いてください。

結果はこんな感じ。wishResults

今やWSL2上で、Xウインドウがバリバリ使えるのでGUIつくるのも問題なし。このペースで Gemini様に tcl/tk 教わるか。すぐ忘れるよ、また。

AIの片隅で(54) Googleの生成AI、Gemini、不安定と判定される伝達関数? へ戻る