论坛首页 综合技术版 FP

一门天生就能损害人眼视力的语言->Erlang

浏览 20936 次
该帖已经被评为精华帖
作者 正文
时间:2008-04-06
。。。。。。。。。
   
0 请登录后投票
时间:2008-04-06
曾经学过C++,
幸好接着学了JAVA,那感觉,怎一个爽字了的.
尝试过看C++的STL源代码...未遂,实在惨不忍睹(记忆尤深的是那些下划线啊下划线啊下划线______);
现在看JAVA标准API的源代码是家常便饭,而且看的心情很愉快.

不过有几次因为需要想重新学习一下C++,唔,发现真的是一件很痛苦的事.
   
0 请登录后投票
时间:2008-04-06
我回复了总共7点,
Trustno1回了第1、第2、第3、第4、第6、第7,
唯独第5点没有回,


第5:
我已远离C++


Trustno1是因为没理解第5点是什么意思吗?
呵呵,汉语真是博大精深!
我解释一下“我已远离C++”这句话是什么意思?
就是说现在我不用C++语言写程序啦,我不喜欢C++语言。


所以Trustno1所回复的一大片内容根本就毫无意义(而且也不符合主题跟我先前说过的讨论范围),
Trustno1所回复的都是我不喜欢的C++语言,你这样指出C++语言的缺点,那我不是更乐。

Trustno1以为我在说C++语言的好话,只要你认真看看我先前在此贴中的回复,
有几次出现“C++”这个词, 只有在“3.Erlang里的注释(Comments)语法”那里出现了一次,
而且还是为了指出哪些语言是用“//”开头表示注释的,出现“C/C++/Java”这样的字符串
纯粹是为了连贯性,因为C/C++/Java这三门程序语言本身就是用“//”开头表示注释的。

Trustno1细心一点的话,应该注意到在我的回复中“Java”这个词出现的频率更多,而不是“C++”。


呵呵,突然想起Trustno1翻译的<< Programming Erlang>>新书将要出版发行啦,
我在JavaEye砸Erlang确实不适宜。Sorry!Sorry!


不过我还是想细细回复一下Trustno1的回复(回复内容可能更多的是口水、死扣字眼)

请慢慢等,我打字不快。。。
   
0 请登录后投票
时间:2008-04-06
Trustno1 写道
自言200801 写道
第1:Trustno1在给出代码的时候最好能指明出处,是官方的,还是某个程序员在恶搞?

既然你认为这个程序可能是某种恶搞了,那么就是说你认为这个很难读已经严重偏离你所能接受的可读性标准.但是很不幸得告诉你这出自boost,C++的准标准中的bind库.你要是有兴趣可以去这里看源代码.www.boost.org.


我说出“恶搞”这个词,首先是因为我没看过boost的源码,你也没有指出出处,而且还是代码片段,
你所发的代码整体上看上去很工整,几乎没看到if、when之类的流程控制语句,
就是一片“模板代码”,我起初认为是你拼凑的,或者从网上临时抓下来的。
如果你一开始就标明官方出处,我决对不会用“恶搞”这个词。

Trustno1 写道
自言200801 写道
第2:给出的代码是否具有普遍性?

可以去尝试阅读boost的function,bind,mpl,preprocess.type_traits,spirit.

我不会去看的,以后去看也不大可能。

Trustno1 写道
自言200801 写道
第3:我给出的代码(最后那个测试例子除外)都是官方的,
那样的代码风格在整个Erlang/OTP的源代码库中普遍存在,我举的只是代表性的例子。

很不幸得告诉你,boost:bind,function,mpl,type_traits已经是纳入了C++0x标准的的tr1

我也希望C++快点进入计算机历史博物馆。

Trustno1 写道
自言200801 写道
第6:
C++之父已承认C++走入极端

你的意思是说,这种代码风格已经走极端了?
我怎么看到B教.主是这么说的呢?

即便他是这么说过,那你总不能说C++是FP语言是吧?那么按照你上面用恶搞两个词来形容的程度,你是不是应该承认,非FP语言也会很难读?

