Talk:首页

取自 PerlChina.org - wiki

跳转到: 导航, 搜索

这里是Perl技术交流场所,不是Perl过敏者呻吟室,这类报怨不应该出现在这种位置,谢谢。


perl的自定义函数没有参数列表,参数的类型个数完全由程序员去控制。也就是说Perl的编译器根本不做任何处理,直接把一堆垃圾扔给了程序员。对于自编自用的程序员还好点,毕竟知道自己的函数需要什么参数。而对于使用别人的库、或者库的开发人员简直就是噩梦,因为你得自己去检查参数列表的个数,类型。自动的类型转换更恐怖,它会自动把"abc"这样的串转换为数值0,晕死,弱类型机制只会增加程序员的负担!

C++,Java提供函数的重载,perl没有,后一个函数将覆盖前一个。因为它的参数列表都是任意的,因此要求你把多个版本的函数写在一个函数体内。这样至少有两个问题:1,程序员的负担更重,你得自己去检查和挑选参数,然后根据它们来确定实现,2,函数会因此体积大增。

为什么不能strict一点?在自定义函数中,程序员可以写return,也可以不写,这样默认返回最后一个表达式的值。但这样很容易让人眼花缭乱,尤其是有多层嵌套的函数中。多写几个return会给程序员的开发效率带来什么影响,但我知道它给维护带了的影响是很严重的。因为有那么些所谓个性的程序员知道可以不写return,肯定不会写return的。

函数调用参数列表可以不加括号,也可以不加。我觉得一门计算机语言应该在语法上严谨一些,可以减少程序员的负担,A喜欢加括号,B不喜欢加括号,一天他们俩合作开发,为了统一开发风格,还得为函数参数列表是否加括号争论一天才行。加个括号怎么了?会死吗?

在别的语言尽量讲究写一些简单易懂的代码,尽量把复杂代码分成几行写的时候,Perl语言入门里面居然号召大家把代码写成一行!说这样紧凑一些。而perl的大牛们竟是以写出别人看不懂的代码为荣!真是讨厌这个为了追求所谓简洁的perl,实际上是程序员的噩梦。学习perl纯粹是工作需要,用它也不是开发什么大型系统,而仅仅因为它的正则表达式。perl也就能处理一些临时的特定问题,根本不可能适合于开发大型系统。它的前景,也就是一小堆人手里的计算玩具,不可能成大气候。

perl是语言学家的语言,而不是程序员的语言。如果它不能改变这些所谓语言学家或者哲学家的为所欲为的行为和习惯,永远不可能成功。

个人工具