主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PythonかRubyか

                
tags:
 ぼくが軽量言語を学ぶときに最後の選択肢としてPythonとRubyが残った。どっちも有名なWebフレームワークがあるし、実行速度も大差ない。結局、GoogleAppEngineで使えることやOpenCVをインストールするとPythonドライバがついてくることから、Pythonのほうがおもちゃも豊富そうだと考えてPythonを選んだ。参考になりそうな記事を探していた時に、Pythonではこう書くものがRubyではこうなるというものもあったがそういうものは全然気にならなかった。違う言語なら書き方が違うのは当然だし、それでどっちが優れているというのはお互いに言い分があるものだ。
 Pythonを学ぶと呪われ、Rubyが書けなくなるなんてことはあるまい。とっととコードを書いてみたかったので選択に時間はかけなかった。それでまあしばらくやってきて、Pythonで良かったと思うことやRubyすげえなとなんとなく思うことがあった。そのあたりを道標として。

 Rubyですごいと思うのは、Webフレームワークだ。TwitterではRailsが使われていたし、イギリス政府のWebサイトでRailsとsinatraというフレームワークが併用されたという話も聞いた。Rubyが日本に限らず世界で利用されているということだ。それで日本語ドキュメントも豊富だっていうなら、RubyはWebをやりたいときに強いと考えざるを得ない。

 Pythonを選んでよかったと決定的に思ったのは、IronPythonとMonoを知ったときだ。
 Pythonでデスクトップで動くGUIアプリを書いて、スクリプトをそのままインタープリタと同梱して配布するのはなんだかムズムズする。できることならEXEファイルにコンパイルしてから配布したい。そういうことができるモジュールもPythonには探せば用意されているが、使い方がなかなか面倒だった。IronPythonを使えばEXE化手段は標準で付いてくるし、Windows 8を相手にするならとくに追加インストールするものなくIronPythonをEXE化したものを動かせる(Windows 7でも.NET Frameworkの4.xをインストールするだけだろう)。そのEXEファイルはMonoのおかげでWindowsだけでなくLinuxやMacでも動かせる(WPFでなくWinFormsのみ対応だけど)。
 RubyでもIronPython同様にIronRubyというのがあるけど、開発がストップしてしまっている。IronPythonはバグフィクスとともに開発が続いている。Iron系は本家に比べてマイナーなのでコミュニティが生きていたり、参考になるドキュメントが公式非公式問わず多いほうがいい。そういうことも合わせて考えるとIronPythonのほうが有利に思える。IronRubyでもできないことはないんだろうけど。とりあえずPythonがIronPythonという形で、デスクトップアプリケーションを手軽に作る手段を提供してくれた。

 つまるところPythonもRubyもクラスベースのオブジェクト指向言語だ。細部の違いはあれど、片方を学べばもう片方に使いまわせる部分がそれなりにある。今後どっちがスタンダードになってどっちが廃れると考えて判断するのは賭けでしかないし、賢い洞察だとも思えない。まずはWebフレームワークを使うことだけを考えてるならRuby、Webに加えてデスクトップアプリならIronPythonがけっこう便利だからPython、なんてのを判断基準にして選んでみるのも一手だと思う。
            

コメントの投稿

非公開コメント

プロフィール

hMatoba

Author:hMatoba
Github

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。