`
canonical
  • 浏览: 358895 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

结构的独立性

阅读更多
   设计考虑的是最终需要什么,最终我们要提供的调用接口是什么,我们所直接需要的某个有价值的,直接存在的,直接可以接触的结构是什么,而不是它所依据的原理是什么,不是它的具体构造过程或者构造方法是什么。比如说我们在程序中完全不需要内置Map这一结构,因为它可以通过列表等结构组合构建出来,但是很显然,Map这一概念的直接存在对我们来说是方便的,是经济的,是有效的。我们在思考的时候并不需要考虑它是采用List实现还是采用Set实现,或者任何它本身的构造结构。这一概念在我们的思想中成为某种原子化的东西。

    那么,我们到底需要构建哪些概念,才能够最方便的基于这些概念应对万千应用系统的开发呢。 这是我们需要在结构空间作出探索的。 这里的思维方向不是把系统推向某种纯粹化,某种极致的简单化,而是让它更加物理化,揭示出更多的层次,更加关切在物理约束情况下如何实现灵活性的最大化。一种概念在物理上如果被证明能够在很多场景下成为不变的基元,则它便是有价值的,是可以进行物理诠释的。

   很多人习惯于接受语言存在的现实,接受设计后的结果,但是作为程序语言设计者,他们又是如何工作的?他们是否真的是从纯粹的数学关系推演得到所有的语法特征,还是他们预先已经在心中设定了应该出现的语法特征,然后去寻找它的数学表达,只是借此清除思维中潜在存在的矛盾性呢?

    语言中存在的所有特征是经过全局考虑的,是清除了所有概念的矛盾冲突的。但是在现实中,我们偶然构造的结构却可能是局限于当下的信息构造的,因此它们相会的时候,可能会出现不协调,可能会出现结构障碍。例如同样是关闭操作,有些人命名为close, 另一些人命名为destroy. 可能一个具有额外参数,另外一个没有。这里可能需要一种adaptor接口的封装,也可能使用ruby那种method-missing的动态判断。对于更加错综复杂的结构问题,其解决方案就不是那么显然的了,但这并不意味着我们无办法可想。究竟设计何种结构边界才能最小化结构融合时所要付出的代价呢?结构被识别并表征出来以后,是否允许它在一定范围内有所变形?在变形中我们需要保持的拓扑不变量是什么?结构动态调整的时候,我们是否需要定义调整的物理代价,是否能够定义某种动力学?
   
   我所阐述的只是在计算机理论中从数学视角向物理视角的转换,它不是必然给你某种超越当下的能力,而是提供一种不同的眼光看待所有的一切。视角变换后,我们发现了一些新的命题,而在原先的视角下在我们的话语体系中原本是无法表达这些命题的。串行程序假设了只有1颗CPU, 而函数式语言假设了可以有无限多个CPU, 你不觉得1至无穷之间缺点什么吗。我们可以创造一些东西把1至无穷之间的空白补齐,概念空间是连续的。


分享到:
评论

相关推荐

    论文研究-混合加噪声模型与条件独立性检测的因果方向推断算法.pdf

    传统的基于独立性检测的方法是通过检测V结构来确定一组马尔可夫等价类而非最终的因果关系;而加噪声模型算法却只能适应于低维度的因果网络结构。为此,提出一种采取分治策略的混合加噪声模型与条件独立性检测的因果...

    关于数据库的根本目的之一——数据独立性

    在手工管理阶段,数据和程序完全交织在一起,没有独立性可言,数据结构作任何改动,应用程序也需要做相应的修改;文件系统出现后,虽然将两者分离,但实际上应用程序中依然要反映文件在存储设备上的组织方法、存取...

    数据独立性

    数据独立性是指应用程序和数据结构之间相互独立, 互不影响。在三层模式体系结构中数据独立性是指数据库系统在某一层次模式上的改变不会使它的上一层模式也发生改变的能力。正是三级模式间的两层映像保证了数据库系统...

    matlab独立性检验代码-pcit:cit

    matlab独立性检验代码预测性条件独立测试(PCIT) 在图形模型结构学习中的应用 目前正在审查中! 看 描述 该程序包实现了多元条件独立性测试和基于PCIT的从数据中学习有向图的算法 开发者 :指定联系点 如果您想贡献...

    基于条件独立性测试的贝叶斯网结构学习改进算法 (2011年)

    针对基于条件独立性测试贝叶斯网结构学习算法在删除完全图边时的不足,提出加入对节点x和y的互信息测试的改进算法,不但能充分考虑到D-分离原理中存在的3种图型结构,使学习到的网络结构更接近于解,而且还从一定程度上...

    基于保护独立和信息共享的变电站通信结构.pdf

    该文从继电保护设备的独立性和网络信息共享两方面出发,分析了变电站通信的整体结构和原则。在 合并单元和智能终端集成的基础上,提出将继电保护及相关设备的通信接口分为站域信息接口、保护功能接 口和过程信息...

    独立驱动电动汽车稳定性的滑模变结构控制.pdf

    独立驱动电动汽车稳定性的滑模变结构控制.pdf

    matlab独立性检验代码-mgcpy-old:MGCPY将不再更新。可以在这里找到新的REPO:

    matlab独立性检验代码 注意:MGCPY最近已移至HYPPO。 它包含最新的实施,更多的用户友好的API和更快的测试,以及其他功能。 MGCPY将不再更新。 可以在此处找到新的REPO :。 R版本在CRAN和上可用。 可在以下位置获取...

    通信与网络中的USB通信技术在自动测试系统中的应用

    1 引言  自动测试系统ATS(Automatic Test System)集成测试所需的全部激励与测量设备,计算机高效完成各种模式的激励及响应信号...该结构独立性强。抗干扰性强、传输速率高、占用资源有限、使用灵活、支持热插拔,因此

    钢塔架结构的可靠性

    为理清影响独立钢塔架结构受力性能的关键随机变量,应用非线性有限元可靠度计算方法(iHLRF、梯度投影法、序列二次规划法和Polak-He)对其进行系统的可靠度研究;基于直接微分法,对铁塔架结构进行敏感性分析,研究铁塔架...

    论文研究-多个独立应力组合的极值Ⅰ型——正态模式结构可靠性设计.pdf

    论文研究-多个独立应力组合的极值Ⅰ型——正态模式结构可靠性设计.pdf,

    数据库系统的组成和结构.pptx

    11 两级数据的独立性 数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响. 物理独立性:如果数据库的内模式要修改,即数据库的物理结构有所变化,那么只要对模式/内模式映像做相应的修改,从而使...

    数据结构课程设计介绍 (一个数据结构是由数据元素依据某种逻辑联系组织起来的)

    “数据结构”作为一门独立的课程在国外是从1968年才开始设立的。 1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和...

    6数据库系统习题.pdf

    第一部分 客观题 (一... 当数据库的_____改变了,由数据库管理员对_____映象作相应改变,可以使_____保持不变,从而保证 了数据的物理独立性 (1)模式 (2) 存储结构 (3)外模式/模式 (4)用户模式 (5)模式/内模式 A、

    2数据库简答题.doc

    答 数据独立性是指应用程序和数据之间相互独立、不受影响,即数据结构的修改不引起应 用程序修改的特性。数据独立性包括物理数据独立性和逻辑数据独立性。物理数据独立 性是指数据库物理结构改变时不必修改现有的...

    C#数据结构

    本章首先说明学习数据结构的必要性和本书的目的,然后解 释数据结构及其有关概念,接着讨论算法的相关知识,最后简单介绍本书所要用 到的相关数学知识和C#知识。 1.1 数据结构 1.1.1 学习数据结构的必要性 我们...

    数据结构源代码解析 严蔚敏

    “数据结构”作为一门独立的课程在国外是从1968年才开始设立的。 1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和...

    软件工程习题4.doc

    为了提高模块的独立性,模块内部最好是( )。 A.公共耦合 B.控制耦合 C.内容耦合 D.数据耦合 5.为了提高模块的独立性,模块内部最好是( )。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 三、应用题 1.将第3章例题...

    数据结构课程设计学生成绩管理系统方案.doc

    "数据结构"作为一门独立的课程在国外是从1968年才开始设立的。 1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技 巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和...

    论文研究-基于最大信息系数的贝叶斯网络结构学习算法.pdf

    为了得到正确的节点次序,构造接近最优的贝叶斯网络结构,利用最大信息系数与条件独立性测试相结合的方法,提出了一种新的贝叶斯网络结构学习算法(MICVO)。该算法利用最大信息系数衡量变量之间的依赖关系,生成...

Global site tag (gtag.js) - Google Analytics