2012-11-25

Python 3.3 の嬉しいところ

いろいろ理由つけて(2を使うのがイヤになるとか)Python 3 敬遠してたけど 3.3 見たら理想言語っぽくなってたけどこれ見ると PyCon でしゃべったという Perl の人の言ってたことがますますトンチンカンということにならない?

具体的には、Windows 版で 2.x と共存しやすくなった点と、Unicode 文字列のサポートの改善がうれしい。

Python 3.3 を Windows にインストールすると、py コマンドというのが入る。これは .py ファイルに関連付けられていて、スクリプトの #! 行を見て Python 2.x と 3.x とを実行しわけるというものである。これで、ふだんの python コマンドは 2.7 だけど、スクリプトを少しずつ 3.x に対応させていくために 3.3 をインストールしておいて、徐々に移行させてゆくというのがやりやすくなった。

コマンドプロンプトで py と打つだけでインタプリタが起動するのもいいかもしれない。py -3 とすれば 3.x が立ちあがる。

Unicode サポートの改善は、文字列の内部実装が完全に隠蔽されたのが嬉しい。len(‘\U00029e3d’) は Python が narrow ビルドでも wide ビルドでもつねに 1 になる。文字列オブジェクトは Unicode コード・ポイントの配列という概念で一貫して扱うことができる。すばらしい。しかも単に 4 バイトの整数配列にしてる実装よりメモリ効率もよさげ(これは憶測だけど)。書きかけのままだけど「Unicode テキスト境界処理覚え書き」のコード・ポイントのところはまったく気にしなくてよくなったし、codepoint.py ももういらないね。

あーさっさと 3 に移行しちゃいたいなー。まあ GUI 持たないやつは今からでもできるからやってくか。

とはいえ、3.3.0 の対話インタプリタで BMP 外のコード・ポイント扱うと repr の表記がなんかバグっぽい……。

>>> '\U00029e3d'
'\U00029e3d\x27'
           ~~~~ !!

2012-11-23

ひみつメモ帳 0.8.8。新しい OpenSSL でコンパイルしたくらいだけど、コンパイル・オプションなどを変えたりしています。その影響でシングル・バイナリではなくなった。ランタイム・ライブラリが必要になったので同梱しています。

前に更新したのは1年前か……。正月に完成させきれなくて、夏場バテて、ようやく涼しくなって調子が戻るのが11月、という感じ。なんか情けないなあ。まあ夏は動けないというのがわかってきたので活動期の冬にがんばるしかないね。

Visual Studio 2012 からセットアップ・プロジェクトがなくなるんで、あたらしいセットアップ・プロジェクトの練習にこのひみつメモ帳のセットアップ・ファイルを作ろうかと思ってたんですよ。しかし代替として MS が薦めてる InstallShield 2012 Limited Edition (これは Visual Studio の Professional にライセンスが付いてくる)がひどくて使う気にならない。それで困ってるといつまでたっても出せないのでとりあえず今回も ZIP 圧縮したままです。1.0 では何らかのセットアップ・プログラムで提供したいのだけど。拡張子の関連付けもあるし。たぶんやるなら VS 2010 の MS 謹製セットアップでやると思う。なんでなくなっちゃうのさ。

いや、やりさしたままのプロジェクトがごまんとあるのはわかってるんだ。忘れてはいないのだけど、自分の技量では形にするまで時間がかかる。時間がかかる。

あとこのサイトの更新を WZ に依存しない形のワークフローへ移さなければならぬ。WZ どろこか、最近は OS X でも作業したくなってきてるので、どっちでもできるようにしておきたい。いや、だいたいどっちでもできてるんだけど、HTML の編集が WZ 以外だとめんどくさい。いちおうその意志は書いとく。

会社の PC が新しくなって、Windows 8 である。まあマゾっ気起こして自分で選んだんだけど。さすがにこれにまで WZ いれないだろ、と EmEditor をいきなり買ってみた。いろいろ慣れないところはあるけど、それより現状かな入力だと Alt+英字キーでメニュー選択できないのが致命的。なんでメニューを独自コンポーネントで作るんだ。

12月前半くらいまでまた忙しくなるのだけど、ほかの人に頼れない状況でかつかつになるので、いつもこの時期はむちゃくちゃ機嫌が悪くなる。機嫌悪くしたって意味ないし楽しくないから悪くしない方がいいよなーとはわかっていても、ついいらいらしてしまう。

今年は速いよね。去年が長すぎた。

140字の制限がないのはたのしいな。チャオ!