【发布时间】:2010-09-09 03:10:49
【问题描述】:
有任何明显的进展吗?现在只是学术练习吗?您认为 Perl 会在有或没有 Perl 6 的情况下继续发展,还是很快就会被遗忘?
【问题讨论】:
标签: perl
有任何明显的进展吗?现在只是学术练习吗?您认为 Perl 会在有或没有 Perl 6 的情况下继续发展,还是很快就会被遗忘?
【问题讨论】:
标签: perl
冒着听起来像 Perl 狂热分子的风险,我仍然对 Perl 6 感到兴奋,并且觉得最终结果将在它发布时具有相关性。过去九个月在 Parrot Front () 方面取得了一些不错的成就,甚至还产生了一些 sizable donations 来帮助资助增加的开发。
Rakudo 目前支持数组、哈希、类、对象、继承、角色、 枚举类型、子集类型、角色组合、多方法分派、类型检查、基本 I/O、命名正则表达式、语法、可选参数、命名参数、slurpy 参数、闭包、智能匹配、连接以及 Perl 6 预期的许多其他功能.
请密切关注Rakudo.org(Rakudo 是基于 Parrot 构建的 Perl 6 实现的名称),以获取有关 Perl 6 正在进行的开发过程的新闻。
【讨论】:
您不应该忘记 Perl 5 正在并行开发。 5.10 不久前推出了新功能和语言新增功能。
Perl 6 的进展缓慢但稳定,PUGS(Perl 6 over Haskell)已经停滞了一段时间,但 Audrey 可能很快就会恢复工作。与此同时,Rakudo(Perl 6 over parrot)进展顺利。这是一篇详细介绍various implementations progress
的帖子实际上,我不会为此屏住呼吸,但无论多晚,我认为当它问世时它仍然是相关的。
【讨论】:
Perl 6 正在缓慢而稳定地发展。 Larry Wall 编写了一个解析器,它可以解析我们所知道的所有 Perl 6(基本上是测试套件加上一些其他代码)。 Rakudo 是 Parrot 上的 Perl 6,性能也很好。您可以使用 rakudo.de 上的图表跟踪其在测试套件中的进度
请注意,它是一种全新的语言,实施起来并不简单。我预计明年之前不会有可用的版本,即便如此,任何实现都需要相当长的时间才能像今天的 Perl 5 一样成熟(它已经有 20 年的时间来开发稳定的代码库)。
【讨论】:
有很多可见的进步。 chromatic 每周都会将 Parrot/Perl 6 电话会议的会议记录发布到 Use.perl 和 rakudo.org,您可以阅读 Jonathan Worthington's journal、Patrick Michaud's journal 或各种 Perl 6 邮件列表。正如 Mortiz 指出的那样,您可以看到 daily state of the test suite。
最近的发展包括 Larry Wall 完成了指定完整语法的工作,Rakudo 开发人员添加了预编译模块支持,以及 Jonathan 的多级调度工作。
跟踪进度当然很容易,但您可能已经知道可以轻松地使用 Google 来查找(“perl6 进度”会带来很好的资源)。也许您还有其他问题,或者只是想踢马蜂窝?
【讨论】:
rakudo.de 开始审查 Perl 6 测试套件的覆盖率。网站上不再提供它。
请查看官方 Perl 6 Wiki 以查找最新信息:
http://www.perlfoundation.org/perl6/index.cgi?perl_6
来自 2 个主要 Perl 6 博客的最新标题显示在官方 Perl 6 wiki 主页的底部。
那里还有很多其他有用的信息和链接。
例如,最近的 Perl 6 文章和演示文稿:
http://www.perlfoundation.org/perl6/index.cgi?perl_6_articles_and_presentations
用于动态语言的 Parrot VM(由 Rakudo/Perl 6 使用)也有一个官方 wiki:
http://www.perlfoundation.org/parrot/index.cgi?parrot
Parrot 是多语言的,因此 Perl 6 将能够调用用其他 Parrot 语言编写的模块,而其他 Parrot 语言将能够调用编译成 Parrot 的 Perl 6 模块。
与由其参考实现定义的 Perl 5 不同,Perl 6 由其测试套件定义。所以最终会有其他版本的 Perl 6 不能在 Parrot VM 上运行。
Perl 5 仍在不断发展。 Perl 5.10 是最近的一个主要版本,它(在许多其他改进中)还具有一些与 Perl 6 相关的特性。 Perl 5.12 正在积极开发中(作为 Perl 5.11)。
Perl 5.12 将支持调用(以及被调用)Perl 6。Perl 6 应该能够编译绝大多数 Perl 5 代码——这是一个主要优先事项。
请查看官方 Perl 5 Wiki 以查找最新信息:
【讨论】:
Perl 6 进展顺利。 Perl 6 与以前的 Perl 有点不同,因为 Perl 6 实际上是一种语言规范,而不是它的实现。 Parrot 之上的参考实现是 Perl 6 项目的主要推动力,已重命名为 Rakudo,并且进展顺利。我找到的关于它的新闻最好的地方是http://planetsix.perl.org/。目前,据我了解,该语言的大部分重要功能都已实现,并且正在充实其余部分并编写测试。你可以下载它并测试一下。最简单的方法似乎是 cygwin 版本,它已捆绑并制成 cygwin 包。
【讨论】:
将其他语言定位到 parrot vm 的能力将使使用您熟悉的任何语言制作产品变得微不足道。
最近活动的语言列表,或至少用最新的鹦鹉测试过(截至 2008 年 9 月 22 日):
【讨论】:
即使 6 从未实现,Perl 5 仍将继续出色且可用。六重振奋了 Perl 5,Perl 5 继续体验了许多奇妙的新事物,比如 Moose。
我认为 Perl 6 总有一天会完成并且会很好,但就目前而言,我是一个 Fiver,我很高兴这样。
【讨论】:
对于它直到 2005 年才开始的评论...我想这取决于您是否将 Parrot 视为 Perl6。最初的团队做到了,但多年来我们没有得到“Perl6 语言”的支持。
我们在 2000 年至 2004 年期间对 Parrot 进行了实际工作,并且大部分 VM 基础工作都在那里。到 2002 年,我们有了延续、协同例程、JIT、中间编译器和除 Perl6 之外的十几种语言,包括用 Parrot 的 PIR 编写的 BASIC 解释器。到那时,我们可以编译和运行世界上几乎任何类型的语言,缺少高度并发的语言,而且我们的能力远远超出了 Perl6 对实现平台的需求。
VM 本身已经具备多年的能力。 Perl6 作为一门语言是另一回事,因为它是一个非常难以解析的野兽。这对 Parrot 没有任何影响。这只是对 Perl 文化的一种反思,这就是为什么其他脚本语言的兴起加速而 Perl5 正在衰落,曾经选择 Perl5 进行新系统实现的人们转向 Ruby、Python 和 Groovy,以及 Java 和C# 演变的框架大量使用反射进行运行时调度。
尽管我非常喜欢 Perl,但如果一种语言如此难以实现,以至于无法在不到十年的时间内编写出具有生产质量的编译器,那就大错特错了! C++ 更容易解析,并且在 Per6 的一小部分时间内实现。这应该告诉我们一些事情。 Derek Jones 在他的博客“代码的形状”中写道,C++ 可能已经“太大而不能失败”(http://shape-of-code.coding-guidelines.com/2008/12/c-goes-for-too-big-to-fail/)。 C++ 有能力做到这一点,因为它在发展壮大之前首先取得了成功。 Perl6 可能是“太大而无法成功”,因为范围如此宏大,以至于项目很难留住贡献者,因为典型贡献者的注意力可能是 2-3 年,而不是 10 年。
【讨论】:
我觉得 Perl 6 可能会带来一些好东西(例如 parrot),但我不指望用这种语言做任何事情。
在我工作的生物信息学开发小组中,我们鼓励使用 Python 进行新的开发,而过去 Perl 是首选语言。 Python 似乎为我们提供了更好的前进道路。
【讨论】:
缓慢而迟到。它有一个第二系统疾病的终末病例。当我还是一名 Perl 黑客时(当时),他们已经在 Perl 6 上工作了两年。那是6年前的事了。你可以在那个时候构建一个完整的操作系统。
【讨论】:
它会在圣诞节前发布。 ;-) 我在播客上听说今年圣诞节前会有某种阿尔法。他们对此很明确,但我已经有一段时间没有听说了。
【讨论】: