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

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

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

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Python

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

Q&A

解決済

2回答

2105閲覧

Perlから乗り換える言語のご相談

退会済みユーザー

退会済みユーザー

総合スコア0

Perl

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Python

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

0グッド

0クリップ

投稿2017/04/03 07:01

現在Perlとシェルスクリプトをメインで使っていますが、(遅すぎですが)色々と限界を感じて乗り換えを決意しました。

今今はHiveでログなどのデータを集めて分析し、シェルスクリプトとPerlで加工してSolrに投入するような使い方をしています。

乗り換え候補としては、JavaかPythonを考えており、理由としては
Java:
Hadoop/Hive,Solrが全てJavaなので環境を統一できる

Python:
Perlから乗り換え安そう
分析系のライブラリが充実しているらしい

といったところです。

・そこそこ大きいサイズのデータを扱う
・言語のシェアや習得者数は考慮しない
という条件ですとどちらを使うのがよいか、ご意見を頂けるとありがたいです。

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

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

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

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

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

Zuishin

2017/04/03 07:05

どういう限界を感じたのかわからないと、答えにくいと思います。例えば、言語のシェアが低いとどうしても進歩の速度が落ちますが、Perl は悪くてなぜそれはいいのかがわかりません。
退会済みユーザー

退会済みユーザー

2017/04/03 07:16

先人の残したコードが大量にあるのですが、かなり癖があり可読性が悪いとよく文句を言われること。また、チームにメンバを増やしたいのですがPerlの習得者が極端に少ないことで採用難度も上がっていることなどが具体的な理由になります。一方でシェアを考慮しないとしたのは、Java,Pythonの習得者は一定数の候補が確保出来ているからです。
Zuishin

2017/04/03 07:20

Java も Python もシェアの大きな言語ですから、語弊を招きますよ。即戦力が必要なら、シェアの大きさはとても重要だと思います。「Java か Python の二択でどちらがいいか」という質問なら別ですが、そのように読めないんじゃないでしょうか?
退会済みユーザー

退会済みユーザー

2017/04/03 07:30

シェアの重要性は理解していますが、その上で考慮しないとしています。国籍不問で募集するため、Pythonの国内シェアの低さはカバー出来るためです。
guest

回答2

0

Perlをやっていたなら、Pythonのチュートリアル(https://docs.python.jp/3/tutorial/index.html)を気軽にやってみて感触を掴んでみたらどうでしょうか?

その後、目的に合わせて、Javaなり他の言語なり、またはPythonを深く知ってみるという順序で良いのではないでしょうか?

投稿2017/04/03 11:55

terapyon

総合スコア313

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

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

退会済みユーザー

退会済みユーザー

2017/04/04 12:33

そうですね。Javaは多少経験がありますが、Pythonは未経験のため感触が掴める程度まで触ってみたいと思います。
guest

0

ベストアンサー

具体的に「どの部分から乗り換えていくのか」をもう少し考えた方がよいように見受けられます。

現行の仕組みを全部一括で Java なり Python なりに置き換えるのはリスクが高く、選択することはないので、「どうしても置き換えたい」「優先度がもっとも高い」箇所がどこかによって答えは違ってくるでしょう。例えば...

  • ビジネス的にログデータの分析部分がこのシステムの肝であり、ここをより生産性の高そうな python で置き換える。
  • パフォーマンスのボトルネックが明らかになっており、その部分をコンパイル言語である java で置き換える

など、やりたいことを明確にすると良いでしょう。「乗り換えること」がやりたいことではないんですよね?

投稿2017/04/04 13:18

koko_u

総合スコア936

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

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

退会済みユーザー

退会済みユーザー

2017/04/05 13:37 編集

なるほど、、、その通りですね。確かに全て置き換える気はなく分析系の一部の処理や、新規で作るであろうちょっとしたバッチ処理で使いやすいもの、であったのでそうなるとPythonが良さそうだなと思えてきました。ボトルネックになりそうな処理は極力Hiveで処理したいので、プラグインとしてJavaの利用もありそうです。 ふわふわしていた所が明確になり、大変参考になりました、どうもありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問