论坛首页 Java企业应用论坛

再论闭包

浏览 24571 次
锁定老帖子 主题:再论闭包
该帖已经被评为良好帖
作者 正文
   发表时间:2009-08-18  
mathgl 写道
icewubin 写道
Juiz 写道
其实 java 不是真正的面向对象,充其量只是“面向类”,java 的啰嗦语法很容易导致冗长重复,继而产生连锁效应:
需要借助 IDE 生成代码,而生成代码的可读性就更差了;
长代码导致出错增加、重构困难、bug 迷雾;
代码越长,要求的注释越多;
为了分而治之,衍生出各种分层理论,design over code 之类的,但是层数越多,调用栈就越复杂,弹出巨大的 stack trace 你根本弄不清问题在哪 ……

这些问题归结到底,就是欠缺清晰、简洁的表达造成的。

OO 到了极致,从指令流程序变成数据流程序,便成为了函数式语言,这里头的东西几十年就研究通透了 …… 在精巧设计的 lambda 面前,很多杂乱的语言特性如 annotation、for in、try...catch 都变得没有价值,很多庞大的库和大量使用了 xml 的框架都会变成鸡肋 —— 因为用闭包可以更简单的做到。像上面的例子,很多人只看到少了 7 行,其实是少了 7/8 ……

可是现在 java 语言做一点点微小的进步都非常困难 …… 不进步便消亡,只是关系到数量庞大的公司和个人的利益,消亡的过程肯定比较缓慢。

照你的逻辑,Java早该灭亡了,有Lisp还要Java干嘛?


因为使用者众,程序也多,断无一夜之间全部消失之理。

Lisp诞生远比Java早。
1 请登录后投票
   发表时间:2009-08-18  
说java消失的应该去面壁思过
0 请登录后投票
   发表时间:2009-08-18  
蜀黍你乱入了。。
消亡的话,java早就消亡了,在很早以前,我就貌似听说过java,c++已死的言论
觉得也合理
但是消失还差的很远
现在都有人用COBOL~~但是cobol早就没有生命力了
0 请登录后投票
   发表时间:2009-08-18  
Juiz 写道
icewubin 写道
照你的逻辑,Java早该灭亡了,有Lisp还要Java干嘛?Lisp是银弹啊?

你的逻辑中有一个很严重的误导就是,程序复杂以及代码可读性差是由于Java本身过于复杂造成的,而实际上绝大多数复杂性是由于固有的业务复杂性造成的,而不是语言本身。语言本身的提高只能缓解一定的编程复杂度,但是不能减少任何业务本来固有的复杂度,不存在银弹的。


你的意思是“不能减少任何业务本来固有的复杂度”,就不能减少程序员的劳动量?

引入一个好的语言特性,在代码中就能造成线性的差别(可读性和代码量上),连带影响 debug、测试代码量、影响架构、影响交流成本,差异到了工程中就是到指数级了,根本不是引入一个库/框架能比的。

当然糟糕的语言特性也会造成反效果罢了。

Lisp 是银弹有什么错的吗?

http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf

如果Lisp是银弹的话,为什么狼都还活着呢?
如果Lisp是银弹的话,是不是ruby之类的动态语言都能算是银弹么?
0 请登录后投票
   发表时间:2009-08-18   最后修改:2009-08-18
火星叔叔马丁 写道
话说ruby还真是lisp一脉相传下来的
ruby受到lisp影响 其实要超过受到perl的影响

我知道啊,正因为我知道我才这么说的。

不过有人大言不惭的说Lisp是银弹,我还是比较佩服的(不会没看出我在说反话吧,哪有什么银弹语言),既然都是银弹了,还要其他语言干啥啊?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics