アカウント名:
パスワード:
Tcl/Tkファンって、どういう層なの?
# いるの?
ファンです。すみません。主な用途は数値計算のプリ・ポストプロセスで、計算量/速度が問題にならない限り Tcl を使ってます。何度も他のスクリプト言語に乗り換えを検討しましたが、結局 Tcl に戻りました。突き詰めて考えると、Tcl に戻った理由は、 「正規表現パターンマッチングによる多重分岐コマンド switch -regexp の存在」です。これを使うと数値計算の長大なログから必要なデータを探し出して適切な解析をする処理をとても簡潔に書けます。つまり awk 的な書き方ですね。特に最近は tcllib [sourceforge.net]が 充実してるので、Tcl の中だけでほとんどの処理(統計処理とか関数fittingとか)が完結するようになりました。# ニッチなのはわかってるので責めないでね。
TCLは文法が嫌な感じですが、ツールを作る側からすれば組み込むのが簡単なので便利です。Cで機能を拡張できるインタプリタは多いですが、TCLはツールにインタプリタを組む込むのも簡単です。
Tkが作られたおかげで本格的なプログラム言語と比較されてしまった不幸な過去(?)がありましたが、今はツール組み込み向けシェルという本来の用途で使われているのだと思います。
自分では設定ファイル読み込みのために使ってみたことがあるのですが、連想配列のリテラルが書けないのが残念です。perlみたいに書けると良いのですが。
> 連想配列のリテラル...
Tcl8.5 で加わった [dict] コマンドを使えば, key value ペアリストをそのまま連想配列リテラルとして使えますよ~
set myDict {foo 1 bar 2}...dict get $myDict foo
みたいに。入れ子も可能。
http://www.tcl.tk/man/tcl/TclCmd/dict.htm [www.tcl.tk]
他にも色々強化された結果、大昔に比べれば侮りがたい言語になってきている、そう感じております、はい。
http://wiki.tcl.tk/10630 [wiki.tcl.tk]
array set hoge { first value1 # エラー になる second value2 # エラー}
今試してみたけど、「#」を含めて偶数個のトークンになるようにすれば動く!
Tcl自体と比較されるべきは、いまどきだとLuaなんですね。
ところで今回のはJavaScriptが相手だから、かなり分が悪い感じ。TkはDOMの代替表現になるのかな。あ、Nati"c"e Clientって謎の存在なのか。
Tcl/Tkファンではないが「Expect [wikipedia.org]」のファンならいるのではないかと。# リンク先は英語版のWikipedia。日本語にExpectの項がなかった。
私も時々使います。遠隔操作を定期的にやらなくちゃいけないとか言うときに便利。#まー、大抵は Expect ライブラリとか、Expectモジュールとかで十分だけど。
Tkはないですが、CiscoのEEM(Embedded Event Manager) [cisco.com]でTclが使われてますね。
>Tcl/Tkファンって、どういう層なの?昔はperlやshellスクリプトにGUIを当てるためにによく使いました。特にブラウザならjavascriptが十分使い物になるから需要無いとおもうんだけどなぁ
#やっぱおっさんホイホイの一種?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
Tcl/Tkファン (スコア:0)
Tcl/Tkファンって、どういう層なの?
# いるの?
Re:Tcl/Tkファン (スコア:3, 興味深い)
ファンです。すみません。
主な用途は数値計算のプリ・ポストプロセスで、計算量/速度が問題にならない限り Tcl を使ってます。
何度も他のスクリプト言語に乗り換えを検討しましたが、結局 Tcl に戻りました。
突き詰めて考えると、Tcl に戻った理由は、
「正規表現パターンマッチングによる多重分岐コマンド switch -regexp の存在」
です。これを使うと数値計算の長大なログから必要なデータを探し出して適切な解析をする処理を
とても簡潔に書けます。つまり awk 的な書き方ですね。
特に最近は tcllib [sourceforge.net]が 充実してるので、
Tcl の中だけでほとんどの処理(統計処理とか関数fittingとか)が完結するようになりました。
# ニッチなのはわかってるので責めないでね。
Re:Tcl/Tkファン (スコア:2, 参考になる)
TCLは文法が嫌な感じですが、ツールを作る側からすれば組み込むのが簡単なので便利です。Cで機能を拡張できるインタプリタは多いですが、TCLはツールにインタプリタを組む込むのも簡単です。
Tkが作られたおかげで本格的なプログラム言語と比較されてしまった不幸な過去(?)がありましたが、今はツール組み込み向けシェルという本来の用途で使われているのだと思います。
自分では設定ファイル読み込みのために使ってみたことがあるのですが、連想配列のリテラルが書けないのが残念です。perlみたいに書けると良いのですが。
Re:Tcl/Tkファン (スコア:2)
> 連想配列のリテラル...
Tcl8.5 で加わった [dict] コマンドを使えば, key value ペアリストをそのまま連想配列リテラルとして使えますよ~
set myDict {foo 1 bar 2}
...
dict get $myDict foo
みたいに。入れ子も可能。
http://www.tcl.tk/man/tcl/TclCmd/dict.htm [www.tcl.tk]
他にも色々強化された結果、大昔に比べれば侮りがたい言語になってきている、そう感じております、はい。
http://wiki.tcl.tk/10630 [wiki.tcl.tk]
Re:Tcl/Tkファン (スコア:1)
key value ペアのリストを書いて、array set ではダメですかね?
リテラルとは言えないのかなあ?
Re: (スコア:0)
今試してみたけど、「#」を含めて偶数個のトークンになるようにすれば動く!
Re: (スコア:0)
Tcl自体と比較されるべきは、いまどきだとLuaなんですね。
ところで今回のはJavaScriptが相手だから、かなり分が悪い感じ。TkはDOMの代替表現になるのかな。あ、Nati"c"e Clientって謎の存在なのか。
Re:Tcl/Tkファン (スコア:2, 興味深い)
Tcl/Tkファンではないが「Expect [wikipedia.org]」のファンならいるのではないかと。
# リンク先は英語版のWikipedia。日本語にExpectの項がなかった。
私も時々使います。遠隔操作を定期的にやらなくちゃいけないとか言うときに便利。
#まー、大抵は Expect ライブラリとか、Expectモジュールとかで十分だけど。
fjの教祖様
Re:Tcl/Tkファン (スコア:1)
Tkはないですが、CiscoのEEM(Embedded Event Manager) [cisco.com]でTclが使われてますね。
--S0R5
Re: (スコア:0)
>Tcl/Tkファンって、どういう層なの?
昔はperlやshellスクリプトにGUIを当てるためにによく使いました。
特にブラウザならjavascriptが十分使い物になるから需要無いとおもうんだけどなぁ
#やっぱおっさんホイホイの一種?