【えっ】Perlに未来はあるのか?【終わり?】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/06/02(土) 00:54:11
青春をともに過ごしたPerlの何がだめって言うんだよ〜
教えてくれ!
2007/06/02(土) 21:41:51
>>28
つ【鏡】

必要があるかないかは言語設計上の選択の問題であって優劣とは関係ないね。
PythonはRuby, Java, C#, C++, Objective-C等々と違ってクラス定義にインスタンス変数が
含まれていないから自分の参照を明示的に指定する必要がある。
グローバル変数が容易につくれてしまうスクリプト言語ではコーディング上もインスタンス
変数であることがその場で理解できる方がバグが少なくなるから、タイプ量を少なくして
実行環境の方で推測して名前解決するかコードに冗長にでも書かせてバグが可読性を
上げるかは思想上の問題にほかならない。

ま、キモいというのは単なる主観の問題であるから>>28も別に優劣をつけたいわけじゃ
ないんだろうけど、設計思想とその合理性について議論も理解もできないんなら話しても
無駄だね。
多分Javascriptくらいは使ってみたら理解できると思うよ。
2007/06/02(土) 21:49:00
Javascriptはthisのスコープがキモすぎ
2007/06/02(土) 21:50:29
>>29
うげ。修正。

>タイプ量を少なくして
>実行環境の方で推測して名前解決するかコードに冗長にでも書かせてバグが可読性を
>上げるかは思想上の問題にほかならない。

タイプ量を少なくして書きやすくし、実行環境の方で名前解決するか、コードに冗長にでも
書かせてバグが起こりにくいように可読性を上げるかは思想上の問題に他ならない。
2007/06/02(土) 21:52:31
>>29
selfがキメエつったくらいでなんなんだあんたはw
あんたよりたくさん言語しってるっつのw
2007/06/02(土) 21:59:47
キモいのは言語でなくプログラマ
2007/06/02(土) 22:00:28
草生やしてるやつってなんなのw
きもすぎw
2007/06/02(土) 22:01:55
py厨ってみんなこんなん?w
2007/06/02(土) 22:25:29
RubyやPythonは、(lexical) syntaxが、Cと結構違うのが残念。
Dangling else以外は極力合せて欲しい。
2007/06/02(土) 22:29:40
>>32
キモいだけならはいはいそうですかだけど、「有害」であることは結局一つも論拠が
なかったな。
まあその程度なんだろうからもういいや。
>>33
うん、一つの言語しか知らないのに他の言語を馬鹿にする奴は全員キモいな。
でもそういうのはプログラマじゃなくてコーダーだろ。
>>35
え、俺はDとC#メインだけど?このスレにpy厨っている?
2007/06/02(土) 22:33:20
>DとC#メイン
学生乙
2007/06/02(土) 22:38:12
Dでなにつくってるの?w
2007/06/02(土) 22:42:05
DってTango完成したのか?
2007/06/02(土) 22:43:35
DはまずIDEをなんとかしろ
2007/06/02(土) 22:54:44
言語仕様はめまぐるしく変わるし、
D信者はCTFE、文字列mixin、ファイルimportなんかを平気で多用する。

IDEなんか作れるわけないじゃん。
2007/06/02(土) 23:03:52
ともあれ、IDEがなきゃ普及は難しいな
2007/06/02(土) 23:38:25
>>36
ドカタ言語じゃあるまいし、Cのウンコ文法なんかにあわせてられるかっつーの
2007/06/03(日) 00:09:56
スクリプトなんて、総じてCよりドカタなんだが。。
2007/06/03(日) 01:21:11
>>43
まあ、Eclipse上とかにもあるっちゃあるけど、IDEというよりは補助ツールって感じだな。
47デフォルトの名無しさん
垢版 |
2007/06/03(日) 01:52:43
Perlみたいなおもちゃでも仕事できる業界になっちまったからな。
そりゃ専門卒歓迎みたいなドカタも増えるわな。
48デフォルトの名無しさん
垢版 |
2007/06/03(日) 02:32:52
Perl擁護派は誰もいないのか?
2007/06/03(日) 02:35:57
>>48
よし、じゃぁ、俺がPerlを擁護しちゃる!

