2007-10-11

言語の比較記事

Ruby に比べて Python の面倒なところ
こういう他の言語を深く知っている方の感想は読んでためになる。
自分が無意識に適応してるけど、実はめんどうなことをやっているんではないかというふうに相対化した視点を得るきっかけになるのはいいことだ。

で、挙げてある「Pythonの面倒なところ」もたしかに的を得たものばかり。
printが文であることなどは自分も含めたPythonを日頃使う人も違和感を感じることもあるんじゃないだろうか。

ただ、そういう疑念が湧いたとしても、Pythonのようにそれなりに多くの先人の知恵が集まってできている言語では、たとえばprintが文になっているのもそれなりの利点があったからなのかもしれないと想像している。(うろ覚えだがPython3系ではprintが関数になるんじゃなかったけ?たぶんまた考え直したんだろうか。)

たとえば、代入が値を返さないというのは、


if a = 10:
....

のようなケアレスミスを直ちに検出できたりするから個人的にはすごく好きな点だったりする。

selfをいちいち書くのも、そのクラスの名前であることが強烈に分かるのでとても愛すべきポイントだったりする。逆にC++を書くときはthis->を書きたくて書きたくてしょうがなく感じるときもある。(がまんしてできるだけ書きませんが。)

importも、これを日々いちいち書く事で、予約語が少なく済んでいるということを骨身に沁みて感じることができたり、関数やクラスをモジュール単位で整理して思い出せるので好きなポイントだ。

returnも、どこで値が返っているかをエディタの検索で色付き反転させて一気に見る事ができてすごくいい。

ああ、なんかこうして書いていくとほんとにきりがなくて、自分はPythonに魂をうばわれているんじゃないかと思うよ。