Pythonの面倒なところ


なるほど。確かに、jijixiさんが挙げられている面倒なところは使い捨てツールを作る際に面倒となることばかりだと思う。これはPythonが、可読性の高いコードを書けることを意識しているということと、後から機能を追加していることによるものだと思う。恐らく私が気になっていないのはRubyを普段のツールとして使ったことがないからだ。あえて挙げれば、lambdaが式1つしかかけないので、Rubyのmapやcollectとコードブロックの組み合わせが便利で、Pythonで同等なことをやるには関数を使うしかないので冗長に感じたというくらいだ。


挙げられた中でPy3kで改善されるところは、printが関数として使えるとこくらいなので、結構頻繁に使う機能もビルトインでなくモジュールに入っているというのは、今後のPythonでは改善される見込みは低いと思われる。


但し、jijixiさんも書かれているが、逆に言えばある程度の規模のプログラムを組む際にRubyは怖いところが増えるのではないかと思う。しかしこれは慣れの問題とバランスの問題で、静的言語を使えばもっと安全になるかもしれないし、慣れていればテクニックによってかなりのミスを事前に回避できる。言語の危ないところを認識できていればなお良い。


結局、私が日々使うツールとしての絶対条件は、到達距離の長さも含め、自分がやりたいことが実現可能かどうかである。つまり、ある程度簡単にできるかということと、実用的に使えるライブラリがあるかということだ。例えば、良いグラフィックライブラリがあるかなど。この意味で今の私にとって、Pythonで十分なのでRubyを使う必要性がない。むしろ、開発環境が劇的に進化したC#の方が仕事で使えそう。やっぱり、RubyPythonは使い分けるというより、2つの流派に分かれるのかな…。