俺、Perl を使い出してから彼女ができました。
いまでは回りもうらやむ馬鹿ップルです!
2007/06/03(日) 03:03:38
俺が一時期使ってたパスワードはperlにそのまま通る
2007/06/03(日) 03:10:09
Perlはきれいに書くこと「も」できるし正規表現がめちゃ速いから食わず嫌いは
もったいないな。
バッククウォートで他のコマンドの出力を配列で受けられるのも便利。
CPANの資産は膨大だし、言語仕様がgdgdでもその場で書いて捨てるような
スクリプト、他のコマンドの賢いマクロとしての利用には最適だよ。
Perl5オンリーのプログラマには未来はないかもしれないが、Perl自体にはずっと
あるだろ。それに新しい言語として考えればPerl6は悪くない。CPANの資産を
どれくらい引き継げるかは知らないが。

>>39-43
GCのあるC-like langとして自分でライブラリ作ってデータ処理と統計解析を
やってる俺には全部意味のない質問だ。
Emacsさえ対応すればIDEなんていらん。つかIDEがなきゃコーディングできない
連中をドカタっていうんじゃないのか?
俺は言語ヲタじゃなくて仕事の必要に応じて適した言語を使ってるだけだから
この程度しか構ってやれなくてすまんね。
2007/06/03(日) 03:41:47
Python信者はどうしてもねぇ・・・。
2007/06/03(日) 03:54:24
信者が痛い言語に移りたくはないな
2007/06/03(日) 03:57:26
>>51さん、あなたは無意識のうちに大勢の人を敵に回すタイプですね。
2007/06/03(日) 04:20:51
PerlはUNIX系のOSなら大抵インストールされてるし、日常の雑用なんかの細かい仕事を
こなすためにPerlを使って、ある程度規模のあるプロトタイプや使い捨てでないスクリプトを
作るときはPythonやら他の言語を使うってのが一番常識的なやり方なんでないの?
2007/06/03(日) 07:05:18
Javascriptが意外と頼りなかった。
もっと頑張っていれば今頃主流。
2007/06/03(日) 08:38:48
一時期のに比べたらAjaxやら何やらで良い立場になった方さね
2007/06/03(日) 11:11:38
Perlはともかくrubyはイラネ。
59デフォルトの名無しさん
垢版 |
2007/06/03(日) 21:35:40
最近Perlは得意ですみたいなインチキ技術者が増えてきて困る
2007/06/03(日) 21:46:53
そんなのはとっくの昔に死に絶えたんじゃないのか
61デフォルトの名無しさん
垢版 |
2007/06/03(日) 21:55:30
perlつかっているけど、ものぐさな人むけじゃないか?ものすごく自由にコードを
かけるよね。そういう意味では楽。
関係ない話だけど、パールつかっていて、ポインターと同等のものがあればなぁ
なんて思ったことが多々あるんだけど、こんな俺もとうとうC++に移行します。
2007/06/03(日) 22:00:26
>>59
mixiとかライブドアとか見てると、perlでもすごそうなヤツはいそうだけど。
2007/06/03(日) 22:11:55
!(Φ_Φ+)
個人ではperl.も含めて構成を考えて現段階まで構築しています。
64デフォルトの名無しさん
垢版 |
2007/06/03(日) 22:12:52
rhino(JVMで動くJavaのクラスライブラリが使えるJavascriptの処理系)を
使っているんだけど、BeanShell辺りに浮気してしまいそう。
2007/06/03(日) 22:34:14
!(Φ_Φ+)
Shell.は二つで構築しています。
2007/06/04(月) 02:08:11
最近Perlの勉強始めて面白くなってきたオレはどうしたら・・・
2007/06/04(月) 07:52:48
無駄にならんから続けろ。
2007/06/04(月) 10:52:21
perlの知識が無駄になることはないだろ。
もっといいものがこれから出てくるだろうが、
いざというときに計算尺が使えれば役に立つ。
2007/06/04(月) 15:33:10
perl?ムダだろ。
2007/06/04(月) 22:33:03
無駄だ。ruby覚えるよりはマシって程度。
2007/06/04(月) 22:37:43
覚えるも何も、最初からできるものだろ。PerlもRubyも。
2007/06/04(月) 22:52:15
何もかもが無駄
73デフォルトの名無しさん
垢版 |
2007/06/05(火) 00:43:31
偉そうに馬鹿野郎!
2007/06/05(火) 00:46:32
偉そうなのも無駄
75デフォルトの名無しさん
垢版 |
2007/06/05(火) 16:13:30
別に言語の種類なんてどうでもいいでしょ。肝心なのは目的のソフトを
作成する際にどれだけ的確でかつ修正にも柔軟な処理をかけるか?の
能力。結局は、オブジェクト指向や変数のカプセル化とかそういったところに
たどり着いてしまうんだけど、まぁ、そこまで知っていれば、簡単なプログラム
をつくる際でも、やりやすいよ。