“极端”这个词你要死扣吗也可以,反正C++的语法语义是走入极端啦,
要是你反对的话,你去实现个C++编译器看看。要是按你的意思你所列的代码“代码风格已经走极端”了,
我也基本上同意,我本来就不喜欢C++,不过我一直强调“天生”这个词,可能你又要跟我扣字眼了,
什么才是“天生”?你觉得C++刚开始设计出来时“天生”就有template吗?
要是你认为C++现在很难读啦,那我说“C++走入极端”何错?

Trustno1 写道
自言200801 写道
第4:
Trustno1没有理解我给出的例子的用意,我说“天生”这两字不是随口而出的,
我给你提示几个有关的词(有时间再写个完整的):
Atom、Record、Pattern Matching、function clause、List/Bit String Comprehensions
最重要一点Erlang是一门函数式编程语言。

最重要一点C++是一门imprative语言,而且是一门被广泛应用的imprative语言。

我说过Erlang“一门天生就能损害人眼视力的语言”,但没说C++易读,
所以你这样的反驳跟本不搭边。


Trustno1 写道
自言200801 写道
第7:
老实说要在Trustno1发的代码跟我发的代码之间选择,我还是选择看Trustno1发的代码。


但是按照你前面的提问,你显然已经承认这种被广泛应用于C+_+语言的标准库,成为C++语言的编程核心代码已经是在恶搞了,已经远离你所能接受的可读性标准了.
那么放下FP不说,即便是imprative语言里,C++比很多其他种类imprative语言(Pascal?C#?Python?)来说都是一个应用极为广泛的语言。那么是否可以说,你对的代码可读性是否优良的标准与程序语言是否被广泛应用没有任何关系?
如果这个问题的答案是否定的,那么我们是否又可以说,一种语言越是接近于你的语言可读性标准,被广泛使用的可能性越低?或者换一种说法是,你根本没有能力去适应一个真正的被广大程序员所认可的可读性标准?

我的主题是“一门天生就能损害人眼视力的语言->Erlang”,
但我到现在都没提到要建立什么“可读性标准”,我认为要精确定义这样的标准也是不可能的,
所以我一开始就通过代码例子来给各位看官一个感性认识,
要是你认可Erlang这样的代码风格你就继续认可,
不认可你就像我一样砸Erlang,还有理有据的砸。
   
0 请登录后投票
时间:2008-04-06
我觉得Scala挺不错的,带有JAVA的感觉
然后又是函数式的语言,还是完全面向对象的,也有内置的并发API
   
0 请登录后投票
时间:2008-04-06
引用
“极端”这个词你要死扣吗也可以,反正C++的语法语义是走入极端啦,
要是你反对的话,你去实现个C++编译器看看。要是按你的意思你所列的代码“代码风格已经走极端”了,
我也基本上同意,我本来就不喜欢C++,不过我一直强调“天生”这个词,可能你又要跟我扣字眼了,
什么才是“天生”?你觉得C++刚开始设计出来时“天生”就有template吗?
要是你认为C++现在很难读啦,那我说“C++走入极端”何错?


C++之父已经承认C++走极端



你说C++走极端,是一个意思吗?

引用
我说过Erlang“一门天生就能损害人眼视力的语言”,但没说C++易读,
所以你这样的反驳跟本不搭边。


但是你还说过.

引用
直到发这个贴子前的这三个星期,从学习“Getting Started With Erlang”开始,
这20来天的时间算是认真研究了Erlang(官方也声称Erlang是一门函数式编程语言)。

本打算用40天时间分析完Erlang语言的编译器实现代码,
结果三个星期过去了,才看了2/5(现在还在犹豫要不要再往下看),
可以用“活受罪”来形容这三个星期,眼睛每天差不多都是红红的,
看上1个多小时代码就得跑到水龙头下用清水滋润一下双眼,
你可别认为我有眼疾,没有,我好得很,
从UCDOS时代看、写汇编代码开始到Java代码,我都没受过这份罪。

我现在都在怀疑FP信徒们是不是也在内心深处暗骂他们的神灵(Ya的,贼多括号),
除非FP信徒们永远在SICP中意淫,玩弄着教科书中那些玩具般的例子,
时不时再炫耀一番:“瞧,用Scheme实现"非比那次"(Fibonacci)就几行,看Java如何如何。。。






引用
我的主题是“一门天生就能损害人眼视力的语言->Erlang”,
但我到现在都没提到要建立什么“可读性标准”,我认为要精确定义这样的标准也是不可能的,
所以我一开始就通过代码例子来给各位看官一个感性认识,
要是你认可Erlang这样的代码风格你就继续认可,
不认可你就像我一样砸Erlang,还有理有据的砸


既然是你的感性认识,既然你是承认精确定义的标准是不可能的.

那么还扯什么有理有据?
   
0 请登录后投票
时间:2008-04-06
我真是服了,你真要最后扣到标点符号的层次,
那真的没什么好讨论的啦。

Trustno1 写道

C++之父已经承认C++走极端

你说C++走极端,是一个意思吗?


我都在“C++走入极端”上面打引号了,难道不是引用上次的“C++之父已承认C++走入极端”?
好,我承认我少打了“C++之父已承认”
就假设C++之父死不承认“C++走入极端”,
你都认为C++现在很难读啦,难道我依你的话说C++走入极端你不满意?
好,那我说现在C++没有走入极端,没有走入极端就说明C++还不是很难读啊,
这又跟你的结论不符合,所以最后变成了C++不难读,C++不难读了,那你上面列的代码有何用?

Trustno1 写道

既然是你的感性认识,既然你是承认精确定义的标准是不可能的.

那么还扯什么有理有据?

什么叫感性认识?你要用心理学来定义这个术语吗?
难道我举的例子代码是我拼凑的?
一个不懂Erlang的人看到那样的代码就产生眼花,视觉不是感性认识?难道是理性认识?

我发表的以下内容:
1.Erlang的历史
2.支持Erlang的IDE与编辑器
3.Erlang里的注释(Comments)语法
4.Erlang语言所使用的字符集
都是错误的吗?

你真要反驳就拿点技术观点来反驳,不然口水战毫无意义!
   
0 请登录后投票
时间:2008-04-06
一点都没有错!我已经承认了你所提出的问题都是 Erlang 在设计上不成熟的表现,T1 大人也绝对没有针对你一个人的意思,只是说这种不成熟很正常,看看其它的语言就知道什么叫五十步笑百步!

省省吧,谁爱用什么语言谁用去,只要不以自己一人之力来引诱菜鸟来用就行。

C++ 是死是活烦不了,哪个语言都有看了让人吐血的代码,对于不懂XX语言的人来说就是一堆字符。但是很明显,以 Erlang 为首的 FP 语言写的东西还是能看得懂怎么回事的。你看着嫌烦,有人不嫌;有人看编译器嫌烦,你不嫌。就是怎么回事。
   
0 请登录后投票
时间:2008-04-06
lichray 写道
一点都没有错!我已经承认了你所提出的问题都是 Erlang 在设计上不成熟的表现,T1 大人也绝对没有针对你一个人的意思,只是说这种不成熟很正常,看看其它的语言就知道什么叫五十步笑百步!

省省吧,谁爱用什么语言谁用去,只要不以自己一人之力来引诱菜鸟来用就行。

C++ 是死是活烦不了,哪个语言都有看了让人吐血的代码,对于不懂XX语言的人来说就是一堆字符。但是很明显,以 Erlang 为首的 FP 语言写的东西还是能看得懂怎么回事的。你看着嫌烦,有人不嫌;有人看编译器嫌烦,你不嫌。就是怎么回事。

从我对周围熟悉的人的比较分析中,我必须承认每个人的思维和天赋是有偏向的, 有的人就是擅长汇编,他就是试验派的,他就是不停地捣鼓,积累经验。你看看城市角落那些修车 修电视机等等,很多就是高中生,甚至初中生,他甚至说不出来机械电子那套高深的理论。

 

做硬件,汇编 C语言的一般擅长物理化学。

 

比如,我的思维就是重逻辑的,而且记忆差,我做事之前就是要把事情想明白才动手,我拆了电饭煲如果不用笔记录步骤,几乎装不回去。

 

所以在某种程度上你喜欢做的事也许就是你擅长的,选择语言也是要考虑自己的思维偏向。

 

比如,一般来说,女性在操纵机械设备方面不如男性。

   
0 请登录后投票
时间:2008-04-07
。。。。
   
0 请登录后投票
论坛首页 综合技术版 FP

跳转论坛: