
No.2ベストアンサー
- 回答日時:
参考にでもなれば。
Perl
メリット:
三者の中で最も古くから使われているものなので、
1. UNIXベースのシステムならまず間違いなく入っていることが期待できる。
(一部の商用システムを除く)
2. サンプルおよびモジュールがたくさんあるので
参考にできたり楽ができたりする
3. 多分三つの中で一番処理速度が早い
4. 参考書も一番出版されている(玉石混交ですが)
デメリット:
1. 気をつけないと三ヶ月先の自分でも読めないスクリプトになってしまいがち
2. 歴史があることの裏返しで、ネット上にある情報の中には
あまりにも古いものが残っていたりして
混乱することがあるかもしれない
3. 日本語テキストを扱うときのエンコーディング周りの
ルールが複雑でわかりにくい
Python:
メリット:
1. Perlほどではないが、Linuxをつかったディストリビューションの
パッケージ管理に使われるなどしているので
割と広く使われ始めている
2. Googleの公式言語(のひとつ)だぜぇと自慢できる(かもしれない)
3. Perlに比べると技巧的な記述がしづらいがそれによって読むのにはあまり苦労しないですむ
4. 公式マニュアルの日本語訳は質量ともに
素晴らしい
デメリット
1. 日本語でかかれた本がまだ少ない(5冊くらい?)
2. ネット上でも日本語での情報は三者の中では多分一番少ない
3. ShiftJISやeuc-jpのテキストを処理するときに
一回Unicode化しなければいけないのでちょっと面倒
(でもこれはPerlも同じ)
Ruby
メリット
1. ShiftJISやeuc-jpのテキストを扱うには一番障害がない
2. ネット上の日本語での情報がそれなりにある
3.Perlには負けるかもしれないが書籍も結構出ている
デメリット
1. インタプリタの処理速度が三者の中では多分一番遅い
2. ガーベジコレクタ絡みのバグにあたるとちょっとしんどい
3. Unicodeを(UTF-8以外で)扱うのはちょっと厳しい(不可能ではない)
こんなところでしょうか。
わたしの見方ですので眉に唾つけて受け取ってください ;-)
ご回答ありがとうございました。
それぞれの処理系のメリット・デメリットを簡潔に説明していただき、
それぞれの特徴を理解するのに助かりました。
ポイントは日本語処理と書籍などの情報量の差、処理系の導入の
しやすさになるような感じでしょうか?
お陰様で大分、違いが明確になってきました。
本当にありがとうございました。
No.1
- 回答日時:
こんにちは、回答が付かないみたいなので、あくまでも私の意見で。
ただ、Perl が好きだけど専門家じゃないという前提でお願いします。
>ログの解析など、テキスト処理を中心とした処理
私の知っているレベルでは、どの言語でもまず問題ないと思います。
>手軽に使える
インタープリタであること自体が手軽だと思いますので、
これもどの言語でもまず問題ないと思いますが、
私の知っている少ない LINUX ディストリビューションには標準でPerlがインストールされています。
windows の場合 ActivePerl をインストールすることになりますが、
手軽な範囲だと思います。
>メリット、デメリット
これはかなり難しい質問だと思いますが、Perlについてだけ…
Perlの場合、”やり方は一つじゃない”って合言葉?があって、
それがメリットとも、デメリットともなっているようです。
RubyやPythonの様なオブジェクト指向な言語だと、
ある処理を行う場合にだいたい同じような書き方になって、
理解しやすく保守性が高くて良いと言われますし、
またオブジェクト指向によるコードの再利用しやすさも良い点だと思います。
Perlの場合、様々な書き方があるし、
オブジェクト指向プログラミングも書き方がいっぱいって感じで、
分かりにくくて保守性が悪いといわれがちな部分があると思います。
(Perlが好きな人はその辺が嫌いじゃないんだと思います。)
でも、
”簡単な事は簡単に、難しいことは少なくともできなくてはならない。”
と言うPerlは、手軽にテキストの処理をしたいという使い方にはピッタリじゃないかなと思います。
また、豊富なモジュールもPerlのメリットだと思います。
最終的には、”お好みで”って事になっちゃうと思います。
なんか本当に参考にならない意見でしたね。
ご回答ありがとうございました。
>Perlは、手軽にテキストの処理をしたいという使い方にはピッタリじゃないかなと思います。
ツールとして使いたいので、使いたいときに手軽に使えるというのは
私にとっては大きなメリットになります。
豊富なモジュール群のあるというのはPerlは魅力的ですね。
ご意見を参考にさせていただきまして、私なりにもう少し調べて
みたいと思います。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlのプログラミング 部分入れ...
-
Perlでファイルの末尾から指定...
-
テキストファイルで提出とは?
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
別フォームから戻ったときのイ...
-
VB2005 DataGridView上でクリッ...
-
同一の検索値が複数存在する場...
-
excelのタスクバーアイコンが・...
-
処理終了後のに砂時計が、クリ...
-
VBAでグーグルにインデック...
-
VBAでIEの「Web ページからのメ...
-
エクセル アプリケーションの...
-
VC++2010 エディットボックスに...
-
C++での連続した左クリックの禁...
-
時間のかかる処理中にメッセー...
-
ASP DB検索結果の件数を事前表示
-
vba IE操作で こういう事って...
-
Sleep関数の最大時間について
-
マウスオーバー時に効果音を鳴らす
-
cgiを使用して時間制限
-
Perlで数値(小数点、負の数、...
-
【C#】ラベルのダブルクリック...
-
VB6にて、バックグラウンド処理...
おすすめ情報