とっかかりとしてperlは十分によい言語だと思うよ。
76デフォルトの名無しさん
垢版 |
2007/06/05(火) 16:41:58
>>75
今どんな言語やってますか?
77デフォルトの名無しさん
垢版 |
2007/06/05(火) 16:48:57
Rubyだろ。
78デフォルトの名無しさん
垢版 |
2007/06/05(火) 23:46:19
Base64さえ作れないへたれがCPANからあさりながら使うへたれ用言語です
2007/06/06(水) 00:28:36
ワンライナーとしても使い捨てスクリプトとしてもPerlよりRubyのがいいと思うよ。

初めて覚えた言語として、その手の仕事は4年間Perlに任せっきりだったけど
Ruby使い始めてからPerl使うことはなくなったなー。
短くかけるんだよ、Rubyは。Haskellが異常に短くかける理由に近いと思う。
(クロージャが手軽・組み合わせて使える汎用的な標準ライブラリの関数やクラス)

文法がCライクだったらもっと流行ってた気がする。主流にならないかな。
80デフォルトの名無しさん
垢版 |
2007/06/06(水) 20:58:20
Perlは今バブル気味で、へたれでも職があっていいぞ。
2,3年Perlやって、2.0できますみたいに言っとけば、
あほでも飯が食える入れ食い状態。
2007/06/07(木) 13:59:04
JavaFXで、不等号!=が<>になってるのとか、まじ勘弁。

&& → and, || → or, ! → notは、
やらない方がいいとはいえ、まだ許容範囲だけれど。
2007/06/07(木) 16:59:57
古きよきBASICを髣髴とさせる演算子。すばらしい
2007/06/07(木) 22:29:49
>>80
そんなにPerlの募集はないぞ
2007/06/07(木) 22:32:59
うん。はっきりいって無い。Ruby以上に無いかも。Pythonといい勝負。
2007/06/07(木) 22:40:47
そもそもスクリプト系言語で一番仕事にありつけるのって何よ?

今年や去年の話じゃないかもしれんが
本屋に行ってもPerlの本を見かけることがホント少なくなった
掲示板も日記もブログで代用できて
CGIとしての需要がなくなったんだろう
2007/06/07(木) 23:14:49
スクリプトとしてはPHP辺りか?
2007/06/07(木) 23:32:01
ttp://labs.cybozu.co.jp/
この辺とかではPerlは熱そうだが・・
2007/06/08(金) 08:09:17
今時perlでCGIはないだろ?
PHP, Java2EEの時代じゃないか?
2007/06/08(金) 19:31:02
いまどきC言語で盛んに開発が行われているのを考えると。
一度天下とって普及しちゃった言語はそうそう簡単になくならない。
2007/06/09(土) 01:08:52
C言語も盛んって感じでもないな。
保守が中心。業務系で新規でCはほぼ無い。
91デフォルトの名無しさん
垢版 |
2007/06/09(土) 01:15:24
やっぱこれからはRubyなのか?
興味ないこともないよ、日本人が開発したって言うしな
だがPerlを捨てはしない
Perlはすでに身体に馴染みすぎており、俺の青春だからだ!!
2007/06/09(土) 01:22:50
これからはRubyがくるかは限りなく怪しいが、Perl6が出てもよろしく。
2007/06/09(土) 02:15:01
>>89
COBOLやFORTRANでもすらなくならないくらいだからな。
94デフォルトの名無しさん
垢版 |
2007/06/09(土) 16:23:15
しょせんおもちゃですよ
2007/06/09(土) 16:32:02
しょりゃ、一度何か使われたものはなくならないだろう

しかし、流行り廃りはあるね
2007/06/09(土) 16:33:38
COBOLとかいつの時代の古代遺産だよw



今保守やってっけどさ、最近の言語で書き直したほうが総合的には安く上がると思うんだよな。
2007/06/09(土) 16:35:16
>>96
それは、さすがにない
2007/06/09(土) 18:13:53
昔COBOLer


今PHPer
2007/06/10(日) 01:35:07
>>97
クリティカルじゃないのに、COBOLで組んであるやつは
全部書き直した方が安くなる場合もあるよ。
100デフォルトの名無しさん
垢版 |
2007/06/13(水) 08:04:36
PERLは一生不滅ってことでOk??
2007/06/13(水) 19:07:39
おk
2007/06/18(月) 12:16:01
JavaFXのselect operator

