开发者社区> 问答> 正文

Lisp“代码即数据”与“数据结构+算法=程序”冲突吗?

Lisp“代码即数据”与“数据结构+算法=程序”冲突吗?

展开
收起
知与谁同 2018-07-20 11:33:37 1774 0
1 条回答
写回答
取消 提交回答
  • 云栖社区聚能聊、问答管理员~发福利、搞怪,八卦我来,论技术、发话题、写博客你上!
    1,数据结构+算法=程序
    这个的理解思路是偏C风格的.对C而言,将复杂度放在数据结构内,而不是在代码内,是很好的编程思想,避免了很多无谓的东西.比如,链表等等.
    2、对lisp而言,代码即数据,更多的是说其宏的能力(这里是lisp的宏,与C内的宏完全不同,不要误解).
    也就是可以通过自定义来完成代码的自动生成,提高了代码过程的抽象性.这样一段代码,就可以像操纵数据一样,通过宏组织为自动生成/展开的代码.
    3、由此,可以看到二者是不矛盾的,至少不是说的同一件事情.
    而且对于lisp而言,充分发挥了链表这一数据结构的威力,也可以看作是数据结构为根基,构建程序的一个例子.
    2019-07-17 22:53:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
“大数据+算法”助力B2B未来商业 立即下载
数据+算法定义新世界 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载