- ベストアンサー
Pythonとは?
最近Pythonの創設者がGoogleに入社したこともあり、有名になりつつあるPythonですが、具体的にどのようなことができるのでしょうか? Wikipediaを参照してみたのですが、強力なオブジェクト指向だということはわかりました。また、CGIとしてWebアプリケーションなども作成できるようですが、パイソンを使ってWindowsやLinuxで動くようなデスクトップアプリケーションも作成できるのでしょうか? それともPHPのようにWebアプリのみに特化した言語なのでしょうか? また、これから学ぶのであればRubyまたはPythonどちらを選択しますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
日本のレンタルサーバとかの状況を見ると、Pythonが使えるところよりは Rubyが使えるところのほうが多いような印象を受けます。 今すでに使っているところがあってその辺が問題になるのならば、 Rubyが有利かもしれません。 できればCGIじゃなくて、mod_ruby/mod_python とかFastCGIとかで 使えるようになっているといいんですが。 デスクトップアプリというのが具体的にどういうものなのかがよくわかりませんが、 、あとマルチウィンドウ環境で自前でウィンドウを開いて動くようなものであるなら、 Pythonが一歩リードしているように見えます。 Rubyでもできないことはないのですが、複数のプラットフォームで動かすということを 考えるなら、wxWidgetsがより使いやすいであろうPythonがいいかなという気はします。 まあなんというか、適当な toy program でも作ってみて、 どっちのやり方が自分にしっくり来るかで決めてみてはどうでしょう。 どちらもチュートリアルがあるので、その辺を見ながら。
その他の回答 (3)
- sakusaker7
- ベストアンサー率62% (800/1280)
> 実行速度に関して厳しいと書かれていますが、 > JavaとかCに比べるとやはり遅いのでしょうか? まあCやJavaは最終的にはCPUが直接解釈することのできる 機械語まで変換されますので、無駄が入らない分 速度的にはPythonは不利な面はあるでしょうね。 ただ条件によってどの程度の差が出るかということは 変わってくるはずなので、あまり「遅い遅い」と 強調するのもどうかと。 たとえばCで組んだら実行時間が 1分のものが PythonやRubyでやったら10分掛かりますという差と、 0.1秒と1秒という差とでは意味が違ってきますよね? 実行速度だけが尺度になるのなら、Cすら使われずに アセンブリ言語一色になってしまうわけで、 評価の基準はひとつに決めない方がよいと思います。 > はやりどの言語もJavaやCなどのポピュラ言語には > 勝てない部分があるのでしょうか?よろしくお願いします。 今書いた作成したプログラムの実行速度なんかは その一つに挙げられるでしょうね。 ハードに密着した低レベルなプログラムを書くという場合には Cが頭一つ抜けているでしょう。 でも逆に、JavaやCではPythonにかなわないという部分もあるわけですよ。 世の中にはたくさんのプログラミング言語があふれていますが、 それぞれ得意なもの不得意なものがあり、 使いどころがあります。 幸か不幸か一つの言語で何でもこなす。というのは 少々無理があるというのが現状でしょう。
お礼
回答ありがとうございます。 なるほど、各言語には長点もあれば欠点もあるんですね。わたしもPythonを調べていたのですが、Googleの大半のWebアプリはPythonで書かれているみたいです。 ただ、PHPやPerlに比べてドキュメントも少ない感じですし、ライブラリの数も少ない感じなので、今後に期待する言語な感じがしました。 ところで、RubyはRoRで爆発的な人気が出たようですが、RubyもPythonみたいにデスクトップアプリを作成できるんですよね!?今後デスクトップアプリケーションを作成する計画なのですが、Web関連も多くかかわるので、両方に使用できる言語を探しているのです。その中でも今後活躍してくれそうなRubyとPythonを選択したのですが、Rubyのほうが、最近日本でも人気あるし、、、とすごく迷っています。Webアプリケーションでも高速で起動し、なおかつWindowsやMac、Linuxなどのプラットフォームでも動くアプリケーションを作成するにはどちらがベストでしょうか?お答えいただければ幸いです。
- sakusaker7
- ベストアンサー率62% (800/1280)
> それともPHPのようにWebアプリのみに特化した言語なのでしょうか? んなこたーありません。 Linuxのパッケージ管理にも使われていたりしています。 デスクトップアプリも作れますよ。 で、「なにができるか」、ですが 「大抵のことは何でも」 実行速度が求められるような場面ではちょっと厳しいともありますが ちょっとしたツールから、結構大規模なプログラムまで実績があります。 あまり表には出ていませんが、PC用のゲームの 制御スクリプトとしても使われているようです。 > また、これから学ぶのであればRubyまたはPythonどちらを選択しますか? なにも前提を置かないで答えろということなら、Pythonですね。 ただしいつもこう答えるものではない(条件次第で変わる) ということはあらかじめお断りしておきます。
お礼
回答ありがとうございます。 ほぉ~パイソンってかなり万能な言語なんですね。 実行速度に関して厳しいと書かれていますが、JavaとかCに比べるとやはり遅いのでしょうか? はやりどの言語もJavaやCなどのポピュラ言語には勝てない部分があるのでしょうか?よろしくお願いします。
参考URLは日本のユーザグループのサイトです。 一度は読んでみてください。
- 参考URL:
- http://www.python.jp/
お礼
丁寧なご回答ありがとうございました。 最終的にPythonにしてみようと思います。本当にありがとうございました。