Re: [讨论] Perl6 有人在研究吗?

楼主: Neisseria (Neisseria)   2017-09-18 11:31:54
※ 引述《swhaaaaa (路人甲)》之铭言:
: Perl6 出了好一阵子了
: 网络上讨论的并不多
: 每个礼拜都会爬一下Perl6 blog
: 想问一下有深入研究的人
: 就语言特性来说如果Perl6在调好效能后(网络的讨论,Perl6的Spec,似乎很复杂)
: 是否值得一学
最近看了一下 Perl 6 的官方 reference 和一些书籍
稍微聊一下好了,但我不是程式语言和编译器的专家
若讲错请不吝指正
可喜可贺的地方:
- Perl 6 有内建的物件系统
不用像 Perl 5 般,需面对混乱不堪的物件系统
- Regex 一样很强
Perl 家族在文字处理仍然是很厉害的
- 内建 grammer aka parser
对写一些文字档案解析的程式很好用
- 数字系统上有特别处理过
像 `0.1 + 0.2 - 0.3 == 0.0` 这种有理数运算可以正常运作
目前大部分的程式语言会因微小误差而无法运作
- sigil 变比较简单
就同一种结构一律用同一种 sigil,不会混乱
- 对复合结构支援较好 ie 多维阵列
不用再搞参考了,某种程度上也是一种简化
有一些问题的地方:
- 多重继承对于命名冲突的部分处理得不太好
笔者觉得这个部分有点算是设计的失误
既然 role 都做得出来,没有理由多重继承做不出来
- 运算子符号太多太复杂了,很难阅读
有些东西用函式来表示,程式码会比较好阅读
这大概是 Perl 家族的特色,所以 Perl 6 不是 Ruby XD
- 可以自订运算子
前一项议题会更加恶化 Orz
为什么无法进入实用的阶段:
- 函式库太少了,像 CSV 处理这种基本的套件虽然有
但文件很贫乏,其他的套件多多少少也是如此
前面有网友也有讲到,缺乏 Rails 这种 killer application
- 现在语言太多了
Perl 刚问世的时候好用的高阶直译语言不多
但现在 (2017) 就有 Perl 5、Python、Ruby、Groovy 等高阶直译语言生态圈
除非对 Perl 6 很有爱,通常都是直接用现成的比较快
而且,还有 Go 和 Crystal 这种很好写的编译语言
尤其 Go 在写后端的支援相当好,效能也不错 (大概和 Java 差不多)
相较起来,Perl 6 套件少、效能慢
虽然目前无法进入实用的阶段
不过,在 v6.c 出来后,语言特性算是稳定了
今年 (2017) 也陆续出了几本 Perl 6 相关的书籍
代表 Perl 6 仍然有一些潜力在
作者: herculus6502 (金麟岂是池中物)   2017-09-19 02:44:00
推很有爱
作者: swhaaaaa (路人甲)   2017-09-19 11:34:00
推,谢谢分享

Links booklink

Contact Us: admin [ a t ] ucptt.com