shhg进,想和你心平气和的讨论一些关于perl的问题。

真是逊哎,看来flw总结的没错,这人一说到关键点就开始王顾左右了。既然要来宣扬你的观点,你就在这里说明白啊,难道会死啊。
你不用再来了,最讨厌某些人一知半解就张着大嘴攻击别人了。
Perl有没有问题,如果你认为有问题,说上一次就可以了。这种事天天说,你有那个资格吗?让那些领袖们去讨论吧,你自己爱用哪个就用哪个。或者你也学学那个马子,自己设计ruby。讨人嫌。
看了楼上一干争论,shhgs最后一句的英语可真欢乐。(误...
为啥总有人觉得除了自己别人都是错的。
无聊,好用你就常用,不好用你就别用,
几天前在粗略对比了 Perl, Python, Ruby 之后,我毅然决然的投入到 Perl 的阵营。以下我不成熟的个人观点,请勿见笑

1. 历史
Perl 1.0 版是在1987年,Python 比 Perl 迟到了2年,Ruby 大概是在 1993 年
一般来说历史越悠久,沉积的文化越丰富。
虽然如此,但我用的编辑器却不是 Emacs(1970),而是 Vim(1991) 和 SlickEdit(1988) 。

2. 通用性
Debian 集成了 Perl,没有集成 Python 和 Ruby
find /usr/bin -exec file {} \; | grep perl | wc -l        >> 200
find /usr/bin -exec file {} \; | grep python | wc -l   <<  30
find /usr/bin -exec file {} \; | grep ruby | wc -l       << 10

3. 代码版面
sub perl {
    print "hi";
} # 习惯

def python():
    print "hi";
    # 不习惯

def ruby()
    puts "hi"
end # 习惯

4. 未来
据不准确消息
* Python 3.0 会完全地破坏向后兼容性
* Perl 6 还全面向下兼容 Perl 5 的代码

最后在我以迷茫的表情分别阅读了 Python 3.0 和 Perl 6 的部分新特性之后,我毅然决然的投入到了 Perl 的阵营。


QUOTE:
原帖由 s5unty 于 2007-9-1 21:19 发表
几天前在粗略对比了 Perl, Python, Ruby 之后,我毅然决然的投入到 Perl 的阵营。以下我不成熟的个人观点,请勿见笑

1. 历史
Perl 1.0 版是在1987年,Python 比 Perl 迟到了2年,Ruby 大概是在 1993 年
一 ...

你是个高手,Welcome!
我只会一点perl
最后总结:
  其实作为一种语言,不管是自然语言和程序语言,没有对于不对!只有习惯和不习惯!
  你可以认为它不符合逻辑,但不符合逻辑的不一定是错的!
举个例子吧,我们学中文的时候,考虑过逻辑没有,我想大多数能在熟练使用中文的之前是不会去分清楚什么叫主谓宾的!但我们照样可以用中文做我们想做的事情,特别是很多时候我们发现我们很多用法都不能用现成的语法和词法去解释,这时我们怎么办,可爱的人们会告诉你,之所以这么用是因为固定用法或人们的约定俗成!(管它呢,大家都懂就可以了)
  回头看看我们怎么去学习英语吧,我们一开始就学习语法,以为语法学好,一切都搞定!呵呵,可我们错了,不管英语如何的复合逻辑,总有他的固定用法和约定俗成!
   所以perl和python也只是语言,只是也许一个比另一个更符合它的逻辑而已!
   我想说的只是,语言这东西,喜欢就行,够用就行!
   语言这么多,选择的余地还是很大的!
   实在不喜欢自己写个!
   写得很多,觉得我在放屁的话!就把我当屁放了好啦!  呵呵,不要在我这里浪费笔墨好啦



QUOTE:
举一个例子。上面有人讲 'aaaa' == 'hello'。作为一个Perler,他的想法是,我错了,因为Perl是对的,在它看来==表示数字比较,而我要作字符比较,因此我错了。

典型的奴才心理。

在这里, 你把你自己看成了正常人, 但你不是正常人(因为你已经有了程序基础), 正常人会以为你多写了一个等号.
正常人是那些没有接触过程序的人, 比如我在接触程序之前, 我始终搞不懂为什么
s=s+1
按正常人的想法应该是s<s+1

我用php, php里面也有很多陷阱, 我也经常骂它, 但骂过之后还得用啊. 因为它能够实现我要的功能, 而且简单.


QUOTE:
原帖由 shhgs 于 2007-8-28 10:27 发表
Perler就是会无理搅三分。

shell根本没有数字,一切都是字符。sh里面,甚至简单的加减都要依靠expr。至于数字,是bash扩展出来的。因此shell的比较是非常清楚的。

可是Perl不可饶恕的地方是,它把这种无可奈何的补救措施当成最佳方案,还搞出一套所谓上下文的歪理。所谓上下文,说白了,就是让函数根据返回值选择实现。这真是滑天下之大稽。试问天下除了Perl之外,还有那种语言是让等式的左边决定等式右边怎么运行的?胡说不是这样八道的。

至于那个C的例子更是胡来。我虽然不靠C吃饭,但是这个地方还是看得懂的。等号比较的是两个变量的地址,结果怎么会对呢?

想想CSDN版主XYZXYZ1111的大论,更是让人喷饭。他说python里面3.0==3是错的。因为3.0是float的,而3是int的,类型都不同怎么能相同的。

我早说过,Perl的脑子都很平常人不一样。

“==”这个运算符仅能判断数字相等,这个规则很让人困扰。好吧,没错。
“3.0是float的,而3是int的”,这个类型不同的规则又是谁定义的呢?我也很困扰。
规则是不是有理,真的重要么?重要的还是规则能有效得简化思维吧。