由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - OOP胜出是因为object而不是class
相关主题
来点OOP 负能量JavaScript is eating the world, JSON is replacing xml.
什么是RESTful webserviceJSON实际上有很多缺点
FP的可读性是最大问题大家有没有觉得Scala不如Haskell美?
FMP 3.0 Mitbbs 首发 — 求建议求反馈C# 6.0 的视频,太猛了...
有人用 boost::property_tree 吗?json文件有个问题,缺失逗号,文件乱了
过去十年最成功的语言是JavaScript吧项目中又有人要用restful,结果我不restful了。。。
LISP is better than XML, but worse is better?why i hate spring
总有一天,web server上的开发会退化成xml的要将数据同时生成JSON和XML, 应该先生成哪个,再转换成另一个
相关话题的讨论汇总
话题: oop话题: object话题: class话题: 应用话题: 编程技术
进入Programming版参与讨论
1 (共1页)
L********t
发帖数: 3
1
我最近在思考这个问题: 通用编程技术和语言的发展到底是如何被应用驱动的? 有些所
得,和大家分享一下。
L********t
发帖数: 3
2
在早期,程序基本都是从头跑到尾的一根筋的类型,主要用来解决计算问题,基本上是
为了实现算法的。
在近代,大量的商业应用,让算法成为了局部的需求,总体的需求是计算机和软件本身
成为商业运作中的一个成员,比如作为银行账本,库存清单,学校花名册等等。
在现代,也就是互联网时代,计算机和软件本身成为了商业的主角,甚至开创了新型的
商业模式,比如Ebay, Netflix, Facebook, Airbnb, Uber等等。
早期的应用,procedural functions and functional functions 可以应付得很好。近
代的应用,规模大增,这两种function在数量上满足不了应用的规模。只有object这个
技术,可以在design time写一次代码,然后在runtime生成大量的object。
但OOP在现代,没有跟上应用的需要,甚至没有跟上硬件和网络技术的发展。硬件贡献
了多核CPU技术,网络贡献了互联网技术。
现在的局面是,通用编程技术没有跟上互联网应用的节奏。科学和工业界都没有提出有
效的编程技术和语言(都是局限在单个计算机内的)。在现实中,只能用web service等
企业技术来弥补。
T*******x
发帖数: 8565
3
有道理。

【在 L********t 的大作中提到】
: 在早期,程序基本都是从头跑到尾的一根筋的类型,主要用来解决计算问题,基本上是
: 为了实现算法的。
: 在近代,大量的商业应用,让算法成为了局部的需求,总体的需求是计算机和软件本身
: 成为商业运作中的一个成员,比如作为银行账本,库存清单,学校花名册等等。
: 在现代,也就是互联网时代,计算机和软件本身成为了商业的主角,甚至开创了新型的
: 商业模式,比如Ebay, Netflix, Facebook, Airbnb, Uber等等。
: 早期的应用,procedural functions and functional functions 可以应付得很好。近
: 代的应用,规模大增,这两种function在数量上满足不了应用的规模。只有object这个
: 技术,可以在design time写一次代码,然后在runtime生成大量的object。
: 但OOP在现代,没有跟上应用的需要,甚至没有跟上硬件和网络技术的发展。硬件贡献

m**u
发帖数: 541
4
看了标题,就开始发愁,怨不得好的程序员不多啊。。。
W***o
发帖数: 6519
5
this is a chicken-and-egg question.
without class, how do you get object instantiated memory? without physical/
imaginary
object, how do you get class?

【在 L********t 的大作中提到】
: 我最近在思考这个问题: 通用编程技术和语言的发展到底是如何被应用驱动的? 有些所
: 得,和大家分享一下。

p*****2
发帖数: 21240
6

看js

【在 W***o 的大作中提到】
: this is a chicken-and-egg question.
: without class, how do you get object instantiated memory? without physical/
: imaginary
: object, how do you get class?

T*******x
发帖数: 8565
7
内容有一定道理。标题确实有点矛盾。
class是object的类型。相当于JSON或XML的validation文件,是可以没有的。但是有,
或至少有这个概念也是很自然的。

【在 m**u 的大作中提到】
: 看了标题,就开始发愁,怨不得好的程序员不多啊。。。
L********t
发帖数: 3
8
标题本身的逻辑没有问题,就好像图灵奖不叫图灵妈妈奖一样。
这个标题其实有更深的含义: object
是好东西,但class拖后腿。
大规模的程序一般来说需要大量的稍有智能的,能克隆的马仔。一方面,OOP能提供这
样的马仔,并且是三大范式(OOP, PP, FP)中唯一有这个能力的; 但另一方面,class对
写大规模的程序,有负面的作用。
比如在一个单机系统里,你要给amazom下个订单,你一定要有amazon相关object的
reference才能做到,因为这是OOP的object之间交流的唯一方式,然后这个object的类
型,就是class,和所有间接牵连到的个各种类型,都得包含进来。
描述这种情况,说得最好的是: you wanted a banana but what you got was a
gorilla holding the banana and the entire jungle.
在一个单机系统里,OOP做大了都有问题,在多机系统里就更不行了。所以OOP只能在限
制的范围内使用,它们之间用企业技术web service, queue, database 等阻隔开来。
OOP需要改进,比如增加非类型的数据结构,增加间接的交流方式,等等。
g*****g
发帖数: 34805
9
人类用牛顿物理描述低速也就是我们常识理解的世界,牛顿物理就是典型的OO。定义了
物体及其相互作用。
大规模系统也好,小规模也好,OO是最容易建模的语言,因为符合人类常识。只有在某
些特定领域,比如数学公式,更适合FP。

【在 L********t 的大作中提到】
: 标题本身的逻辑没有问题,就好像图灵奖不叫图灵妈妈奖一样。
: 这个标题其实有更深的含义: object
: 是好东西,但class拖后腿。
: 大规模的程序一般来说需要大量的稍有智能的,能克隆的马仔。一方面,OOP能提供这
: 样的马仔,并且是三大范式(OOP, PP, FP)中唯一有这个能力的; 但另一方面,class对
: 写大规模的程序,有负面的作用。
: 比如在一个单机系统里,你要给amazom下个订单,你一定要有amazon相关object的
: reference才能做到,因为这是OOP的object之间交流的唯一方式,然后这个object的类
: 型,就是class,和所有间接牵连到的个各种类型,都得包含进来。
: 描述这种情况,说得最好的是: you wanted a banana but what you got was a

1 (共1页)
进入Programming版参与讨论
相关主题
要将数据同时生成JSON和XML, 应该先生成哪个,再转换成另一个有人用 boost::property_tree 吗?
支持我的JS OOP观点的文章来了过去十年最成功的语言是JavaScript吧
ajax 页面为啥收不到response 呢?LISP is better than XML, but worse is better?
赵策怎么看OOP hell的问题?总有一天,web server上的开发会退化成xml的
来点OOP 负能量JavaScript is eating the world, JSON is replacing xml.
什么是RESTful webserviceJSON实际上有很多缺点
FP的可读性是最大问题大家有没有觉得Scala不如Haskell美?
FMP 3.0 Mitbbs 首发 — 求建议求反馈C# 6.0 的视频,太猛了...
相关话题的讨论汇总
话题: oop话题: object话题: class话题: 应用话题: 编程技术