function factors(n) {
return select i from i in [1..n/2] where n % i == 0;
}

ちょっときついなあ。慣れても可読性が上がらない感じ。
Haskell: [n | i in [1..n/2], n%i == 0]
2007/07/06(金) 23:49:12
一応、擁護派。
UNIX系システム管理の世界の者ですが、perl無しでは考えられんとです。
perlの正規表現は便利で手放せないが、実はコレが意外と遅くてリソース喰う。
ギガ単位のログを相手に戦う時なんかは、なるべくunpackやsubstrを使ってパターンマッチ
を行うとよいね。
2007/07/07(土) 18:42:18
非効率極まりない正規表現を書いてるんじゃないか
2007/07/09(月) 20:57:56
まあ、パフォーマンス相手のときは、
無理やり正規表現で絞らないで、プログラムコードで
補助してあげるといいよね。
2007/07/16(月) 16:00:22
>>103
数年前に商用 UNIX にもデフォルトで Python が付いて来るようになってから
おいらは変節してしまいますた
2007/07/19(木) 15:12:42
> プログラムコードで補助してあげるといいよね。

意味不明ですね。w
2007/07/25(水) 21:20:01
そうですねw
2007/07/26(木) 00:02:48
ああ、それはね

m{^(ab)(cd)} ⇔ ,
2007/07/26(木) 00:05:10
…と、途中で送信されてしまった。すまない。

たとえば:

m{^(a.)(.b)}

と書くなら、素直に

m{^a.} and m{^.b}

