如果有用Java编成的Perl版本你会用吗

如果有用Java编成的Perl版本你会用吗
Python和Ruby都有Java版本,而且经常被提到和使用.虽然我不知道
是否有JPerl的存在(因为相关资料大多是日文的),但起码基本没在
什么地方见人讨论过,而且Larry Wall在一些书中也说过他曾用Java和
Perl联合开发了一些很有意思的工具,但Perl的使用者对非纯Perl的东西
似乎不感兴趣.
试想,如果有一个用Java开发的很好用并且很简易的Perl版本,你会使用
它吗.
刚看到ANTLR(一个非常著名居于LL文法的Java词/语法分析器)继C++,Java
和C#后将支持生成以Python生成代码(也就是以Python写分析类).为
什么不是Perl呢,大概与Perl现在还没发展成6.0有关,也有可能是Perl内部
的一些东西已经落在时代的后面.至少我相信象特伦斯?帕尔这样一名专家
的选择肯定有他充分的理由.而且我们也看见在处理领域Perl一统天下的局
面似乎已经受到众多语言的强大挑战.从某种意义来说,论革新,Perl是属
于命令式语言,肯定没有haskell,smalltalk,Prolog这些函数,纯面向对象及
逻辑式语言的革新性强,论快速开发方面python和ruby做的很多地方的确
比Perl好.如果是在强大方面与Java和C#比的话,也许大部分Java和C#能实
现的功能Perl都能实现,但缺乏大企业的支持使得应用的简易性上远比不上
Java和C#.如果你是一个绝顶高手的话,你可以豪言,Perl能做一切事情,
毕竟所有语言最后都是翻译成机器码,本质上是一样的.但庞大的用户群并
没有站在这样一个高点,他们看不到这些东西,他们只知道,平时书上说得
最多最简易快速的实现方式是用Java,C#或python.
写本文的目的不是在讨论语言的长短,也不是在为Perl无痛自嚷.本文的中心
其实是想讨论一下作为一个Perl的开发者,即使Perl再强,再好,也应该去接
受其他语言的一些思维.毕竟这些语言能在几百种语言的筛选中被保留下来,
本身就意味着它有众多的优点,Perl应该学习,并融会他们,给自己一个精确
的定位,才能求到更好的发展.其实我一直认为定位是十分重要的,如果应用
过于广泛了的话成为象Ada一样庞大的语言,别说使用者,就算是发明者恐怕
也无法准确地描述它的语意,这就有可能导致大量致命的错误和安全问题.
作为一个Perl的使用者,你认为你能跳出Perl"天朝上国"的思想吗?如果连你自
己也不知道的话,可以先问一下自己:我是否会使用一个用Java编的,很好用
的Perl版本.