次のプログラミング言語のいずれかをオススメして下さい。

・ruby ・python ・Perl(5.18系)

使用目的 趣味で書くTwitterのbotだとかちょっとした処理の自動化。実効速度は速くて困ることはないものの重視しない。
現在のスキル Perlの古い書き方が少しできます。バグを産むのでこの書き方はやめたい所。
使用環境 動作テストと自動化などはWindows上、botなどはLinuxのサーバー上で動作させる。

オススメしたいプログラムの良い点、セールスポイントなどを教えて下さい。一番使いたい!と思った回答にポイント多めとするつもりです。
他の言語との比較はかまいませんが、他の言語の悪い所を批判するだけの回答は主旨ではないためご遠慮下さい。
勉強に向いている書籍など有りましたら併記して頂けると幸いです。

それぞれのプログラムが好きな皆様の回答お待ちしております。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/10/04 12:54:49
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kemeko0809 No.1

回答回数338ベストアンサー獲得回数23

ポイント250pt

Pythonは使ったことがないんですが、書きやすさや楽しさ、美しさからRubyをオススメします。
私はPascal(Delphi)→C/C++→(以下多数)の順に言語を学んだのですが(初手から間違ってる?)
Rubyに初めて触れたときに「なんてわかりやすく美しいんだろう」と感じました。
Rubyの前にPerlも勉強しましたがPerlには感動がありませんでした(個人的な印象ですが)。

以下のページが参考になります。
http://i.loveruby.net/ja/ruby/why.html

Ruby が Ruby たる所以は「書くのが楽しい」ところなのである。

モデルの面から言っても Ruby は美しい。値は整数も含めて全てオブジェクトだし、クラスもオブジェクト、コードもオブジェクトにでき、そしてオブジェクトでないデータは存在しない。

RubyとPerlの比較

とりあえず Perl5 のオブジェクト指向は使いたくないじゃない。 Perl 好きな人も Perl4 レベルがいいって言うし。だから オブジェクト指向嫌いなら Perl。好きなら Ruby。

RubyとPythonの比較

全般的に Python が禁欲僧みたいな印象なのに対し Ruby のほうはずっとノリノリな感じである。

書籍は最初に読むならこちら、

初めてのRuby

初めてのRuby

次に読むならこちらをおすすめします。

id:x2pop

回答ありがとうございます。
新しめのPerlはノリノリ過ぎていってしまった感じで…。Rubyはそのあたり似ている気がする部分もあって逆に不安なかも、と改めて気がつきました。
禁欲僧かー

2013/10/04 12:51:59

その他の回答1件)

id:kemeko0809 No.1

回答回数338ベストアンサー獲得回数23ここでベストアンサー

ポイント250pt

Pythonは使ったことがないんですが、書きやすさや楽しさ、美しさからRubyをオススメします。
私はPascal(Delphi)→C/C++→(以下多数)の順に言語を学んだのですが(初手から間違ってる?)
Rubyに初めて触れたときに「なんてわかりやすく美しいんだろう」と感じました。
Rubyの前にPerlも勉強しましたがPerlには感動がありませんでした(個人的な印象ですが)。

以下のページが参考になります。
http://i.loveruby.net/ja/ruby/why.html

Ruby が Ruby たる所以は「書くのが楽しい」ところなのである。

モデルの面から言っても Ruby は美しい。値は整数も含めて全てオブジェクトだし、クラスもオブジェクト、コードもオブジェクトにでき、そしてオブジェクトでないデータは存在しない。

RubyとPerlの比較

とりあえず Perl5 のオブジェクト指向は使いたくないじゃない。 Perl 好きな人も Perl4 レベルがいいって言うし。だから オブジェクト指向嫌いなら Perl。好きなら Ruby。

RubyとPythonの比較

全般的に Python が禁欲僧みたいな印象なのに対し Ruby のほうはずっとノリノリな感じである。

書籍は最初に読むならこちら、

