次世代Webプログラミング言語の大本命Perl6/Parrot
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/10/08 16:57ID:rnVYrmplParrotはCLR(Common Language Runtime)であり、
ParrotアセンブラにコンパイルできればPerl6のみならず、
Python、Ruby、PHPをはじめ、JavaもC#も、Basic、Scheme、
その他の言語なんでもいける・・・ようになるかも!?
mod_parrotができれば速度面でも問題無し!
そんな夢のような言語/VMであるPerl6/Parrotについて語りましょう。
関連サイトは >>2
0430nobodyさん
05/03/13 11:57:48ID:???> pugsは、perl6の構文を独自のインタプリタで実行するのみで、parrotと連係は出来ないようです。
コンパイラも含まれるようになるみたい。
0431nobodyさん
2005/03/26(土) 17:16:47ID:???0432nobodyさん
2005/03/28(月) 10:59:35ID:???0433nobodyさん
2005/04/13(水) 10:36:14ID:???ユーザーを待たせまくりますか?
0434nobodyさん
2005/04/13(水) 11:22:52ID:???0435nobodyさん
2005/04/13(水) 21:31:49ID:FBlVtA6Aおまいを待ってるんだ!
0436nobodyさん
2005/04/13(水) 22:02:51ID:???0437http:// YahooBB219035032078.bbtec.net/~ss.jpg
2005/04/13(水) 22:16:57ID:???うはっwwwおkwww??
0438nobodyさん
2005/04/13(水) 22:49:35ID:???0439nobodyさん
2005/04/14(木) 23:02:59ID:tgjJ4BEn以前(6.0.2の時)ちょっと触ってみて、
しばらく動かしていたら挙動があやしくなったので5に戻したのですが。
「一日一回くらい再起動させたら大丈夫」くらいの感じでしたが。
そろそろですかね。
0442nobodyさん
2005/04/15(金) 18:02:44ID:???これは下位互換って言うんじゃないか?
0443nobodyさん
2005/04/15(金) 18:47:54ID:???0444nobodyさん
2005/04/15(金) 18:52:37ID:???http://e-words.jp/w/E4B88BE4BD8DE4BA92E68F9B.html
0445442
2005/04/15(金) 19:43:32ID:???0446nobodyさん
2005/04/16(土) 18:11:20ID:???0447nobodyさん
2005/04/16(土) 22:25:42ID:???使いやすくなるのでしょうか?
0448nobodyさん
2005/04/16(土) 23:49:45ID:???0449nobodyさん
2005/04/16(土) 23:52:58ID:???0450nobodyさん
2005/04/17(日) 00:13:01ID:???いちいちコンパイルするのも面倒と言う人は多そうだが mod_perl も別途残るのかね?
0451nobodyさん
2005/04/17(日) 02:07:08ID:???仕組みにするんじゃないの?
0452nobodyさん
2005/04/18(月) 06:41:14ID:qDcdAqsy0453nobodyさん
2005/04/18(月) 06:45:42ID:???0454nobodyさん
2005/04/18(月) 07:02:36ID:???parrotによってPHPのバージョン問題も解決するかもなんだし
0455nobodyさん
2005/04/18(月) 10:43:34ID:???0456nobodyさん
2005/04/18(月) 10:54:42ID:???mod_parrot は parrot VM のみのモジュール
一方 mod_perl や mod_python は parrot コンパイラとしてのモジュールとして残り
これらを一緒にまとめて apache に組み込むのが大勢になるだろう
0457nobodyさん
2005/04/18(月) 19:18:33ID:AqCrvPyBProvide 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:???ちょっと違うっぽい。
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:???そうなると、jythonみたいな処理系も必要ないんじゃねーかなー
と思うおれは、間違ってますか?
0460nobodyさん
2005/04/19(火) 17:36:49ID:???0461nobodyさん
2005/04/20(水) 12:52:17ID:???0462nobodyさん
2005/04/20(水) 18:50:10ID:CKmNNRPfコンパイラが別途必要になるのは、自分もそう書いたつもりだったのだけど。
従来の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:???0464nobodyさん
2005/04/20(水) 21:33:52ID:???Q. なんで新しい VM なんか作るの?
Perl → Java bytecode のコンパイラを作って、あとは JavaVM で動かせばいいぢゃん
A. JavaVM は型の縛りが強過ぎて Perl と相性悪いのよ
というのがあって、Java → Parrot のコンパイルでも何らかの相性の悪さ、
例えば JavaVM に比べて実行速度が著しく遅くなるとか、
なんかしら出るんじゃないかという気も。
あとまあ、Sun から訴えられるかもしれんし(笑)
0465nobodyさん
2005/04/20(水) 21:37:51ID:???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:???なんだか小難しいこと書いてるけどさ、プログラムってのは最終的には
動けば何だっていいんだよ。PHPなんてそれすらできてないけどな。
0468nobodyさん
2005/04/21(木) 00:31:43ID:???.NET な人だねえ
そういや ActiveState の Visual Perl って、使ってる人いるんだろうか?
0469nobodyさん
2005/04/22(金) 16:06:36ID:???登場って感じですかね。
とりあえずParrotさえ出来ちゃえば、Parrot版Perl5&Pythonは
すぐにでも稼動できそうだし、あとはPerl6とParrot版PHP5の
降臨を待つだけなんだがなぁ。
0470nobodyさん
2005/04/22(金) 16:15:54ID:???Parrotだろうがなんだろうが、レン鯖の導入率次第だな。
あとは、フレームワークの存在。
今、仕事としてWebやろうと思ったら、フレームワークが無いと客が来ない。
ユーザも名前とか用語だけは知ってるからな。
0471nobodyさん
2005/04/22(金) 16:22:26ID:???>Parrotだろうがなんだろうが、レン鯖の導入率次第だな。
ですな。
Perlコミュニティもそこいらは考えてると思うんだけど
フレームワークは逆にPHPのMojaviを逆輸入しちゃうとか
できるのかな。
0472nobodyさん
2005/04/22(金) 17:00:19ID:???やっぱり遅くなっちゃうんだよね?
どれくらい遅くなるの?
0474nobodyさん
2005/04/23(土) 01:24:53ID:???これだけ時間を掛けて、遅いもの作っても意味ないだろ。
具体的にどの程度かは分からないが、速度はよくなるらしい。
0475nobodyさん
2005/04/23(土) 02:18:15ID:???0476nobodyさん
2005/04/23(土) 02:33:04ID:???両方の言語把握するのに2日も要らないしな
0477nobodyさん
2005/04/23(土) 12:15:18ID:???>そこまで肩入れするまでもないと思うが・・
>両方の言語把握するのに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:???でもPHPを理解するのはPerlを理解してたら半日でOK。
そんなに深みのある言語じゃないから。
0479nobodyさん
2005/04/23(土) 18:06:51ID:cH3j854+反論らしきものしておくと、
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:???この世はプログラマーばかりですね。
0482nobodyさん
2005/04/25(月) 00:39:00ID:???仰々しくカーテンなんかついてるやつ。
0483nobodyさん
2005/04/25(月) 00:42:40ID:???0484nobodyさん
2005/04/25(月) 02:55:57ID:???中身すっからかんの骨組みみたいなものかね。
もしWebに限らずプログラマとして飯を食っていこうと考えているなら
オブジェクト指向、クラスライブラリ、フレームワーク、
デザインパターン、MVCモデルなどのキーワードを勉強しておくと良いよ。
0485nobodyさん
2005/04/25(月) 03:57:53ID:???0486nobodyさん
2005/04/25(月) 04:01:29ID:???これらを実際使う奴は 使えない とだけ言っておこう。
0487nobodyさん
2005/04/25(月) 07:00:16ID:???0488nobodyさん
2005/04/25(月) 13:29:04ID:???そのうち「Parrot で書かれたフレームワーク」とかよくわからんものができて
perl やら python やら Ook! やらで書いたあやしげなプラグインを無差別にぶちぶち差し込む
とかいうそれってどんなもんだな感じの未来が実現するのかね
0489nobodyさん
2005/04/25(月) 13:51:02ID:???0494nobodyさん
2005/04/25(月) 21:12:34ID:???アホまる出しだぞ。
0495nobodyさん
2005/04/25(月) 21:16:31ID:0QhrBSvtスレ違いだが、出来れば根拠を説明して貰いたい。
再利用や保守とは無縁なのかなと思うよ。
>> 488
「Parrot で書かれたフレームワーク」がよくわからないが、
Parrotは言語ではなく、環境なので。Parrot上で動作するフレームワークという事かな?
プラグインの中で他の言語のリソースを扱う事は可能ですが。
プラグインを他の言語で開発できるようになるかどうかは、実装方法次第です。
perlやpythonのクラスの内部構造に依存するような仕組みになってると
共通の規則を作る等、なんらかの協調作業をする必要が出てきます。
あと、Ook!はオブジェクトにアクセスする手段がないので、(少なくともVM上の実装では)
標準入力/出力を扱うプログラムしか書けない。従来のCGIプログラムのようなパイプ経由に制限される。
0496nobodyさん
2005/04/26(火) 21:08:21ID:???情報が少なすぎだよな。
0497nobodyさん
2005/04/26(火) 21:27:42ID:???0498nobodyさん
2005/04/27(水) 10:32:33ID:???スクリプト言語ではやっぱりスループットの限界を感じていて、
かといってC++でCGIにしても確かにステップ実行時間は早くなるけどプロセス喰うし起動時間の問題でちょっと...って感じだった。
そこで自分が考えたのがmod_hogeみたいなApacheのモジュールを作成してmod_hogeを常駐させといて
Apacheのルートディレクトリ以下にはmod_hoge用の実行ファイルを置く。実行ファイルはJAVAとかParrotのようなバイトコード
じゃなくて純粋なバイナリ。(C++orアセ)でもものすっごい開発に時間がかかって途中でやめたけど。
0499nobodyさん
2005/04/27(水) 22:11:00ID:ilLcWxap新しいプロセス作らずにバイナリを実行するって事かな?
メモリの保護が気になるなぁ。自分にとってはセキュリティリスクの方が大きくなりそう。
素直に、apacheモジュール開発した方が効率も生産性も良くないですか? APR使えるし。
動的な部分に着目すると、apacheを止めずにモジュールをロードさせたりするのが目的なのかもしれないけど。
0500nobodyさん
2005/04/27(水) 22:48:55ID:???0501nobodyさん
2005/05/04(水) 01:40:49ID:???0502nobodyさん
2005/05/10(火) 04:24:30ID:K3GCS5qj0503nobodyさん
2005/05/10(火) 07:10:26ID:???0504nobodyさん
2005/05/10(火) 11:36:34ID:kv5odLJrだってさ
0505nobodyさん
2005/05/10(火) 12:07:42ID:kv5odLJr0.1.2(8.6MB)に比べるとやけにサイズが小さくなってる
0506nobodyさん
2005/05/10(火) 16:29:32ID:kv5odLJrbench_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:kv5odLJrruby版addit:14.7秒
0508nobodyさん
2005/05/10(火) 18:42:07ID:zk+xvE74っwwwwwwwwwwwwうはっwwwwwwwwwwww
wwwwwwwwwwwwwうぇwwwwww
wwwwwwっおkwwwwwwwwwwwwwうはっ
wwwwwwおkうはっおkwうぇおkwwwwww
wうぇ
0509nobodyさん
2005/05/10(火) 19:07:32ID:EEIiEMuMお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早速、試してみようと思ったけど、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:???0520nobodyさん
2005/05/13(金) 13:55:46ID:92C19SsUJAVAとか.Netを、その似たようなコンセプトのものだと感じてる人が多いと思う。
0521nobodyさん
2005/05/13(金) 16:31:46ID:???Javaは違うと思うけど、.NETの思想は似てるね。
でも.NETは実質C#、VB、VC++の3つだけだよね。
0522nobodyさん
2005/05/13(金) 16:38:04ID:???0523nobodyさん
2005/05/13(金) 16:48:19ID:???0524nobodyさん
2005/05/13(金) 20:24:23ID:???それが良いことかどうかは別だが
0525nobodyさん
2005/05/14(土) 00:35:38ID:???0526nobodyさん
2005/05/14(土) 03:26:48ID:???0527nobodyさん
2005/05/15(日) 20:35:02ID:opnNamIeこれから勉強するとしたらPHPとparlどっち?
ヤフーとか大手はPHPのようですが
0528nobodyさん
2005/05/15(日) 22:18:39ID:???どっちもやっておけば?
両方使えるってのは悩まなくて良いぞ。
それに、テキスト処理(ログ解析)とかでPerl覚えていると楽。
■ このスレッドは過去ログ倉庫に格納されています