ハセテツは複数の言語を状況に応じて使い分けてきましたが、最近のWeb系開発はPython(+Django)がメインになってきています。
ちょっと前までRuby(+Rails)だったのですが、いろいろと考えるところもあり、乗り換えました。その乗り換えた理由をまとめてみようと思います。
まとめてみたら「やっぱりRailsじゃね?」となるかもしれません。w
Ruby(+Rails)
- Rails便利すぎる。
- コントローラとモデルが別々のファイルになってくれるのはソースが追いやすい。
- Railsを通さない画像やCSSはpublicフォルダに置けばよいのはわかりやすい。
- urlディスパッチャーがいまいち使いにくい。(知らないだけかも)
- APサーバはmongrel一択?
- VirtualHost使おうとするとApache+Passenger(mod_rails)だが、これが重い。(チューニングで速くなるのかも)
- というか、Railsがそもそも重い。
- ちゅーか、Rubyが重い、遅い。
- PassengerはWindowsじゃ動かない。
- mongrelもPassengerより激速軽快かというと、そうでもない。
- gem便利すぎ。
- ワンライナで書く人が多くて、Perlとおなじ匂いがする。
ハセテツが使っていたRubyは1.8で、速くなったといわれる1.9には触れていないのでもしかすると古いのかもしれません。でも、Railsって1.9には対応してないですよね?(本日現在)
Python(+Django)
- Django便利すぎる。
- 日本語の書籍、情報が少なすぎる。(ハマるとキツい)
- modelが一枚のファイルなので、大量のmodelがあると可読性が激しくダウン。
- viewファイルをフォルダで分けたくても、アプリケーションフォルダ直下以外にviewファイル置くなら「sys.path.append」しないといけない。(違う?)
- urlディスパッチャーのカスタマイズが超便利。
- mod_pythonが使えるので、Windows環境だろうがLinux環境だろうが気にせずVirtualHostが使える。
- 速い。
- 日本語大変。Shift_JIS怖い。
- easy_installでパッケージのインストールは楽だが、管理が悪夢。
メリットとデメリットが入り乱れました。見難くてすいません。
結局フルスタックのフレームワークということで、DjangoとRailsに関しては一長一短だと思います。個人的にはRailsの方が良くできてたかなぁと。
最終的に、「RubyonRailsは重い」というオチになってしまうのです。Rubyも、Railsも、です。ただ、これはRuby1.9が実は劇的に速くなっていて、1.9に対応したRailsがリリースされたらすべて解決されるのかもしれません。
それでも、いまのところPythonの軽快さ、シンプルさに満足しています。あと、GAEでPythonが動くのもいいですよね。
「Googleが導入した言語」というのがハセテツ的に琴線に触れたのかもしれません。
ミーハーですいません。w