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

关于函数式语言的只言片语

阅读更多
1. 函数式语言可以合理的看作是泛函分析思想的一种体现,从历史发展的时间上看大概也是具有这种可能性的。在Backus的论文中对函数式语言的一种乐观的情绪甚至扩大到functional algebra can be used to tranform programs and to solve equations whose "unknowns" are programms in much the same way one transform equations in high school algebra。这种信心只能来源于泛函分析和方程论,来自于数学分析学的发展。将函数的函数作为分析对象就构成泛函分析。泛函分析的最核心的思想当然不等价于它所研究的那些无穷维空间,不等价于种种正交基的构造。它的思想核心在于函数的函数具有独立的分析价值,具有脱离数量空间的具体的结构。这也是函数式语言试图推销的一种理念。


2. 最近这些年来一种称为"范畴"(Category)的东西在计算机理论研究中频频出现。范畴论是从同调代数发展而来的一种较新的代数语言,但它显然也不是可以解决任何问题的灵丹妙药。多一种表达方式当然在某种程度上可以增进我们的理解。但是范畴本身只是研究一种基础结构,它本身并没有承载所有的物理事实,基于它不可能对所有的规律一网打尽。不是明白了范畴,就懂了程序。范畴论是一种基础性的语言,有些人致力于基于范畴论来构建数学的其他分支,取代集合论的地位。将计算的本质重新归结于范畴论是无意义的,它不过是对事实的另一种陈述方式。说“函数式语言是基于范畴”是无意义的,因为这和说“所有现代数学都基于集合论”一样。无法发现新的相互作用关系,所有的概念都只是同义反复。不是一拿起数学,就找到了组织。

3. 我对函数式语言并没有什么反对意见。它是非常重要也非常优美的一种技术思想。但是现在一些函数式语言的狂热支持者似乎对函数世界充满了乌托邦式的幻想,一种大一统的世界观让人迷醉,但是它却解决不了现实的问题。所以我说无法认同函数式编程的世界观。作为一种具体的技术工具,问题不在于函数式语言是否体现了计算的本质,而在于它是否向我们提供了称手的兵器。现在我要计算两个小球相互碰撞的问题,我可以操起广义相对论,量子力学啥的开始大干一场,也可以用个牛顿力学小试牛刀,甚至可以只用反射关系摆个等式。但是在绝大多数情况下我们都会说这里面的物理是弹性反射而不是相对论。在理论分析中我们经常使用平面波假设,但只要实际关心的对象不在波包的边缘,没有人会认为平面波不是真实的物理机制。理论物理不是理想物理。在具体的参数设定下,我们只会使用特定的物理学。

   对世界的认识并不是非此即彼的。并不是说函数式语言好它就永远都好,要把所有对立面都灭掉。也不是说函数式不好,命令式就必然的好,就必然的能够解决问题。函数式语言的世界观过分单纯而排他,这是我反对的,我同样无法认同面向对象的本体论论调。就像CISC和RISC架构之争一样,最终我们在现实的物理约束下,运行的最好的芯片是两者思想的结合。这是我们面对物理世界的基本态度。
  
4. 函数式语言中时间是个有趣的概念。命令式语言中因为赋值语句的存在,使得我们可以观测到状态的变化,因此必然要定义时间。而函数式语言是无状态的,可以是无时间概念(对Lazy Caculation的依赖是否体现了深层次上对时间概念的需求?)。有些人认为函数可以看作是相空间中的迁移函数,是与相对论协调的,因而反映了时间的本质等等。相对论主要是解决了物理规律的协变性的问题,在此过程中它使人们认识到了时空之间奇异的对称性。但是广义相对论的表述中时间也是可逆的。真正定义了时间之箭的是热力学第二定律。根据Landauer's principle: 擦除(erase)1比特信息,耗散到环境中的能量至少是k*T*ln2, 或者说熵增至少是k*ln2. 这意味着只要我们对眼前的黑板不停的写了擦,擦了写,就必然无法回到过去。物理世界是复杂的。

5. 如果将状态看作是可以附着在某个对象上的标记,显然状态的存在性便于我们识认概念的唯一性。对象还是那个对象,只是状态标记发生了变化。而如果系统中没有状态,则必然产生了一个新的概念。这在很多情况下是不必要的负担。状态的存在使得系统在局部结构上允许出现非常复杂的变化,函数式编程的拥趸们对此多有诟病。但是从另一个方面上说,状态使得我们可以基于局部信息处理很多问题而不需要把它扩大化为一个全局匹配问题。

