把戏、杂技和先辈的括号——献给住在计算机内的神灵们

数学家们用奇怪的符号组成美妙的式子来表达具有深刻逻辑性的思想。

工程师们不但有从数学家那里继承来的严谨形式化体系,他们还有……呃,NULL和指针!

图灵机和λ-演算,前者在冯·诺依曼体系的补充下显得更加地“工程”,相较之下后者却更加地“数学”。作为两种模型体现,C语言和Scheme(Lisp)完全就像是两种极端:[一个是红外线,而另一个是紫外线] 1

那些说C语言的人,他们甚至能经常看到新鲜的二进制位。你总是会看见他们拿着大刀在这些比特上砍砍削削!可是他们的大刀又太锋利,稍有不慎坎坏了那些比特不说,还经常弄伤自己。

而那些满嘴Lisp方言的人,他们似乎住在一个耸立天际的高塔中。他们会建立各种各样的抽象层,将一些底层的思想给隔离开来。呵,这又是如此的巧妙!那些住在塔顶层的人们,似乎还没发觉这座塔是由他们之中那些能工巧匠“凭空”建造的!

在C语言或者是Java语言的程序员眼中,Scheme(Lisp)程序员不但是阴谋家,而且是一个叨念咒语、步履蹒跚的巫师。但更多的时候,这些巫师更像马戏团中的抛球小丑:他们总善于将大量的括号抛起在空中,又准确地稳稳接住。嘘!千万不要奇怪这些括号中会混入像lambdaeval-apply这样的诡秘东西——这也是他们善用的把戏!

换个角度来说,Scheme(Lisp)远比C语言要亲和数据结构:广义表(S-表达式)已经作为Scheme(Lisp)的语法基石深深地奠基在语言核心中,通过使用cons,我们可以将原子构建成表,甚至可以将原子和表组成新表!我们将看到……由于图灵等价的论断,凡是C语言能描述的数据结构,Scheme(Lisp)都能够模拟!

我们的雄心,并非需要malloc()才能开辟。保持一颗对数学虔诚探索的心,一种对工程谨严思辨的精神,我们将开始用远古的咒语来颂唱不太久远的诗篇。并谨以此献给那些住在计算机内的神灵们!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值