为什么java如此招人厌恶-Quora版

来源:互联网 发布:深度卷积网络代码 编辑:程序博客网 时间:2024/04/30 23:09

http://article.yeeyan.org/view/86510/233518


Sergei TurinEECS student at Cal (引用了很多其他人的话)

199 votes by Shaan Batra, Hiroshi Ono, Horia Tu, (more)

java中难以看到优雅的代码实现,有时你遍读源码,只能发现一个优雅的函数,只是一个函数,不是方法,不是类,更没有框架级别的雅致。-- John Carmack  

当我刚刚开始在CS系学习编程时,我觉得我们使用很少的代码完成了太多的事情。现在,(java中),我们写了成百上千的代码却只实现了极少的功能。-- Lispian

这就是现代计算(编程):简单的东西被摆弄的及其复杂;而复杂的东西继续复杂因为(缺少功力)难以使之简单。-- Rob Pike

java就像俄罗斯方块游戏的变体(Tetris),没有任何一块能够填充到其他块的缝隙,你只能不停的将代码堆砌下去。-- Steve Yegge  

(Java)语言本来为了避免(程序员)愚蠢行为,本身却变得相当的白痴。-- Rob Pike

面向对象语言问题在于它们总是随意带出很多潜在的环境。你本来只想要一只香蕉,但最终你却得到整个丛林中一个拿着香蕉的大猩猩。-- Joe Armstrong

软件中太多的复杂性来源于让本来做一件事情的(方法/类)去做了两件(更多)事情。(缺少内聚)-- Ryan Singer

软件工程的目标是控制复杂性,而不是(像java)创建复杂性。-- Dr. Pamela Zave

设计模式是一帮只会死记硬背而毫无学习领悟的人使用的概念。他们没有真正的编程能力和技巧,只会在问题中按部就班的有尝试模式直到找到一个合适的套用。-- Jason Garrett-Glaser (a.k.a. Dark_Shikari)

在代码复用(令人质疑)的神圣外衣下,太多太多--令人发指的数量,毫无必要的复杂性加入到了我们的环境,导致了工业数量级别上的语法糖,不可避免的完全滑向混乱-- Uriel

抽象带来的成本往往超过其收益,这十分普遍。-- John Carmack

代码的简洁之美在于你能遵从或者打破任何规则,只要代码保持足够的清晰简洁。规则模式让人们能够不假思索的写出代码。[但是]当你不加思考时,你的代码臃肿不堪,各种模式的拼接。人们停止思考和问为什么之后,就只能盲目的崇拜各种模式了。-- Cinap Lenrek

面向对象模式很容易累积来生成到。在实践中,这意味着它提供了一种结构化的方法来生成有意大利面条式的代码(杂乱纠缠的一丢东西)。-- Paul Graham  

我们看不到问题真正的症结所在,而是人为的去创造了一些我们已经解决方案的问题。(尝试解决真正的问题)不去构建一大堆糟糕头顶的代码,我们选择思考我们熟知的问题。我们声称我们已经解决了问题(假的),而真正的问题却搁置一边。William Woody

  

Brien ColwellJava for research (Berkeley), profit ...28 votes by Tracy Chou, Aaron Chiu, Richard Shin, (more)

臃肿不堪的代码已经成为了Java社区的风气。典型的例子有Sprint, Hibernate, OSGI的架构,甚至一些(本来应该轻量级)web框架也喜欢通过巨多的配置文件和巨多的抽象让自己膨胀起来。配置文件与静态类型的思想想左,而且太多的组件和模块又完全不符合人类的心理感知能力--同一时间,只能处理一定量的信息。这些动态组件取代了本应该能高效完成的有价值的工作。基于JVM的下一代的语言比如Scala消除了很多语言中类似的思考障碍:单例很简单,自动化(构建)原则,可以写出类C风格的全局简洁代码。我希望这个趋势能够为JVM共享出简洁,简约和平衡的lib库。

  


Adam SmithEntrepreneur, hacker36 votes by Rishabh Sharma, Paul Artois, Eunji Choi, (more)

因为Java的方式方式方式方式方式方式方式方式,特别的方式方式方式方式,特别特别的方式方式方式方式方式方式实在太罗嗦了。

(我本来想用一个感叹号来结束强调,但java没有这样的支持。为了表达同样到效果,我只好采用重复的方式:方式方式方式方式方式方式方式方式,特别的方式方式方式方式,特别特别的方式方式方式方式方式方式实在太罗嗦了)

 

Joshua LevyTrust me. I'm a professional.18 votes by Joshua Engel, Charles Banas, Robert Rapplean, (more)

我认为Steve Yeg通过下面首借用修改的儿歌很好的说明出了java的面向名词思考的风格。他的文章是我见过的对java不足的最后说明之一,值得全文拜读。

原创粉丝点击