zoukankan      html  css  js  c++  java
  • 面向对象编程从骨子里就有问题

      “面向对象编程是一个极其糟糕的主意,只有硅谷里的人能干出这种事情。” — Edsger Dijkstra (图灵奖获得者)

      “面向对象设计是用罗马数字做计算。” — Rob Pike(Go 语言之父)

      ““面向对象”这个词包含很多意思。有一半是显而易见的,而另一半是错误的。“ — Paul Graham(美国互联网界如日中天的教父级人物)

      “实现上的继承就跟过度使用 goto 语句一样,使程序拧巴和脆弱。结果就是,面向对象系统通常遭受复杂和缺乏复用的痛苦。” — John Ousterhout( Tcl and Tk 的创始人) Scripting, IEEE Computer, March 1998

      “90% 的这些胡说八道都称现在它很流行,非要往我的代码里搓揉进面向对象的石粒。” — kfx

      “有时,优雅的实现只需要一个函数。不是一个方法。不是一个类,不是一个框架。只是一个方法。” — John Carmack(id Software 的创始人、第一人称射击游戏之父)

      “面向对象编程语言的问题在于,它总是附带着所有它需要的隐含环境。你想要一个香蕉,但得到的却是一个大猩猩拿着香蕉,而其还有整个丛林。” — Joe Armstrong(Erlang 语言发明人)

      “我一度曾经迷恋上了面向对象编程。现在我发现自己更倾向于认为面向对象是一个阴谋,企图毁掉我们的编程乐趣。” — Eric Allman(sendmail 的创造者)

      面向对象是 90 年代“结构化编程”的万金油,风靡一时,但很难说它就是那些用它开发出来的东西的“终极”编程模式。

      并且,至少它的这种最流行的形式可能我带来极大的危害,极度的增加复杂性。

      继承带来的危害远超过好处。这“代码复用”的令人质疑的幌子下,我们的环境中被愚蠢的增添了大量的毫无用处的复杂性,使得必须引入大量的语法上的简写来让这混乱得到最低限度的管理。

  • 相关阅读:
    Dapper笔记-Dapper.Common【转】
    ASP.Net Core WebApi几种版本控制对比【转】
    ASP.NET Core WebAPI使用Swagger生成文档
    K8S笔记-Pod介绍【未完成】
    Docker-容器命令
    MySQL笔记-备份命令(mysqldump)
    MySQL笔记-INFORMATION_SCHEMA数据库介绍【转】
    Quartz.net笔记-计划任务触发器(Cron Trigger)
    Quartz.net笔记-简单触发器(Simple Trigger)
    Type序列化器
  • 原文地址:https://www.cnblogs.com/chenhongyu/p/2933009.html
Copyright © 2011-2022 走看看