・ruby ・python ・Perl(5.18系)
使用目的 趣味で書くTwitterのbotだとかちょっとした処理の自動化。実効速度は速くて困ることはないものの重視しない。
現在のスキル Perlの古い書き方が少しできます。バグを産むのでこの書き方はやめたい所。
使用環境 動作テストと自動化などはWindows上、botなどはLinuxのサーバー上で動作させる。
オススメしたいプログラムの良い点、セールスポイントなどを教えて下さい。一番使いたい!と思った回答にポイント多めとするつもりです。
他の言語との比較はかまいませんが、他の言語の悪い所を批判するだけの回答は主旨ではないためご遠慮下さい。
勉強に向いている書籍など有りましたら併記して頂けると幸いです。
それぞれのプログラムが好きな皆様の回答お待ちしております。
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 のほうはずっとノリノリな感じである。
書籍は最初に読むならこちら、
次に読むならこちらをおすすめします。
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 のほうはずっとノリノリな感じである。
書籍は最初に読むならこちら、
次に読むならこちらをおすすめします。
回答ありがとうございます。
新しめのPerlはノリノリ過ぎていってしまった感じで…。Rubyはそのあたり似ている気がする部分もあって逆に不安なかも、と改めて気がつきました。
禁欲僧かー
もう、この際、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らしさなのですが、ある程度固いpython もいいかなーと思い始めています。
回答ありがとうございます。
2013/10/04 12:51:59新しめのPerlはノリノリ過ぎていってしまった感じで…。Rubyはそのあたり似ている気がする部分もあって逆に不安なかも、と改めて気がつきました。
禁欲僧かー