6. 函数构成函数似乎是很完备统一的世界。 但是在物理世界中发生的一切却复杂的多。虽然世界可以还原为原子,但是原子构成分子,分子构成宏观物质时,系统的基本性状发生了本质性的变化,并不再是统一的形式。每一个层面上都会产生独立的结构规律。

7. 函数式语言和命令式语言的计算能力相同(可以相差一个任意长度的多项式时间),但是在具体的情形下它们的描述能力是不同的。我所关心的不是语言层面的问题,因为语言本身的能力并不足以解决现实开发中的所有问题。即现实开发中所需要处理的结构问题并不是在语言层面得到充分解决的,这是我们需要做工作的地方。

   关于现实中的结构问题,我无意去定义什么万能的描述能力。你可以用微分几何,积分几何,广义变分等等手段去证明圆盘是某种意义下的周长最短的东西,但是这一切对你发明轮子并无本质上的助益。不过可以说说现实中的结构。这里不是要证明某种语言中无法描述这些结构,而是说结构是客观存在的,它并不是要在基础语言层面得到充分解决的。实际上现在的通用语言也是无法有效承载Domain Specific Structure的。

A. ErLang大概是目前世界上应用最为深入的函数式语言了。它确实发挥了函数式语言无显式状态变量的优势。但是它对程序构建本质上的帮助更多的来源于无共享的超轻量级进程模型,相当于定制了一般操作系统所提供的基本服务。微软的一个实验性操作系统项目Singularity, 其中也定义了只通过消息传递发生数据关联的超轻量级进程模型,它使用C#的一个扩展语言,额外增加的功能是消息管道上定义的规格状态机,对消息交互的时空模式进行额外的规约。这里对我们真正有价值的是隔离的单元结构。

B. AOP是程序结构空间中的定位和组装技术。在Witrix中我们规范化了切点处的状态空间,并对AOP进行了偏置处理.这种结构调整大大提高了AOP的可用性,使得它成为Witrix中的核心技术手段之一。

C. 面向对象的继承关系从结构观点上看是两个一维集合之间的覆盖关系。在Witrix中扩展了extends所对应的结构操作,创造了新的结构融合手段。
分享到:
评论

