Linux论坛's Archiver

《开源》旗舰电子杂志2009年第1期火热下载!

imbafrog 发表于 2008-9-17 21:42

perl6与唐宗汉(现改名唐凤)3

唐宗汉 - Parrot的特点

Paroot的设计就像一个软件cpu,并且它的设计与硬件cpu的设计很相近,例如:它也有一个寄存器结构,它也支持底层的操作。它的设计还参考了硬件cpu的设计。

Parrot在设计上要满足各种动态语言的需求,而且特别注意可扩充性,像unicode,多线程等都是直接内建支持。

Parrot的抽象层比.net与java更高,可以写更少的代码来运行更复杂的运算。象各种面向对象相关的调用都在parrot内部有相应的机械码。

Parrot的现在大小在250K至700K之间,它会有足够快的速度,并有足够的灵活性。

Parrot支持多种平台,包括手持设备,如palm。

网址:[url]http://www.parrotcode.org[/url]
编辑本段 回目录
唐宗汉 - Perl6语言设计的特点

Perl6语言的设计思想:easy things should stay easy, hard things should get easier, and impossible things should get hard。

例如:在perl6的语言设计上larry采用了霍夫曼编码的思想:常用的功能使用较短的单词来表示,不常用的功能用较长的单词来表示,这样就可以显著的提高输入程序的速度。比如说:过去perl5中的 print”…”,现在在perl6中就可以用say”…”来直接代替,因为打印是程序中最常用的功能,所以就用较少的代码来表示,这样可以显著的帮助减少代码的输入。

Perl语言还有一个特性就是把当时最流行大家最推崇的其他语言好的功能集合起来,统一融合到自己的语言中来。在perl中这叫做多重典范。

larry wall喜欢把这种情况比作英文,英文就是吸收了很多其他语言而组合而成的语言。Larry 的想法就是perl最好象英文那样:每个当地人在学习英文的时候都会带一些当地的方言,带一些当地的讲话习惯,但是大家也都能听懂,兼收并蓄其他语言的长处,来形成自己的特点。

总之,把所有各种最流行的元素都集合起来,就组成了perl6语言。

Perl6还有很强的灵活性(perl的一句格言就是:条条大路通罗马):如果特别喜欢oo,那么perl6感觉上就像java一样,就可以特别oo。

如果不喜欢强制类型声明,那perl6就可以不用声明。

如果特别喜欢逻辑语言例如:prolog,那么perl6就可以按照逻辑语言的方式来编写程序。

Perl6吸收了很多其他语言的特点,因此可以用自己喜欢的编程方式在perl6中编程,但是通过perl6中的语境相关的能力,不同的编程方式写出的perl6程序仍然可以很好的搭配在一起。这样设计的意图就是让程序员针对不同的问题,用不同的解决方式,从而对所有遇到的各种问题达到最优的解决方法。

Perl6语言的两个特点就是:语境相关(context)与多重典范。

Perl6与perl5的比较:语言本身的感觉其实还是跟perl5语言是一样的,只是在运行时的过程与perl5截然不同。对于过去perl5语言的很多语法perl6也继续使用,对于perl5语法的不合理部分perl6做了改进。

网址:[url]http://dev.perl.org/perl6[/url]

正在开发的Perl6及其相关软件:
Parrot,perl6的执行引擎。已经开发到了0.1.2版,现在实际可以运行python、basic。
网址:[url]http://www.parrotcode.org[/url]

在Parrot方面现在已经有了很多的半成品:比如ponie是一个能将perl5编译到parrot上面来的软件。
网址:[url]http://www.poniecode.org/[/url]

有人正在将Php、Ruby移植到parrot上面来。有人声称要将gcc(gnu的开源c/c++编译器)移植到parrot上面,这样以后所有的可以用gcc编译的程序可以直接编译到parrot上面的字节码来运行。

甚至还有人决定要移植.net到parrot上来。

这当然是一个疯狂的决定,然而成事是都要靠疯子,疯子与天才是靠最后的成败来决定的,他未必会成功,但是如果成功是很了不起的(唐的原话)。

Pugs,不管其他perl6的开发,只是先对perl6做一个真实的实现,以此检验perl6语言的特性,帮助perl6语言的进一步设计,最后计划转变为perl6的编译器到parrot。
网址:[url]httP://www.pugscode.org[/url]
编辑本段 回目录
唐宗汉 - 参考资料

[url]http://fanqiang.chinaunix.net/program/perl/2005-03-30/3049.shtml[/url]

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.