またまたTclの出番
高木です。こんばんは。
ちょっと今日は遅い時間の投稿になってしまいました。
こういう時間の投稿は何となく似た傾向になる気が自分でもしていますが、あまり気にせずにいきましょう。
今回の話題はまたしてもTclです。
弊社のメンバーは、技術者ではない馬詰も含めて全員がTcl経験者です。
世間的には隅に追いやられた感があるTclですが、弊社としては、そして私としては、非常に重宝しています。
Tclは多くの場合、Tkを使うために仕方なくついてくる言語のような扱いを受けています。
しかし、今回はTkは関係なく、純粋にTclについてです。
現在Cでシリアル通信を行うプログラムを書いています。
実現方法は何でもいいのですが、Windows上で動くプログラムなので、WindowsのAPIを直接呼ぶか、C++の適当なライブラリを使ってCで呼び出すためのラッパーを作るか、そういった選択肢が真っ先に思い浮かびます。
けれども、ここで忘れてはならない存在がTclです。
Tclは標準でシリアル通信をサポートしています。
おおむねプラットフォームに依存しない形で、シリアル通信を実装することができるのです。
しかも、Tclは本来Cのライブラリですから、Cとの相性も抜群です。
そういえば、かなり前にもTclのシリアル通信を使った、組込み向けのテストフレームワークを作ったことがありました。
具体的なスクリプトはすっかり忘れましたが、比較的簡単に実現できたことを覚えています。
Tclはこんな感じでマルチプラットフォームに対応した機能をいろいろ提供してくれています。
最新のC11にはスレッドなどの機能も導入されています。
しかし、実際にライブラリが実装されているケースはまだ見たことがありません。
もちろん、C11が使えない環境や状況もあることでしょう。
そんなときには、やっぱりTclなんですよ。