《Erlang之父:为什么面向对象很糟糕》PDF

所需积分/C币:10 2017-09-21 19:13:35 503KB PDF

《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF
义。在 Erlang或者C里,我可以在一个简单的 include文件或者数据字典里定义我的所有的数据类型。在面 向对象语言里我不能这样做,数据类型定义散落在各个地方。 我来举个例子。假设我要定义一种无处不在的数据结构。「无处不在」指的是在系统的各个地方都有可能 出现。 Lisp程序员可能早已知道,相比于大量的数据类型和一小撮作用于它们的函数来说,定义一小部分无处不在 的数据类型和大量作用于它们的函数会更好。 种无处不在的数据结构是那种类似于链表、数组、哈希表或者时间、数据或文件名这样更高级的对象的 东西。 在面向对象编程语言里,我不得不选择某个基础的对象去定义普遍存在的数据结构,所有其他想要使用这 些数据结构的对象都必须继承这个基础对象。假设我现在想要创造某个「时间」对象,它应该属于哪里 呢. 反对点4:对象有私有状态 状态是万恶之源。在特定的有副作用的函数里应该被避免 虽然编程语言中的状态可以是不可获得的,但现实世界里的状态却十分之多。我对我银行账户的状态十分 感兴趣,并且当我从中存入和取出一些钱的时候,我也希望我的银行账户的状态能够被正确地更新。 提出一个问题:在现实世界里存在的状态,一门编程语言应该提供什么工具来处理它们呢? 面向对象编桯语言说:从程序员那里隐藏这些状态。这些状态被隐藏并且只能通过特定的访问函数来 获得。 ◎传统的编程语言(比如C, Pascal)说:状态变量的可见性由语言的作用域规则来控制。 o纯粹的声明式语言说:这里没有状态一说。 系统的全局状态从各个函数中进进出出。像单体结构(对于函数式编程语言)和分布式结构(对于逻辑语 言)这样的机制被用来从程序员手中隐藏状态,这样他们就可以像「状态似乎不重要」一样来编程。不 过,拥有对系统状态的全部访问权限是必要的。 面向对象编程语言选择「从程序员手中隐藏状态」是十分糟糕的选择。它们不但不展现状态和找到減少令 人讨厌的状态的方法,反而把它们都藏了起来。 为什么面向对象如此流行? o理由一:它被认为是容易学习的 o理由二:它被认为可以使代码更易复用 o理由三:是炒作 o理由四:它创造了一个新的软件产业 我没有明白理由一和理由二为什么成立。理由三和四似乎是技术背后的驱动力量。如果一门语言技术是如 此糟糕但是它却创造了一个新的产业来解决它自己产生的问题,那对于很多想赚钱的人来说一定是个好主 这就是面向对象背后真正的驱动力量。 译注:文章观点仅供参考,作者本人后来也说自己的观点或许有些不成熟。 听说,你想请我吃糖?0.0 赏 #面向对象#Er|ang 2016年书单 Express性能调优〉

...展开详情
试读 4P 《Erlang之父:为什么面向对象很糟糕》PDF
img
冷剑魂

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    《Erlang之父:为什么面向对象很糟糕》PDF 10积分/C币 立即下载
    1/4
    《Erlang之父:为什么面向对象很糟糕》PDF第1页
    《Erlang之父:为什么面向对象很糟糕》PDF第2页

    试读已结束,剩余2页未读...

    10积分/C币 立即下载 >