初めてのRuby

初めてのRuby

次に読むならこちらをおすすめします。

id:x2pop

回答ありがとうございます。
新しめのPerlはノリノリ過ぎていってしまった感じで…。Rubyはそのあたり似ている気がする部分もあって逆に不安なかも、と改めて気がつきました。
禁欲僧かー

2013/10/04 12:51:59
id:JULY No.2

回答回数966ベストアンサー獲得回数247

ポイント250pt

もう、この際、3つともw。

流行り言葉の DevOps で言えば、9 割以上 Ops側で、プログラムを書くのは「自分の仕事を楽にするため」、というスタンスなので、一般的な「プログラムを書いてみたい」という要望とはズレていると思いますが、とりあえず、ちょっと書いてみます。

自分自身は、Perl → Ruby → Python ですが、最初に Perl をいじったのはたしか、ML ソフトの Majordomo をカスタマイズしたのがきっかけだったと思います。

次に、Ruby の美しさに惹かれたてトライしてみたけど、「Ruby で書きたい」と思うものが無くて身につかず、結局、一行たりとも Ruby では書けません。

で、割と最近になって、python を使うようになりました。元々、RHEL / CentOS のサーバを運用していているのですが、RHEL / CentOS に付いてくる管理ツールが python で書かれている事が多いので、「これを真似れば、管理用のツールとか書けそう」と前から思っていました。

運用を楽にするための何かを書く、という時には、まずはシェルスクリプトで実装する事を考えるのですが、ちょっと複雑なデータ処理的な事は、今でも Perl で書きます。テキストファイルを読み込んで、何らかの処理をする、という時には、Perl が書きやすい感じがします。但し、「使い捨て」が多いです。一度きりしか実行しないものとか、繰り返し使うにしても、自分しか使わないような物は Perl でささっと書くのが、自分には合ってます。

これが「自分以外の人も使う」という話になるとちょっと事情が違ってきて、そんな時には python が便利です。python と Qt を使って、Windows で動く exe ファイルを生成する事もできる(Dropbox が python で実装しているのは有名です)ので、普段、Linux のプログラムを書く自分でも Windows 用のちょっとしたツールが作れる、というのは魅力です。あと、先にも書きましたが、RHEL / CentOS 用の管理ツールが python で書かれているので、それをマネたり、あるいは、そこで使われているモジュールを使う事で、割とまともな物が作れます。

ただ、Perl のから入った身だと、「いかようにでも書ける」Perl のシンタックスに慣れているので、python のシンタックスは窮屈な感じがします。

ということで、自分に取っては、

  • テキスト処理やジャンクなスクリプトの時は Perl。
  • 自分以外の人が使うかもしれないなら、RHEL / CentOS にある管理ツールのソースを参考にしながら python で実装。
  • Ruby はシンタックスが綺麗で憧れるんだけど、使う場面がないんだよなぁ。

といった感じになります。

何かの参考になれば幸いです。

id:x2pop

回答ありがとうごさいます。
「いかようにでも書ける」というのはたしかにPerlらしさなのですが、ある程度固いpython もいいかなーと思い始めています。

2013/10/04 12:53:38
  • id:windofjuly
    うぃんど 2013/09/29 15:45:47
    ぐだぐだと考えを書き出してみたのですが、
    何を書こうとも、蛇足に思えてきたので、端的にコメントで…。

    「白黒はっきりさせないと気が済まないならpython、
    (いい意味で)動けばいいというならruby。」

    最初に書いたほうが負けみたいな感じになりそうな予感がしたのはナイショです。
  • id:deep_one
    Rubyのダイナミックなクラスは体が受け付けない…
  • id:x2pop
    ご意見、ご回答ありがとうございます。
    とりあえず自由なPerlは趣味の範囲ですが満喫できたので、Pythonを試してみます。
    やっぱり違う、となったらせっかく覚えているのだし新しいPerlの書き方を覚えようかなと。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません