统一场和机械证明
这两周看的两门语言分别是Io和Prolog 这大概是这本书里最小众的两种语言了 小众得让我以为会挑不出什么东西来写
当然 结果并未如我所愿
先来说说统一场(Io)
这又是门极有特色的语言,首先它属于比较小众的原型语言(这类型的语言中最出名的是web界的通用语言:javascript.)
原型语言很酷的一点在于它的上下文(context)可以用一条线连接起来,同样具有这种非凡特质的还有emacs中的undo。
原型语言的设计思路很奇葩 相比而言 过程式语言和函数式语言都很明确的是对变化的一种程序映射
面向对象的思路更清晰 就是反应'物化'这一事实 有一点庄子的味道
至于原型语言 要更玄学一点 有'道生一 一生二 二生三 三生万物'的意思
当然这还不是Io最大的特点 Io的最大特点在于它的语法
Io的语法完全可以用一条表达式来概括: 对象 方法 参数
这里的对象和方法之间不是加'.'或者'->' 而是空格 这个简单的变化 就把这门语言所有的语法都表达完了
比如说 1 + 2 就代表1这个对象调用+这个方法 这个方法包含2这个参数
甚至是关键字IF 如IF (condition, true code, false code) 同样可以用方法的角度来看
至于这里没有对象 则由于'原型'语言的特性 从万物到三 再到二 再到一 最后至道
在原型语言中Obejct就相当于'道' 这里的if就如同object.if
除此之外 再无其他语法 更别说语法糖了
这也是为什么在看完这章后不由地让我想起统一场理论 物理学家企图囊括所有基本作用的理论
这依然有道家 万物之始 大道至简的思想在里面 相当奇妙
如果说Io是一门物理学口味的编程语言 那Prolog就是数学家的作品
Prolog与其它所有类型的编程语言几乎都不相同 是一种声明式语言
这么说实在有点莫名其妙 而且解释起来也相当麻烦 而用我的理解来说 Prolog相当于是另一种需求下的SQL
记得当初学SQL的时候看到一句话 SQL是第四代编程语言 其特点是不需要告诉计算机怎么做 只要说做什么就好了
而按照这个标准 Prolog则属于第五代语言 连做什么也不用说 只要说能做什么就行了
有趣的是 SQL在1974年才开始在实验室中使用 到1979年才正式推出 而Prolog早在60年代末就开始研制 1972年正式推出
Prolog让我想起高数的一个笑话 首先 我们知道1+1=2 于是我们可以推到出莱布尼茨方程 柯西不等式 傅里叶展开等等等等...
虽然 这只是个笑话 不过在浩瀚数学史上 确实有许多逆天强者曾干过这些事 比如笛卡尔鼓捣出了解析几何 还有哥德尔不完备定理等等
至于Prolog 则提供了在数学家脑子不够用的情况下的一个帮助
就像我们知道统计学家在脑子不够用的时候会用R和excel一样 虽然我不确定这是不是对的 但既然我的程序说这是对的 那就是对的吧
本文来源 我爱IT技术网 http://www.52ij.com/jishu/3838.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
