トップページ⇒php
983コメント216KB

次世代Webプログラミング言語の大本命Perl6/Parrot

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/10/08 16:57ID:rnVYrmpl
現在開発中のPerl6インタプリタエンジンParrot。
ParrotはCLR(Common Language Runtime)であり、
ParrotアセンブラにコンパイルできればPerl6のみならず、
Python、Ruby、PHPをはじめ、JavaもC#も、Basic、Scheme、
その他の言語なんでもいける・・・ようになるかも!?
mod_parrotができれば速度面でも問題無し!
そんな夢のような言語/VMであるPerl6/Parrotについて語りましょう。

関連サイトは >>2
0429nobodyさん05/03/07 23:46:18ID:???
>>420-428 セルの動作デモ
0430nobodyさん05/03/13 11:57:48ID:???
一点だけ訂正、前に書き込みした時点ではなかったんだけど、

> pugsは、perl6の構文を独自のインタプリタで実行するのみで、parrotと連係は出来ないようです。
コンパイラも含まれるようになるみたい。
0431nobodyさん2005/03/26(土) 17:16:47ID:???
Perl6::Pugsどうよ?
0432nobodyさん2005/03/28(月) 10:59:35ID:???
PugsでParrotのコードを出力できるようになったらしい。
0433nobodyさん2005/04/13(水) 10:36:14ID:???
PHP5といいPerl6といい何故オプソどもはどいつもこいつも
ユーザーを待たせまくりますか?
0434nobodyさん2005/04/13(水) 11:22:52ID:???
PHP5 は何を待っているの?
0435nobodyさん2005/04/13(水) 21:31:49ID:FBlVtA6A
>>434
おまいを待ってるんだ!
0436nobodyさん2005/04/13(水) 22:02:51ID:???
それは無い
0437http:// YahooBB219035032078.bbtec.net/~ss.jpg2005/04/13(水) 22:16:57ID:???
ええけつしとるのぉ(*´Д`)ハァハァ



うはっwwwおkwww??
0438nobodyさん2005/04/13(水) 22:49:35ID:???
これが山田ウイルスか……
0439nobodyさん2005/04/14(木) 23:02:59ID:tgjJ4BEn
もうperl6実働させてる人いますか?
以前(6.0.2の時)ちょっと触ってみて、
しばらく動かしていたら挙動があやしくなったので5に戻したのですが。
「一日一回くらい再起動させたら大丈夫」くらいの感じでしたが。
そろそろですかね。
0440nobodyさん2005/04/15(金) 00:05:50ID:???
>>180
下位互換性なんていらんだろ?上位互換性があれば充分。
perl5のスクリプトが6で動けば何の問題も無い。
0441nobodyさん2005/04/15(金) 04:05:34ID:???
>>439
Perl6はまだリリースされてないだろ?
0442nobodyさん2005/04/15(金) 18:02:44ID:???
>perl5のスクリプトが6で動けば

これは下位互換って言うんじゃないか?
0443nobodyさん2005/04/15(金) 18:47:54ID:???
うん?この場合はperl6のスクリプトが5で動くのを下位互換と言うだろ?
0444nobodyさん2005/04/15(金) 18:52:37ID:???
http://e-words.jp/w/E4B88AE4BD8DE4BA92E68F9B.html
http://e-words.jp/w/E4B88BE4BD8DE4BA92E68F9B.html
04454422005/04/15(金) 19:43:32ID:???
ごめん、勘違いしてたみたいだ
0446nobodyさん2005/04/16(土) 18:11:20ID:???
素直でいい子ねヽ(^o^)
0447nobodyさん2005/04/16(土) 22:25:42ID:???
Perl6だと、使い難かったmod_perlが、多少は、
使いやすくなるのでしょうか?
0448nobodyさん2005/04/16(土) 23:49:45ID:???
それはmod_perlの問題だろう
0449nobodyさん2005/04/16(土) 23:52:58ID:???
つーかmod_parrot
0450nobodyさん2005/04/17(日) 00:13:01ID:???
そういや perl6 だと mod_perl は無くなって mod_parrot に統合されるのかね?
いちいちコンパイルするのも面倒と言う人は多そうだが mod_perl も別途残るのかね?
0451nobodyさん2005/04/17(日) 02:07:08ID:???
よくわからんがJSPみたいにコンパイルしてキャッシュするような
仕組みにするんじゃないの?
0452nobodyさん2005/04/18(月) 06:41:14ID:qDcdAqsy
これからはParrotの時代age!
0453nobodyさん2005/04/18(月) 06:45:42ID:???
あっそ 下げ
0454nobodyさん2005/04/18(月) 07:02:36ID:???
parrotが来る = perl6が来るわけじゃないんだからそう怒るなよ
parrotによってPHPのバージョン問題も解決するかもなんだし
0455nobodyさん2005/04/18(月) 10:43:34ID:???
PHP のバージョン問題って何?
0456nobodyさん2005/04/18(月) 10:54:42ID:???
>>450-451
mod_parrot は parrot VM のみのモジュール

一方 mod_perl や mod_python は parrot コンパイラとしてのモジュールとして残り
これらを一緒にまとめて apache に組み込むのが大勢になるだろう
0457nobodyさん2005/04/18(月) 19:18:33ID:AqCrvPyB
http://www.perl.com/pub/a/2004/12/22/mod_parrot.html

Provide a Common Apache Layer for Parrot-based Languages

とあるので、将来的にはParrotのコードを出力できるすべての言語が対象になるみたい。
勿論、parrot自身がサポートしてるフォーマット以外については
コンパイラが別途必要になるはずだけど。

言語毎に拡張ライブラリとして存在していた mod_* モジュールが
mod_parrotに統一されるといってもいいんじゃない?
開発者が別なので、実際どうなるか判らないが
mod_parrotがあればmod_perl6 はいらないはず。

mod_* モジュールは、アパッチのモジュールをC以外の言語で書くためのものなので
早い話、ApacheAPIのラッパー。キャッシュとかとは別問題です。

mod_parrotのサイト
http://www.smashing.org/mod_parrot/
0458nobodyさん2005/04/18(月) 22:54:15ID:???
>>457
ちょっと違うっぽい。

Provide a Common Apache Layer for Parrot-based Languages てのは、
「Parrot 系言語全てに共通する apache 上の runtime engine を提供する」
と言っているんであって、mod_parrot 自身がコンパイラ機能を持つと言っているわけじゃないみたい。

じゃあコンパイラである mod_perl は全く別のモジュールとして apache に組み込まれるのかと言うと、
またそれもちょっと違って、
mod_parrot の上に各言語個別レイヤとして mod_perl, mod_python なんかがのっかる形になるらしく、
「mod_perl 自身を perl で書いて parrot にコンパイルして mod_parrot 上で動かす」
などと楽しげなことが書かれてる。
0459nobodyさん2005/04/19(火) 16:24:59ID:???
やっぱり、parrotできるとinline系ってやっぱり必要無くなるわけよね?
そうなると、jythonみたいな処理系も必要ないんじゃねーかなー
と思うおれは、間違ってますか?
0460nobodyさん2005/04/19(火) 17:36:49ID:???
Parrot の実物が出るまでは何とも言えん
0461nobodyさん2005/04/20(水) 12:52:17ID:???
まあな。
0462nobodyさん2005/04/20(水) 18:50:10ID:CKmNNRPf
>>458
コンパイラが別途必要になるのは、自分もそう書いたつもりだったのだけど。

従来のapacheモジュールを書く為のインターフェースという意味では、
少なくともこの部分は mod_perl, mod_python等と言語毎に作る必要ない。
代わりに、mod_perl等の各言語毎のモジュールは、プラグインのような位置付けになるということですね?
(いらないというのはいい過ぎた)

parrotをバックエンドとして、gccみたいなフロントエンドがあれば
コンパイラとしてのそれぞれの言語に対応したモジュールは不要になりそうですね。
parrotのLanguage Options に --python とかあるのでちょっと期待してます。

>>459
まず、Java言語->parrot コンパイラとか、javaのbytecodeローダとか
parrotでのJAVA言語/環境へのブリッジを(誰かが)書かないといけない。

Parrot上ではJython,JRuby等はひとつにまとめられるかも知れないが、
JVMでの動作を対象とした場合jythonはまだまだ有用なんじゃないだろうか。

インフラ側の視点では、
例えばParrotを選択した人にとって、jythonは不要になるかも知れないが。

言語コミュニティの視点で見ると
CLI向けにIronPython, JVM向けに Jython, LLVM向けにPyPy, Parrot向けに pie-thon,pyrate, etc...
と、複数のインフラを対象とすることは有意義だと思う。
0463nobodyさん2005/04/20(水) 21:14:09ID:???
JavaのParrotコンパイラができたらParrot最強じゃね?
0464nobodyさん2005/04/20(水) 21:33:52ID:???
強そうだとは思うが、ただ、昔の Parrot FAQ で、

Q. なんで新しい VM なんか作るの?
Perl → Java bytecode のコンパイラを作って、あとは JavaVM で動かせばいいぢゃん

A. JavaVM は型の縛りが強過ぎて Perl と相性悪いのよ

というのがあって、Java → Parrot のコンパイルでも何らかの相性の悪さ、
例えば JavaVM に比べて実行速度が著しく遅くなるとか、
なんかしら出るんじゃないかという気も。

あとまあ、Sun から訴えられるかもしれんし(笑)
0465nobodyさん2005/04/20(水) 21:37:51ID:???
.NET CLIにだってIKVM.NETがあるから訴えられはしないだろうが。
0466nobodyさん2005/04/20(水) 21:45:25ID:???
今ふと思い出したので。
ttp://oka326.blogspot.com/2004/08/perl-is-dead.html
ttp://oka326.blogspot.com/2005/03/yet-another-ruby-vm-lightweight-vm.html
0467nobodyさん2005/04/20(水) 21:56:39ID:???
>>466
なんだか小難しいこと書いてるけどさ、プログラムってのは最終的には
動けば何だっていいんだよ。PHPなんてそれすらできてないけどな。
0468nobodyさん2005/04/21(木) 00:31:43ID:???
>>466
.NET な人だねえ

そういや ActiveState の Visual Perl って、使ってる人いるんだろうか?
0469nobodyさん2005/04/22(金) 16:06:36ID:???
PHP陣営がPHP5でもたついてる間に今年Parrotが満を持して
登場って感じですかね。
とりあえずParrotさえ出来ちゃえば、Parrot版Perl5&Pythonは
すぐにでも稼動できそうだし、あとはPerl6とParrot版PHP5の
降臨を待つだけなんだがなぁ。
0470nobodyさん2005/04/22(金) 16:15:54ID:???
>>469
Parrotだろうがなんだろうが、レン鯖の導入率次第だな。
あとは、フレームワークの存在。

今、仕事としてWebやろうと思ったら、フレームワークが無いと客が来ない。
ユーザも名前とか用語だけは知ってるからな。
0471nobodyさん2005/04/22(金) 16:22:26ID:???
>>470
>Parrotだろうがなんだろうが、レン鯖の導入率次第だな。

ですな。
Perlコミュニティもそこいらは考えてると思うんだけど
フレームワークは逆にPHPのMojaviを逆輸入しちゃうとか
できるのかな。
0472nobodyさん2005/04/22(金) 17:00:19ID:???
Parrot は速度どうなんだろうね。
やっぱり遅くなっちゃうんだよね?
どれくらい遅くなるの?
0473nobodyさん2005/04/22(金) 22:16:40ID:???
>>470
つ【Catalyst】
0474nobodyさん2005/04/23(土) 01:24:53ID:???
>>472
これだけ時間を掛けて、遅いもの作っても意味ないだろ。
具体的にどの程度かは分からないが、速度はよくなるらしい。
0475nobodyさん2005/04/23(土) 02:18:15ID:???
PHPと違って精魂込めて作ってますから。
0476nobodyさん2005/04/23(土) 02:33:04ID:???
そこまで肩入れするまでもないと思うが・・
両方の言語把握するのに2日も要らないしな
0477nobodyさん2005/04/23(土) 12:15:18ID:???
>476 :nobodyさん sage :2005/04/23(土) 02:33:04 ID:???
>そこまで肩入れするまでもないと思うが・・
>両方の言語把握するのに2日も要らないしな

        .゙lllレ              .=u,_         
        .,illl「   .hyyyvvnv=rllh     ゙《l!      ._ノ'  
    .¨^'Wuilll「   ..ll|  ″    ..ll|      ′   ._yll″  
      ,rl|ミ《iy  .|l|       .|l|        _yill″  
     .,zl厂 .゙ア   )uyyvv=rー!巛!  ,   _,,yll厂     
   _yl厂      .′         ゙リlllllミ¨′
  .-(″
0478nobodyさん2005/04/23(土) 16:17:18ID:???
Perlをしっかり理解するにはやっぱり数日はかかる。
でもPHPを理解するのはPerlを理解してたら半日でOK。
そんなに深みのある言語じゃないから。
0479nobodyさん2005/04/23(土) 18:06:51ID:cH3j854+
>>466
反論らしきものしておくと、
JITは 実行時にbytecode->native codeコンパイルなので、命令セットに関わらず有効。
ジェネレータについては、中間コード(IMC/PIR)でコルーチンがサポートされてる。
VMでのyield命令は、ループブロックの実装に依存するので、特定の言語向けでないと難しいと思う。

>>470
フレームワークは、既存のものが活かせるはず。
普及はLAMPやXAMPPなどのパッケージに期待。

>>469
> とりあえずParrotさえ出来ちゃえば、Parrot版Perl5&Pythonは
> すぐにでも稼動できそうだし

perl5(ponie)は知らないが、Pythonの場合はちょっと疑問。
Cモジュールや、実行環境に依存したライブラリの調整があるので、すぐにと言うのは無理も知れない。
このすれの上の方でもあった、パーサとコンパイラさえあればいいと言う認識は誤りだと思う。
0480nobodyさん2005/04/23(土) 18:58:10ID:???
2日もいらないですか。
この世はプログラマーばかりですね。
0481nobodyさん2005/04/24(日) 22:43:02ID:???
>>470

すまん、フレームワークって、どんなもの?
0482nobodyさん2005/04/25(月) 00:39:00ID:???
紙芝居をやる前に自転車の荷台から起こして、
仰々しくカーテンなんかついてるやつ。
0483nobodyさん2005/04/25(月) 00:42:40ID:???
クスッともしなかった。
0484nobodyさん2005/04/25(月) 02:55:57ID:???
>>481
中身すっからかんの骨組みみたいなものかね。
もしWebに限らずプログラマとして飯を食っていこうと考えているなら
オブジェクト指向、クラスライブラリ、フレームワーク、
デザインパターン、MVCモデルなどのキーワードを勉強しておくと良いよ。
0485nobodyさん2005/04/25(月) 03:57:53ID:???
フレームワークみたいなあいまいな言葉使う奴は無能。
0486nobodyさん2005/04/25(月) 04:01:29ID:???
オブジェクト指向、クラスライブラリ、フレームワーク、デザインパターン、MVCモデル、他諸々、
これらを実際使う奴は 使えない とだけ言っておこう。
0487nobodyさん2005/04/25(月) 07:00:16ID:???
まぁ >486 の職場環境は劣悪だと言っておこう
0488nobodyさん2005/04/25(月) 13:29:04ID:???
話を無理矢理 Parrot に戻そうと試みるわけだが

そのうち「Parrot で書かれたフレームワーク」とかよくわからんものができて
perl やら python やら Ook! やらで書いたあやしげなプラグインを無差別にぶちぶち差し込む
とかいうそれってどんなもんだな感じの未来が実現するのかね
0489nobodyさん2005/04/25(月) 13:51:02ID:???
Parrot版Javaが出て、Perl6でStrutsが使えるようになるとか。
0490nobodyさん2005/04/25(月) 16:51:07ID:???
>>487
もうっちょっと詳しく教えてやろうその言葉は 頭が悪い人 が使うんだよ。
0491nobodyさん2005/04/25(月) 19:26:12ID:???
>>490
あんたみたいな奴と一緒に仕事したら周りが苦労するだろうな。
0492nobodyさん2005/04/25(月) 19:39:44ID:???
>>491
あんたみたいな奴と一緒に仕事したら周りが苦労するだろうな。
0493nobodyさん2005/04/25(月) 21:03:20ID:???
>>492
その能無しっぷり。
0494nobodyさん2005/04/25(月) 21:12:34ID:???
おまえらよそでやれよ
アホまる出しだぞ。
0495nobodyさん2005/04/25(月) 21:16:31ID:0QhrBSvt
>>486
スレ違いだが、出来れば根拠を説明して貰いたい。
再利用や保守とは無縁なのかなと思うよ。

>> 488
「Parrot で書かれたフレームワーク」がよくわからないが、
Parrotは言語ではなく、環境なので。Parrot上で動作するフレームワークという事かな?

プラグインの中で他の言語のリソースを扱う事は可能ですが。
プラグインを他の言語で開発できるようになるかどうかは、実装方法次第です。
perlやpythonのクラスの内部構造に依存するような仕組みになってると
共通の規則を作る等、なんらかの協調作業をする必要が出てきます。

あと、Ook!はオブジェクトにアクセスする手段がないので、(少なくともVM上の実装では)
標準入力/出力を扱うプログラムしか書けない。従来のCGIプログラムのようなパイプ経由に制限される。

0496nobodyさん2005/04/26(火) 21:08:21ID:???
Parrotは今年リリースって公式にアナウンスされてるのに
情報が少なすぎだよな。
0497nobodyさん2005/04/26(火) 21:27:42ID:???
出ないとみた
0498nobodyさん2005/04/27(水) 10:32:33ID:???
Parrot大いに興味ある。
スクリプト言語ではやっぱりスループットの限界を感じていて、
かといってC++でCGIにしても確かにステップ実行時間は早くなるけどプロセス喰うし起動時間の問題でちょっと...って感じだった。
そこで自分が考えたのがmod_hogeみたいなApacheのモジュールを作成してmod_hogeを常駐させといて
Apacheのルートディレクトリ以下にはmod_hoge用の実行ファイルを置く。実行ファイルはJAVAとかParrotのようなバイトコード
じゃなくて純粋なバイナリ。(C++orアセ)でもものすっごい開発に時間がかかって途中でやめたけど。
0499nobodyさん2005/04/27(水) 22:11:00ID:ilLcWxap
>>498
新しいプロセス作らずにバイナリを実行するって事かな?
メモリの保護が気になるなぁ。自分にとってはセキュリティリスクの方が大きくなりそう。
素直に、apacheモジュール開発した方が効率も生産性も良くないですか? APR使えるし。
動的な部分に着目すると、apacheを止めずにモジュールをロードさせたりするのが目的なのかもしれないけど。
0500nobodyさん2005/04/27(水) 22:48:55ID:???
I/O発生しまくりで
0501nobodyさん2005/05/04(水) 01:40:49ID:???
日本語がおかしい。
0502nobodyさん2005/05/10(火) 04:24:30ID:K3GCS5qj
んでいつ普及するの?
0503nobodyさん2005/05/10(火) 07:10:26ID:???
正式リリース以降。
0504nobodyさん2005/05/10(火) 11:36:34ID:kv5odLJr
Parrot 0.2.0 "NLnet" Released!
だってさ
0505nobodyさん2005/05/10(火) 12:07:42ID:kv5odLJr
parrot-0.2.0.tar.gz 2,696,634 バイト
0.1.2(8.6MB)に比べるとやけにサイズが小さくなってる
0506nobodyさん2005/05/10(火) 16:29:32ID:kv5odLJr
Parrot 0.2.0 ベンチマーク
bench_newpとadditだけ計測(10回の平均値)

コンパイラ        最適化 サイズ  bench_newp addit
mingw 3.4.2       O2   1.511MB 0.561秒   6.009秒
msvc 12.00.8804(VC++6) Ox   1.515MB 0.511秒   5.989秒

参考
perl版addit(perl5.8): 5.026秒
0507nobodyさん2005/05/10(火) 18:11:19ID:kv5odLJr
参考値
ruby版addit:14.7秒
0508nobodyさん2005/05/10(火) 18:42:07ID:zk+xvE74
ttp://23.139.148.210.dy.bbexcite.jp/
っwwwwwwwwwwwwうはっwwwwwwwwwwww
wwwwwwwwwwwwwうぇwwwwww
wwwwwwっおkwwwwwwwwwwwwwうはっ
wwwwwwおkうはっおkwうぇおkwwwwww
wうぇ
0509nobodyさん2005/05/10(火) 19:07:32ID:EEIiEMuM
http://ZB140038.ppp.dion.ne.jp/
おkwwwっwwwwwwwwwwwwおkwwwおkwww
wwwwwwおkwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwっwwwwwwwwwwww
0510nobodyさん2005/05/10(火) 20:24:26ID:???
立ってからずいぶん経つこのスレ。
本当に次世代プログラミング言語なんですか?
0511nobodyさん2005/05/10(火) 23:22:22ID:???
出ないことにはにんともかんとも
0512nobodyさん2005/05/11(水) 18:49:24ID:djJAIrhK
おぉ。0.2.0でたんだ。
早速、試してみようと思ったけど、cpan落ちてるの?ダウンロード出来ない。

以前は、fib.imc (2重再帰のコード) が使いものにならないくらい遅かったんだけど。
0.2.0ではどうなってます?
0513nobodyさん2005/05/11(水) 19:21:01ID:djJAIrhK

>>505
ICUがパッケージから外されてるみたいです。
0514nobodyさん2005/05/11(水) 23:22:23ID:???
次世代プログラミング言語っていうのは、
ひょっとしてリリースまでに世代が変わってしまうっていう意味ですか?
0515nobodyさん2005/05/12(木) 03:00:53ID:???
マジレスすると似たようなコンセプトの言語を先越されて出されない限り
いくら開発に時間が掛かろうとも「次世代」ですよ。

>>510 >>514みたいな馬鹿は的外れもいいトコですな。
0516nobodyさん2005/05/12(木) 21:39:59ID:???
大好きなものを馬鹿にされて、興奮してネタにマジレスしてしまった人
0517nobodyさん2005/05/13(金) 01:56:47ID:???
>>516
PHPスレにお帰り。
0518nobodyさん2005/05/13(金) 02:02:15ID:???
>>516
頭悪い反応返すなよ
0519nobodyさん2005/05/13(金) 12:18:44ID:???
>>510 >>514 >>516
頭の悪そうな書き込みが同一人物であることを示していますね。
0520nobodyさん2005/05/13(金) 13:55:46ID:92C19SsU
>>515
JAVAとか.Netを、その似たようなコンセプトのものだと感じてる人が多いと思う。
0521nobodyさん2005/05/13(金) 16:31:46ID:???
>>520
Javaは違うと思うけど、.NETの思想は似てるね。
でも.NETは実質C#、VB、VC++の3つだけだよね。
0522nobodyさん2005/05/13(金) 16:38:04ID:???
Visual Perl と Visual Python も仲間に入れてやってよお
0523nobodyさん2005/05/13(金) 16:48:19ID:???
.NET 系の Lisp もいくつかあるね
0524nobodyさん2005/05/13(金) 20:24:23ID:???
もちろん COBOL.NET も結構使われている

それが良いことかどうかは別だが
0525nobodyさん2005/05/14(土) 00:35:38ID:???
C#、VB、VC++以外の.NETってそんなに使われてないだろ?
0526nobodyさん2005/05/14(土) 03:26:48ID:???
今後WebはJAVA、.NET、Parrotの三つ巴になるのかね?
0527nobodyさん2005/05/15(日) 20:35:02ID:opnNamIe
PHPもparlも大きな節目を迎えようとしているようですが
これから勉強するとしたらPHPとparlどっち?
ヤフーとか大手はPHPのようですが
0528nobodyさん2005/05/15(日) 22:18:39ID:???
>>527
どっちもやっておけば?
両方使えるってのは悩まなくて良いぞ。

それに、テキスト処理(ログ解析)とかでPerl覚えていると楽。
■ このスレッドは過去ログ倉庫に格納されています