質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

4回答

3141閲覧

Python or Ruby ?

yoichiro_ito

総合スコア103

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2015/11/10 03:04

15年以上、Perlで WEBプログラム、バッチ処理などを作製してきましたが、少しエンジニアとして幅を広げたいと思いたちました。
Ruby または Python いずれかへ入門しようと思います。
ちょうど、旧システムから新システムへデータ移行(バッチ処理)の仕事が目前に控えており、その仕事をあえて得意な Perl ではなく、Ruby か Python で書いてみようと思います。
Ruby または Python を用いて仕事をされている方、アドバイスをいただけませんでしょうか?
よろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

両方を使っています。ただ、私はRubyの方が得意なので、1回だけの使い捨てならさくっと書くためにRubyを使います。cronでスケジュール化するなど長く使うモノなら、そのシステムに合わせてどっちか半々ぐらいです。

私はどっちでもいいと思っています。計算科学系はPythonが強いとか、Web系ならRailsとかがあるRubyの方がいいかもとか、得意分野に微妙な違いはありますけど、できることにそれほど差はありません。とくに通常のバッチ処理では似たり寄ったりなのでどちらでも変わりません。それに片方をやれば、もう片方もそれほど苦労なく習得できます。なので、私はPythonかRubyかに迷っている人へは次の一言をアドバイスしています。

フィーリングで選びなさい。

これは冗談ではありません。本気です。人と同じで、最後は合う・合わないです。強制的にインデントさせられるのに窮屈を感じるとか、最後のendが気にくわないとか、括弧のお化けはもういやだ(それは、LISPだろ…)とかはあるもんです。その日の気分もあります。これはきちっとしたい!ってときはPythonで書いたりしています。どうせ書き捨てだし…ってときは、Pythonで書くのがもったいなく感じてRubyで書いています(Rubyだとどうでもいいらしい)。だから、フィーリングなんです。難しいことを考えずに、どちらかを一度やってみるといいと思います。どっちを選んでも結果は変わらないと思います。なんか合わないなーと感じたら、もう片方をしてみればいいのです。

最後に、Perlから移るときの注意点です。Perlのようにはじめから入っていることを期待してはいけません。Python 2であれば最小インストールでも無い限り入っていると思いますが、Python 3やRubyがデフォルトで入っていることなんてまず無いです。rpmなどのパッケージがある場合もありますが、その場合も最新版を期待してはいけません。最新好きな私は、PythonやRubyの最新機能を使って、結局動かなくて、何度ソースコンパイルするところから始めたことか…。

投稿2015/11/10 10:06

編集2015/11/10 10:09
raccy

総合スコア21733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoichiro_ito

2015/11/10 10:22

ご教示ありがとうございます。 とりあえず、難易度の低いプログラムを 2-3本、それぞれ Ruby と Python で書いてみて、わたし自身のフィーリング(感性)と照合してみたい、と思います。 Perl についてのご教示、ありがとうございました。
guest

0

基本的には、python をよくつかっています。
私は、使えるツールで判断しています。
サーバ管理 fabric
データ操作 numpy,pandas
を使っています。

Ruby は、chef で少しつかっています。

使いたいアプリがどの言語でかかれているかで選ぶのが
いいのではないでしょうか?

投稿2015/11/10 03:52

zanjibar

総合スコア206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/11/10 04:31

Rubyはすぐ後方互換性が失われますし、製作者はそれを全く意に介していません。 1.8のコードは1.9ではほぼ動かないですが、そのわり1.9から2.0への移行は容易なのでわかりづらいことこの上無い。 しかも1.8はもうサポートが打ち切られました。 Pythonは2.xから3.xで後方互換性が失われています。ただし2.xとして2020年までバグ対応される予定です。(とはいえ2.xに機能追加はなく、バグ対応も終わりにしたい感じですが) いずれの言語も要望を受けてサポートを延長しましたが、Rubyは6ヶ月の延長に対し、Pythonは5年の延長です。 私はPython製作者の方が徳が高いと考えています。 結局、それがPythonの"魅力"の核たる部分です。
yoichiro_ito

2015/11/10 10:19

ご教示ありがとうございます。 後方互換性につきましては、Perl を使っていて、ほとんど意識したこと(失敗したこと)が、ありませんでした。 参考にさせていただきます。
退会済みユーザー

退会済みユーザー

2015/11/10 11:16

回答したつもりでコメントしていました。 お恥ずかしい。
yoichiro_ito

2015/11/10 15:25

いえいえ、参考になりました。 ありがとうございます。
guest

0

こんなページをみつけました。

参考にしてみては如何でしょう。

近くに相談できる人が多い方の言語を選ぶとよいと思います。

投稿2015/11/10 15:18

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoichiro_ito

2015/11/10 15:35

ご教示ありがとうございます。 ご紹介いただきましたページ、大変参考になりました。 Perl の後継が PHP とのことですが、わたしはなかなか PHP にはなじめてません。 わたしは一般企業(IT企業ではない)に勤務する社内SE(プログラマ)なのですが、まわりには運用管理エンジニアはいるのですが、プログラムを書くエンジニアがいません。 セミナーに赴くしかないかな、と考えています。
katoy

2015/11/11 03:27 編集

入門書を一冊 読むことをお勧めします。
yoichiro_ito

2015/11/11 01:12

アドバイスありがとうございます。 まずは、Ruby , Python それぞれの「初めての... 」(オライリー)を読んでみます。 昨日(2015/11/10(火)) 書店で立ち読みしてみましたが、Ruby と Python のボリュームの差に驚きました。
guest

0

PythonとRuby:ワークシェイプの徹底比較!
http://postd.cc/python-vs-ruby-the-workshape-smackdown/

これによると、Python, Rubyのプログラマーは共にJavascriptを使うようですので、
とりあえずJavascriptやりながら決断を遅らせることもできるかもです・・
ないしは、Javascriptで作ってみては

投稿2015/11/10 08:48

編集2015/11/10 08:48
YosukeNakayama

総合スコア80

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoichiro_ito

2015/11/10 10:26

ご教示ありがとうございます。 ご連絡いただきました URL を拝見いたしました。 すごく参考になりました(ITエンジニアの志向まで分析されている点が特に)。 JavaScript については、わたしは素人レベルですが、取り組んでみたいと考えておりました。 参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問