文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

最近,我在尝试说服我的一些读者更好的理解面向对象编程中的对象能够帮助我们解决现存的很多伪面向对象语言。然而,突然有个问题被提出:“到底存在什么样的问题?”我一时愣住了。我本以为大量的用现代面向对象编程语言编写的现代软件是很难维护的并且很容易一团糟这个问题是很明显的。所以我稍微用Google搜索了下,这是我所看到的一些评论(按照时间从早到晚排序):

引言的的列表是按照时间先后顺序排序的,最早的排在最前:

badge

Edsger W. Dijkstra 在"TUG LINES"低32期  ,1989年8月说道:“面向对象程序就是被提供作为用来去改正的东西”以及“面向对象编程是一种只能源于加利福尼亚的非常糟糕的主意”。

第 1 段(可获 1.6 积分)

badge

Alan Kay 在 The Computer Revolution hasn't happened yet, OOPSLA'97 主题大会上说: "是我发明了面向对象这个术语,并且我能告诉你我脑中并没有想到C++."

badge

Paul Graham 在 The Hundred-Year Language: "面向对象编程提供了一种写面条代码的支持方式."

badge

Linus Torvalds 在这封邮件中写道: "C++是一种糟糕的语言 ... C++ 导致了非常非常糟糕的设计选择. ... 换句话说,唯一优秀的,有效率的,系统级使用C++的方式在于将你限制在那些基本用C就能做到的事情上。并且将你的项目限制在C上意味着人们不会将它搞出岔子,并且也意味着你需要大量的实际上理解底层问题的程序员且他们不会用用任何白痴的“对象模型”垃圾来把事情搞得一团糟."

第 2 段(可获 1.7 积分)

badge

Oscar Nierstrasz 在Ten Things I Hate About Object-Oriented Programming: "面向对象编程在于通过建模处理软件项目中的复杂性, 但是目前为止我们还没有掌握,大概是因为我们很难分清真实的和偶然的复杂性"

badge

Rich Hickey 在SE Radio, Episode 158: "我认为在大型的面向对象程序中,当你建立这个大的可变对象的对象图时,它会一直深陷与不断增加的复杂性的泥潭之中,你知道,你得尝试理解并且牢记当你调用一个方法的时候会发生什么,并且它的副作用是什么."

badge

Joe Armstrong 在Why OO Sucks: "对象将函数和数据结构用不可见的单元联系在一起。我认为这是个原则性的错误,因为函数和数据机构属于完全不同的世界."

第 3 段(可获 1.49 积分)

badge

Rob Pike (here): "面向对象编程,其本质不过是在编程的时候使用与其相关的行为的数据,是一个非常强大的创意。它确实是的。但它也不总是最好的主意...有的时候数据就是数据,方法就是方法."

badge

John Barker 在 All evidence points to OOP being bullshit: "面向对象编程是一种试图提升代码共用性与安全性的抽象,在很大程度上,它实际还是一种过程式(与面向对象相对)的代码."

badge

Lawrence Krubner 在Object Oriented Programming is an expensive disaster which must end: "我们现在知道面向对象编程是一次失败的实验。是时候翻篇向前看了。是时候,我们作为一个社区,承认这个想法已经失败,并且我们必须放弃它了。."

第 4 段(可获 1.56 积分)

我找不到这段引言的出处 (或许你能帮助我?):

Alan Kay: "Java和c++使你认为新的想法像旧的一样,Java是计算机行业中自从微软DOS时代以来发生的最令人痛苦的事情"

如果你有一些别的东西要加到这个列表里,请在下面给出你的留言。.

第 5 段(可获 0.69 积分)

文章评论