Chinaunix首页 | 论坛 | 博客
  • 博客访问: 471507
  • 博文数量: 120
  • 博客积分: 3052
  • 博客等级: 中校
  • 技术积分: 1755
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-01 09:43
文章分类

全部博文(120)

文章存档

2011年(20)

2010年(3)

2009年(52)

2008年(45)

我的朋友

分类: LINUX

2011-04-30 15:08:52

lisp 的开发原则是, 自下而上, 从小到大, 建立从思维概念到应用领域的映射, 从而实现 DSL, 用问题领域的概念来思考问题, 而不是用电脑领域的概念来思考.

用 haskell 写的毕业设计, 加上注释才 114 行的代码就让我知道了, 从更高的维度思考问题, 代码会多么简单.
在这点上, haskell 可以算是一种新兴的语言, 说实话, 它很强大, 但是:
1, 它太纯了, 要实现副作用, 比较麻烦
2, 它是静态类型推导的, 比较严格, 我不是太喜欢
3, 它基于范畴论, 我的数学基础还远没有到那个深度
4, 它调试和开发起来比较慢, 在我看来, 经常因为一些诡异的错误编译不能通过, 相比 REPL, 要困难得多, 而 REPL 的思考和开发方式, 正是我的思维方式. 像 ghci 这样的东东还是很好的.
5, 它是一种相对较新的语言, 还在不断变化, 版本之间的兼容性(6 和 7 之间就有很多不兼容) 尚需要时间的磨练, 而 lisp 已经经历了半个世纪之久, 基本没什么变化.


当然,它也有好外
1, 编译生成 obj, 体积也比较小, deploy 比较方便
2, monad 这种纯粹从数学映射过来的想法, 无疑是强大的 ( 只是我暂时没看出它的用处 )
3, 纯粹的 deep copy
4, 完全数学形式上的函数定义
5, 功能强大的 list comprehension
6, 优美的 curry
7, lazy
8, 数据和函数真的没有区别, 看不出来什么是数据, 什么是函数 ( common lisp 中有时还是需要标记的)

所以, 我现在更倾向于学习 lisp, 当然, 后面还是要深入学习 haskell 的.
阅读(3184) | 评论(0) | 转发(1) |
1

上一篇:emacs tips

下一篇:lisp 的一些重要概念

给主人留下些什么吧!~~