天天记录 - 对强大的编程语言lisp的一点认知



    今天晚上看Lisp的本质一文,大呼过瘾。这个博客我非常不想写虚的东西,只想记录写自己技术方面的实现例子,通过例子来学习计算机知识。但是这边给我很大的震撼,原来我也感受到了编程的思想而不是具体的语法。

    每个人不喜欢学习高深的东西,是因为这些东西没有跟每个人之前所熟悉的连接到一起。

编程语言可以转化为计算机理解的语言

    Java, C , C++, C# 所有编程语言都是通过语法来定义语言,然后使用这些语法编写出代码,使用编译器等工具把按照这些语法定义解释给计算机。

    怎么解释的呢? 编译器的原理,是把代码解析成语法树(个人理解,语法树的每一个节点都是一条条的命令),每一条命令都可以直接翻译成汇编语言。

    什么是汇编语言? 我理解汇编语言是比java等语言更接近底层一些,它主要是一些命令,比如说3 + 5

    计算机是怎么执行的? 3 和 5都翻译成二进制, 然后通过与或运算得出结果

    为什么非得使用二进制? 因为物理限制,计算机使用二极管,而其只有两种状态,这两种状态可以用任何形式表示,阴和阳也行,而计算机专业使用0和1来表示这两种状态。

    为什么非得仅使用与或运算? 这个忘记了

    为什么非得使用二进制的,非得选二极管?  这个肯定就是图灵论文《论可计算数及其在判定问题上的应用》

                                                                                   可能是因为这个数学原理,或者说是基于多年来计算的历史(算盘,机械计算)


编程语言转化为一种中间语言(例如XML)

为什么非得使用xml语言呢?为什么非得使用一种中间语言呢?


再把中间语言转换为计算机语言






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值