你想要一个香蕉,但得到的却是一个大猩猩拿着一个香蕉
时间:2011-08-27
来源:cnblogs
本文是从 You wanted a banana but you got a gorilla holding the banana 这篇文章翻译而来。
Joe Armstrong—Erlang语言的创造者—就软件的可重用性问题发表的意见:
我认为,可重用性不足是面向对象编程语言里才会有的问题,函数式编程语言没有这个问题。面向对象的编程语言之所以有这个问题是因为它们需要整个的内在的系统做支持。你想要一个香蕉,但得到的却是一个大猩猩拿着一个香蕉,还有整个丛林。
如果你的代码具有亲系透彻性(referential transparency),你用的是纯函数—所有的数据都只跟它的输入参数,输出值有关,不会留下任何的持久状态—这是绝对的可重用性。
来源:Coders at Work。作者用粗体进行强调。
我大部分的工作都是用的面向对象语言,而且近期也不会有任何的改变。我对函数式编程技术更感兴趣,而不是函数式编程语言:我编写纯函数,用函数当作参数或返回值等等。就像Joe Armstrong说的,这种程序代码易于重用。如果你想重用(或测试)一个函数式香蕉,你不需要先造出一个丑陋的大猩猩来拿着这个香蕉。
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28