CDリッパー

あれだけ言ったことだし自作してみる。実は今まで使っていたのも自作のPerlスクリプトだったりするんだけど、微妙に使いにくい上にコードがごちゃごちゃしていて改造も加えにくいので再構築。ついでに新しい言語も覚えてしまおうということで、言語はPython。やらなきゃいけないなーと思いつつやってなかったので、いい機会だと思って触ってみる。
そしてもう一つ、新たな試みとしてTkでGUIを作ってみる。これも前から面白そうだと思ってたんだけどなかなかGUIが必要なアプリを書かないので先延ばしになってたのを、折角だからということでチャレンジ。
とりあえず今日12時に起きて飯食ってからずっとPythonいじってて、大体感覚はつかめた。タブでブロック分けるのは食わず嫌いだったけどぱっと見が綺麗になって良いし、printf風フォーマットの記法とかなかなか面白い。あとタプルがあるのが個人的にポイント高い。Perlでタプルを知って、これを使うと頭の中のイメージに近い感じでコードが書けるので好きだったんだけど、ここ最近使ってたRubyにはタプルがなくて悲しかった。lambdaもRubyよりずっとまともだし(というかRubyがおかしい)、Pythonいいかも。まあ、いくら綺麗とは言ってもふと気を抜くとワンライナーになってたりするんだけどね・・・。
そして真打ちのtk。初めて触ったけど予想外に気持ちいいなこれ!基本的には親に対して子のWidgetを生成→属性の設定→packで配置という形なんだけど、かなり直感的に設定できて良い。Javaと違って文字数や行数が少ないのもGood。イベントハンドラとかもmethodを変数に代入するだけで済むので、Javaみたいに無名クラスとその関数でモコモコになったりせず、本質的な部分がちゃんと見えているのが気持ちいい。まあTclからしてすごくストイックに情報を圧縮してる感じの記法だからなー。面白いなぁ。
とりあえず参考文献。結局CDリッパーの話書かなかった!
http://www.python.jp/doc/release/tut/
http://www.python.jp/doc/release/lib/
もっとTcl/Tk
Tk Commands