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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) HTMLを組み込むことができない言語 3 2022/05/21 10:05
- Ruby プログラミング講師はまだ需要ありますでしょうか? 1 2022/11/07 19:43
- その他(プログラミング・Web制作) プログラミング 処理速度 1 2022/11/25 11:05
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- その他(ブラウザ) python から COBOL を呼び出すことは可能でしょうか。 1 2023/04/21 21:03
- Perl Perlで特定文字列から特定文字列までを抜き出したい 4 2022/04/02 14:24
- PDF OCR処理したPDFの結合 1 2023/07/13 18:22
- 婦人科の病気・生理 低容量ピルについて 現在20歳の女性です。 元々生理がとても重たい体質なので、低容量ピルを使用しよう 3 2023/05/26 19:18
- UNIX・Linux ChromebookでPythonを使いたい! けれどLinuxが入らない… 4 2022/05/05 08:49
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
VB2005 DataGridView上でクリッ...
-
別フォームから戻ったときのイ...
-
【C#】ラベルのダブルクリック...
-
処理終了後のに砂時計が、クリ...
-
マイページはどこを開くの
-
デジタル時計の時刻合わせの方...
-
デスクトップ画面を4分割するには
-
ウインドウを毎回同じ位置、大...
-
Excelでワードアートや図を常に...
-
エクセルのシート上に別のシー...
-
ポップアップウィンドウがブロ...
-
Javascript_submit()完了後に処...
-
5ちゃんねる
-
エクセルVBAでフォームのListbo...
-
【Android】ユーザー補助機能ボ...
-
リストビューをスクロールさせ...
-
スライドショーを全画面でなく...
-
Excelで一部分だけを常に表示さ...
-
PDFを(htmlのように)無限に縦...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
別フォームから戻ったときのイ...
-
VB2005 DataGridView上でクリッ...
-
エクセル アプリケーションの...
-
処理終了後のに砂時計が、クリ...
-
VBAでIEの「Web ページからのメ...
-
VB6.0のEnabledをfalseにしても...
-
excelのタスクバーアイコンが・...
-
Sleep関数の最大時間について
-
Perlで数値(小数点、負の数、...
-
javascriptの中で、perlのコマ...
-
C# マウスオーバーの記述方法
-
C++での連続した左クリックの禁...
-
Perlの多重起動を禁止したい
-
[CGI]ブラウザを閉じた時の動作
-
VC++2010 エディットボックスに...
-
フォームの値を取得できません...
-
エクセルVBAのMultipageの使...
-
【C#】ラベルのダブルクリック...
-
別ページからのタブ切り替えの...
おすすめ情報