相关推荐

    只言片语的启迪.doc

    只言片语的启迪.doc

    2022最新版HTML只言片语网站导航模板

    采用HTML+CSS+JQ开发的最简单的静态页面,搭配GitHub pages或者是coding pages食用效果最佳! JS放在keyword.js中,HTML+CSS太过... 我看起来非常不错,简洁大方,后期可以加入用户登录,用户管理,收藏等等功能。

    zypy:“只言片语” 游戏的计分系统

    JavaScript是一种广泛应用于Web开发的脚本语言,它允许在浏览器端动态更新内容,非常适合用于构建交互式的网页应用。在"ZYPY"项目中,JavaScript不仅负责处理用户界面的交互,还负责管理游戏逻辑,包括计分系统的...

    JSP相关语言设计与论文

    关于利用JSP相关开发语言进行的一个小型系统的设计,制作一个供小型社区、集体交流和互动的信息传播平台——属于我们的交流平台——只言片语网。

    国家公务员面试技巧:从“只言片语”到“侃侃而谈”.docx

    为了帮助考生从“只言片语”提升至“侃侃而谈”,下面将详述三大核心面试技巧。 **训练政府思维** 政府思维是国家公务员面试考察的核心要素之一。这种思维能力要求考生能够从国家政策和政府工作的角度去思考问题。...

    函数的图像.pdf

    2. 坐标系:从文件内容的只言片语中,可以看到提到了坐标系(xy轴)中的点和线。例如,坐标点如P(2,4),说明了直角坐标系中的点可以用来绘制函数图像。 3. 函数方程:内容中出现了许多变量符号和数字的组合,如 y =...

    读《雍正皇帝》有感只言片语之序篇600字.docx

    在阅读历史小说《雍正皇帝》之后,我体会到了一个千回百转的历史世界,一段跌宕起伏的帝王生涯,以及一个充满争议的统治者形象。这部小说不仅让我深刻感受到了阅读体验的重要性,同时也让我认识到了历史小说在教育上...

    mood:只言片语系统源代码,PHP + MySQL原生“心情”管理系统

    只言片语 本项目是我的个人心情管理系统-“只言片语”的源代码,地址: ://mo.yqc.im mood.sql 整个项目的数据库文件,提供了数据库结构,有一些测试数据 安装说明 修改conn.php为您的数据库用户名和密码。另存为...

    高仿微博社交系统.doc

    相对于强调版面布置的博客来说,微博的内容组成知识由简单的只言片语组成,从这个角度来说,对用户的技术要求门槛很低,而且在语言的编排组织上,没有博客那么高; 2.多平台 微博开通的多种API使得大量的用户可以...

    keenotes-desktop:KeeNotes is a Privacy-Preferred Personal Knowledgebase Management Tool 自己的只言片语和念头也需要一个数字烂笔头儿

    自己的只言片语和念头也需要一个数字烂笔头儿 It's light, it's small and it's confined for you only. Since I have continuously polish this tool, I would like to share it with you. I hope you can give it ...

    C++入门基础知识

    变量的作用域和存储类别、函数、数组、字符串、指针、文件、链表等。一些最基本的概念在此就不多作解释了,仅希望能有只言片语给同是C++语言初学者的学习和上机过程提供一点点的帮助。

    空间描述句子唯美简短20字以内.pdf

    心理描绘通过只言片语便能揭示人心的矛盾与复杂。例如,“一念繁华一念灰,一念成悦,处处繁华处处锦。一念成执,寸寸相思寸寸灰”这样的句子,传递了人在一念之间的变化,以及由此引发的不同情感体验。 同时,人生...

    asp的校友微博 微波

    相对于强调版面布置的传统型校友录来说,校友微博的内容组成只是由简单的只言片语组成,从这个角度来说,对用户的技术要求门槛很低,而且在语言的编排组织上,没有校友录那么高,只需要反映自己的心情和观点,不需要...

    C语言难点分析整理.rar_C语言_上机_链表 c语言

    涉及的主要内容包括:变量的作用域和存储类别、函数、数组、字符串、指针、文件、链表等。一些最基本的概念在此就不多作解释了,仅希望能有只言片语给同是C语言初学者的学习和上机过程提供一点点的帮助。

    部编人教二年级上册语文园地五完整PPT课件PPT学习教案.pptx

    接着,PPT介绍了不同类型的成语和词语,如“不言不语”、“只言片语”等,引导学生理解其含义并找出近义词,如“三言两语”和“只言片语”是近义词。这有助于孩子们扩大词汇量,理解语言的丰富性。 在“选词入境”...

    四年级语文上册 第三单元 14《字的敬畏》精品教案 冀教版-冀教版小学四年级上册语文教案.doc

    - 另一方面,汉字的历史悠久,每个字都有其独特的含义和韵味,即使只言片语也能蕴含深意。 通过这样的教学,学生不仅学习了新的生字,还深入理解了汉字的丰富内涵和深远影响力。同时,教学过程中的互动讨论和多...

    二年级语文上册 第五单元基础达标卷 新人教版-新人教版小学二年级上册语文试题.doc

    在词语应用方面,学生需要填写含有特定字的成语,如含有“言”的成语,例如“只言片语”、“三言两语”,这不仅考察学生对成语的记忆,还考察了他们对成语的理解和实际运用能力。而根据意思写四字词语,如“无边无际...

    CC校友微博TM v5.1.0.rar

    相对于强调版面布置的传统型校友录来说,校友微博的内容组成只是由简单的只言片语组成,从这个角度来说,对用户的技术要求门槛很低,而且在语言的编排组织上,没有校友录那么高,只需要反映自己的心情和观点,不需要...

    CC校友微博TM v5.1.0 ASP 免费版.rar

    相对于强调版面布置的传统型校友录来说,校友微博的内容组成只是由简单的只言片语组成,从这个角度来说,对用户的技术要求门槛很低,而且在语言的编排组织上,没有校友录那么高,只需要反映自己的心情和观点,不需要...

    浙江省杭州市杭州二中2020学年高二语文6月月考试题(含解析).doc

    至于“吉光片羽”,这个成语源自古代神话传说中神兽吉光的毛,后用来比喻珍贵的残存物或事物的只言片语。在选项D中,将其用于形容时间短暂,显然与成语原意不符,因此是错误的用法。 此外,试卷还涉及了其他成语的...

Global site tag (gtag.js) - Google Analytics