こう書いてしまったりするような手法を取ったほうが、
パフォーマンスがあがるってことを言いたかっただけ。
2007/07/26(木) 00:10:06
うわあ間違いw
^(?=a.)(?=.b)の間違いです ('A`) うわぁ…
2007/07/28(土) 13:06:25
でも初学でPerlは厳しい気がする。
変な癖のコード見てそれが自分の基底に定着したらまずい。
Perlはある意味上級者向け言語。
2007/07/28(土) 14:01:08
>>110
それ本当に速くなりますか?
2007/07/28(土) 19:53:02
>>113
意味としての高速化パターンの指針を書いただけで、
このパターンで速くなるかどうとかは知らない。
もっとも、再コンパイルさせないとか色々もっとやるべきこともあるわけだし。
2007/07/29(日) 22:15:28
速いかどうかって、ふつーベンチ取ってからいうことだと思うんだ。
頭悪いのもいい加減にしてもらいたい。
2007/07/30(月) 20:50:51
>>115
単なる手法や方針にそのようなことを言われても…。
まあ、無価値だと思うならスルーしてくれ。
2007/07/30(月) 21:27:21
せめてその指針が有効である根拠を示してくれないと、おまじない以上にはならないだろ。
2007/07/30(月) 23:09:13
そこまで言うなら、↓。相当適当。
もっと効果的な場面があるだろう。適当に考えてください。

use Benchmark qw(:all);

srand 1; @variation = a..z; @lines = map {join '', (map {$variation[rand() * @variation]} (1..200))} (1..1000);

timethese 5000,
{'complexRegex' => sub { m/^(?=abcdef)(?=ghijklm)/o for(@lines); },
'simpleRegex' => sub { m/^abcdef/o && m/^ghijklm/o for(@lines); },
'simpleRegex2' => sub { m/^(?=abcdef)/o && m/^(?=ghijklm)/o for(@lines); },
'singleRegex' => sub { m/^(?=abcdef)/o for(@lines); },
'singleRegex2' => sub { m/^(?=ghijklm)/o for(@lines); }};

Benchmark: timing 5000 iterations of complexRegex, simpleRegex, simpleRegex2, singleRegex, singleRegex2...
complexRegex: 2 wallclock secs ( 1.81 usr + 0.00 sys = 1.81 CPU) @ 2757.86/s (n=5000)
simpleRegex: 1 wallclock secs ( 1.28 usr + 0.00 sys = 1.28 CPU) @ 3903.20/s (n=5000)
simpleRegex2: 2 wallclock secs ( 1.91 usr + 0.00 sys = 1.91 CPU) @ 2621.92/s (n=5000)
singleRegex: 2 wallclock secs ( 1.83 usr + 0.00 sys = 1.83 CPU) @ 2735.23/s (n=5000)
singleRegex2: 2 wallclock secs ( 1.83 usr + 0.00 sys = 1.83 CPU) @ 2735.23/s (n=5000)

>>117
まあ、色々言ってくれるのはいいんだけど、あなたの方で
理由もってきて否定するなり肯定するなりしてくれてもいいじゃない。
2007/07/30(月) 23:34:59
> まあ、色々言ってくれるのはいいんだけど、あなたの方で
> 理由もってきて否定するなり肯定するなりしてくれてもいいじゃない。

どんだけゆとりなんだよ。
2007/07/30(月) 23:37:53
>>119
悪いな、ゆとりは俺の2年下からだ。
もうお前はPerlについて話たいわけじゃなさそーだからこれで終わりな。
2007/07/31(火) 04:11:27
>>118
そのコードで何を計測しているつもりなんだ?

#!/usr/bin/perl -w
use strict;
use Benchmark qw(timethese);

my $i = 0;
my $str = join '', 'a'..'m';
my @line;
push(@line, $str), substr($str, 0, 0, chop $str) for 1..1000;

timethese(-5, {
  re1 => sub { /^(?=(?:abcdef|ghijklm))/ and ++$i for @line },
  re2 => sub { /^(?=abcdef)/ || /^(?=ghijklm)/ and ++$i for @line },
  re3 => sub { /^abcdef/ || /^ghijklm/ and ++$i for @line },
  idx => sub { index($_, 'abcdef', 0) == 0 || index($_, 'ghijklm', 0) == 0 and ++$i for @line },
});

@line = ();
push @line, join '', map +('a','b')[ rand 2 ], 1..10 for 1..1000;

timethese(-5, {
  re1 => sub { /^(?=ab..)(?=..ab)/ and ++$i for @line },
  re2 => sub { /^(?=ab..)/ && /^(?=..ab)/ and ++$i for @line },
  re3 => sub { /^ab../ && /^..ab/ and ++$i for @line },
  idx => sub { index($_, 'ab', 0) == 0 && index($_, 'ab', 2) == 2 and ++$i for @line },
});
2007/07/31(火) 06:18:05
>>106
俺も似たようなもんだけど、正規表現まわりだけはPerlで。
2007/08/01(水) 23:25:07
>>118
アホ?
2007/08/02(木) 02:44:45
> まあ、色々言ってくれるのはいいんだけど、あなたの方で
> 理由もってきて否定するなり肯定するなりしてくれてもいいじゃない。

ヒステリックな人でつね。www
2007/08/04(土) 10:01:59
ゆとりじゃない=天然->救いようが無い
2007/08/04(土) 10:16:29
>>118
・?=はもし必要なければ、ないほうがいい
ってだけで、
・|を分解すると速いってのは
むしろ否定されているのでは?
2007/08/12(日) 22:42:35
先生!
ゆとりはかわいくありませんが天然はかわいいと思いますっ!
128デフォルトの名無しさん
垢版 |
2007/08/13(月) 17:00:49
なんか楽しそうなお話なので、参加せてください。

 「|」は遅い。

これ常識ですよ。何も、>>118>>121 みたいな小難しいコードを書かなくても
ストップウォッチで計れば十分。否、腹時計でも十分っすよ。
あまりにも速度の差が歴然としすぎていて、今まで時計で計った事なかったなぁ・・・

遅い根拠は、regexp のソースコード読めば分かります。
もっと言えば、自分で regexp もどきでも作ってみればわかります。

まず簡単な例・・・C言語には strstr() って関数がありますよね?
文字列Aの中から、文字列Bが含まれる位置を返す。正規表現なしの単純な機能です。
これと同じものを自分で書いてみてください。簡単に書けると思います。初歩の初歩です。

では、これを拡張して、正規表現の | が使えるようにしてみてください。
(正規表現には、他にも*とかありますが、今回はとりあえずは | だけでいいです)

コードを書いてるうちに気づくはずです。「こんなメンドクサイ事するより、strstr() && strstr() でいいじゃん! 」
そうです。絶対そのほうが安くて早くてウマイんです。

ではなぜ、正規表現に | があるのか?それはですね、「1行で書きたいから」
コマンドラインから sed とか grep とか、あるいは perl のワンライナー使うときは、どうしても1行で書く必要があります。
でも、perl のスクリプトは2行でも3行でも分けて書くこともできるわけですから、| を使うメリットはあまり有りませんね。

人間止めますか、それとも|使いますか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況