由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - OOP和量子力学的联系
进入Programming版参与讨论
1 (共1页)
C*****l
发帖数: 1
1
编程书里面对oop的解释,往往过于通俗. 使人看了之后,就觉得这么trivial的东西,
怎么写不可以,为什么要oop.
但是oop的理想情况,就是一个state的集合{si},加上面的一个正交操作集合{OPi},
两个集合都应该是完备的,也就是state上面的任何一个操作都可以表示成操作集合的
组合。如果能达到这样的design就可以保证对数据的操作十分robust。
从历史上看,这种operator算符的思路第一次被大规模发现应该是20世纪的量子力学。
当然数学里面算子代数的历史可能可以上溯更远。量子化,就是让状态空间离散可数化
,其他物理过程都用算符来表示。状态空间{si}, 和算符集合就提供了物理系统的完备
描述。
量子力学的发现,物理学家主要还是关注基本思想以及实验现象的解释。公理化体系,
其实是冯诺伊曼这些的跨界数学家搞的。而早期的计算机科学家,算法学家也是数学家
,所以很可能数学家把从量子力学里面学到的这种思路,广泛运用到编程领域。这样解
释,一切就非常自然了。
c*******v
发帖数: 2599
2
https://medium.com/javascript-scene/the-forgotten-history-of-oop-
88d71b9b2d9f
In other words, according to Alan Kay, the essential ingredients of OOP are:
Message passing
Encapsulation
Dynamic binding
These ideas were inspired by biological cells and/or individual computers on
a network via Alan Kay’s background in biology and influence from the
design of Arpanet (an early version of the internet).
These ideas were inspired by biological cells and/or individual computers on
a network via Alan Kay’s background in biology and influence from the
design of Arpanet (an early version of the internet). Even that early on,
Alan Kay imagined software running on a giant, distributed computer (the
internet), where individual computers acted like biological cells, operating
independently on their own isolated state, and communicating via message
passing.

【在 C*****l 的大作中提到】
: 编程书里面对oop的解释,往往过于通俗. 使人看了之后,就觉得这么trivial的东西,
: 怎么写不可以,为什么要oop.
: 但是oop的理想情况,就是一个state的集合{si},加上面的一个正交操作集合{OPi},
: 两个集合都应该是完备的,也就是state上面的任何一个操作都可以表示成操作集合的
: 组合。如果能达到这样的design就可以保证对数据的操作十分robust。
: 从历史上看,这种operator算符的思路第一次被大规模发现应该是20世纪的量子力学。
: 当然数学里面算子代数的历史可能可以上溯更远。量子化,就是让状态空间离散可数化
: ,其他物理过程都用算符来表示。状态空间{si}, 和算符集合就提供了物理系统的完备
: 描述。
: 量子力学的发现,物理学家主要还是关注基本思想以及实验现象的解释。公理化体系,

C*****l
发帖数: 1
3
alan kay已经是6,70年代了,搞不好很多联系已经被忘记了, cellular automata是
冯诺伊曼发明的,kay想象中的包含state的细胞有没有收到影响?要知道牛顿体系里面
大家想象的都是连续变量系统。

are:
on
on

【在 c*******v 的大作中提到】
: https://medium.com/javascript-scene/the-forgotten-history-of-oop-
: 88d71b9b2d9f
: In other words, according to Alan Kay, the essential ingredients of OOP are:
: Message passing
: Encapsulation
: Dynamic binding
: These ideas were inspired by biological cells and/or individual computers on
: a network via Alan Kay’s background in biology and influence from the
: design of Arpanet (an early version of the internet).
: These ideas were inspired by biological cells and/or individual computers on

d*******r
发帖数: 3299
4
问题是流行的OOP(e.g.Java,C++)要求单链条严格封装
还有比如单链条的继承树(继承树长了是真难用).
这些限制导致流行的OOP非常难用
hierarchical层级定义抽象,封装内部状态, 是正确的设计
但是用的时候, 有可能底层状态有 s1,s2,s3,s4
s1,s2,s3 可以封装成 object A
s4,s2,s3 可以封装成 object B
就好比相同的人可以担任不同角色,
就好比相同的底层状态可以用不同的上层公式/模型表示.
所以流行的OOP针对真实世界的建模就别扭了.
然后大家只有开发新的补丁给OOP用...
d*******r
发帖数: 3299
5
"""
但是oop的理想情况,就是一个state的集合{si},加上面的一个正交操作集合{OPi},
两个集合都应该是完备的,也就是state上面的任何一个集合都可以表示成操作集合的
组合。如果能达到这样的design就可以保证对数据的操作十分robust。
"""
优雅地建立正交分解 -- 这个本来就及其的难
放在数据物理领域可以. 建模日常的杂七杂八的事务, 就更难了

【在 C*****l 的大作中提到】
: 编程书里面对oop的解释,往往过于通俗. 使人看了之后,就觉得这么trivial的东西,
: 怎么写不可以,为什么要oop.
: 但是oop的理想情况,就是一个state的集合{si},加上面的一个正交操作集合{OPi},
: 两个集合都应该是完备的,也就是state上面的任何一个操作都可以表示成操作集合的
: 组合。如果能达到这样的design就可以保证对数据的操作十分robust。
: 从历史上看,这种operator算符的思路第一次被大规模发现应该是20世纪的量子力学。
: 当然数学里面算子代数的历史可能可以上溯更远。量子化,就是让状态空间离散可数化
: ,其他物理过程都用算符来表示。状态空间{si}, 和算符集合就提供了物理系统的完备
: 描述。
: 量子力学的发现,物理学家主要还是关注基本思想以及实验现象的解释。公理化体系,

C*****l
发帖数: 1
6
现实问题在于操作集不好选择,比如一个xml,如果定义的过大只能加特定的node,后
面可能会发现不能支持新用法,如果定义过细,就会太复杂,跟直接写差不多了。

【在 d*******r 的大作中提到】
: 问题是流行的OOP(e.g.Java,C++)要求单链条严格封装
: 还有比如单链条的继承树(继承树长了是真难用).
: 这些限制导致流行的OOP非常难用
: hierarchical层级定义抽象,封装内部状态, 是正确的设计
: 但是用的时候, 有可能底层状态有 s1,s2,s3,s4
: s1,s2,s3 可以封装成 object A
: s4,s2,s3 可以封装成 object B
: 就好比相同的人可以担任不同角色,
: 就好比相同的底层状态可以用不同的上层公式/模型表示.
: 所以流行的OOP针对真实世界的建模就别扭了.

T********i
发帖数: 2416
7
人类智力的极限,也就是一万行左右代码的一个状态自动机。
不是说把specs给他让他写对,虽然那也很难。
而是说能设计一个优化的specs。
这是无解的。而且是可观测的。
1 (共1页)
进入Programming版参与讨论