質問: 次のプログラミング言語のいずれかをオススメして下さい。 ・ruby ・python ・Perl(5.18系) 使用目的 趣味で書くTwitterのbotだとかちょっとした処理の自動化。実効速度は速くて困ることはないものの重視しない。 現在のスキル Perlの古い書き方が少しできます。バグを産むのでこの書き方はやめたい所。 使用環境 動作テストと自動化などはWindows上、botなどはLinuxのサーバー上で動作させる。 オススメしたいプログラムの良い点、セールスポイントなどを教えて下さい。一番使いたい!と思った回答にポイント多めとするつもりです。 他の言語との比較はかまいませんが、他の言語の悪い所を批判するだけの回答は主旨ではないためご遠慮下さい。 勉強に向いている書籍など有りましたら併記して頂けると幸いです。 それぞれのプログラムが好きな皆様の回答お待ちしております。
回答: もう、この際、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 はシンタックスが綺麗で憧れるんだけど、使う場面がないんだよなぁ。 といった感じになります。 何かの参考になれば幸いです。