python雑感

GAEはじめてみようかなということで、pythonをここ1週間ほど触ってみてます。pythonの言語仕様で面白いのは以下かなぁと。

  • callables, iteratables
    • これが組み込みなのは、
  • decorator
    • AOP的なもの。perlだとMouseのaroundみたいなもので、Javaだとannotationで似た

ような事をやる。

  • generator
  • metaclass
    • rubyのほうが綺麗だけど、perlよりはわかりやすい
  • keyword arguments
    • declarativeでかなりいい
  • docstring
    • 文書化を重んじる文化は、こういうところにも現れているのかも。
    • 関連してdoctestもcool. 動くSYNOPSYS的な。

全体的には、言語仕様はかなり綺麗で、perlよりはかなり宣言的にかけるのと、文書化を促進するための幾つかの仕様があって、readableなコードを書きやすいかなという印象です。rubyなどと比較すると、一部のメソッドが関数コールだったりとOO厨的少し違和感はあるのですが。

モジュールについては、モジュールの粒度がperlより荒いので、perlほど細かくは再利用が進んでない印象です。状況はjavaのライブラリの状況に近いかなと。