2006年12月13日
みんなのGoogle言語
「みんなのPython」の帯をずらしたら「みんなのGoogle言語」に見えるね。というどうでもいいタイトルです。Pythonで大体2000行ほどのプログラムを組んでみてちょっとずつ習得気味です。
前のエントリに対しておくじさんに反応を頂きました。
C++では必ず this を付けてしまう私には self はさっぱり気にならないし(って言うか、Perl5で嫌でも慣らされた)、アンダースコアはRubyのアットマークや end の群れと比べれば、どっこいどっこいだと思っている。その辺は多分に慣れの問題なのだろう。
"end"の氾濫については当初Rubyを学び始めた時は美しくないなぁと思っていたものの、"end"を打つときにはそれに対応するif, whileが有るわけで、"self"と明示的に打つよりは忘れないし何よりパースの際にエラーが出るので、個人的にはまあ許せるんですよね。まぁ「慣れ」と言われればそれまでですが。
C++にthisを付ける人には確かにselfが気にならないというのも分かるのでこの辺は個人の感覚かなぁと思います。
しかしPythonを使ってみて思ったのは"パースの際に怒ってくれる事が少ない"という点です。これのせいで一旦実行してみるまで色々な事に気づかない。RubyやSchemeを書いている時に比べて実際に実行してみてdebugする回数というのが多いです。もうちょっとなんとかならないのかなー。
あとは正規表現等の基本的な機能を使う為にさえimport文を書く必要が有るのが億劫です。tracebackもそう。最初例外が起きたときにexceptの中でどうやってエラーを表示させるかというのに悩んでしまいました。この辺りがモジュールになっているのはなんとなくダルいです。
もう一つ、Rubyを使う人がPythonに移行する際に間違いやすい点としては関数呼び出しの際の括弧が必ず必要な点と、return文を書かなければならない点ですかね。この辺はまぁLispの血がどこまで入ってるかということで。
文字コード周りはまだ良く分かってません。unicode文字列というのが特別にあるの?今書いているアプリケーションではマルチバイト文字の処理もあるのでこの辺は理解が足りないだけかなー。
多少気になる点はありつつも、リファレンスを見ると、大体実現したい事に必要なものはそろっています。特にスレッド周りが整備されているのと、効率を意識したデータ構造がきちんと用意されているのが個人的に凄く良い。今回はシステムを叩きたいけど、文字列処理もあるしな・・・といったケースだったので、Python神 !!状態でしたね。
あと週末にDjangoも弄ってみて800行ぐらいのwebアプリも書いてみたので、また時間のある時に使用感などを書いてみる事にします。
- by
- at 21:55

comments
PyChecker なんていかがでしょう?