海纳百川
登录
|
登录并检查站内短信
|
个人设置
网站首页
|
论坛首页
|
博客
|
搜索
|
收藏夹
|
帮助
|
团队
|
注册
|
RSS
主题:
自由与自主
海纳百川首页
->
驴鸣镇
阅读上一个主题
::
阅读下一个主题
作者
自由与自主
所跟贴
Haskell我前一阵子研究过,感觉这种语言运行效率极低的吧,跟C,java等根本不是一个level的。
--
吴耐
- (234 Byte) 2011-11-12 周六, 上午7:58
(95 reads)
土一豆
加入时间: 2009/09/13
文章: 481
经验值: 16061
标题:
说Haskell运行效率极低是一种误解,
(280 reads)
时间:
2011-11-13 周日, 下午9:14
作者:
土一豆
在
驴鸣镇
发贴, 来自 http://www.hjclub.org
Haskell和lisp同属于functional programming language,不过Haskell是pure functional的静态语言,lisp是non-pure的动态语言。prolog另属一类,所谓logical programming language。
论起效率来,现代的common lisp和scheme效率并不低,common lisp更高一些,比流行的动态语言象python, perl, ruby, js这些似乎效率都高上不少。Haskell作为
静态语言,而且是近30年来类型理论,语言研究的集大成者,效率只有更高。但lazy evaluation和一些过于先进的编译器特性,会让Haskell的效率表现比较古怪,习惯eager evaluation和imperial language的人基本是没法预测程序的运行效率的。
不过要说Haskell编写起来极快,我绝对是反对的,对我这样资质不佳的人来说,绝对绝对,经常经常,比便秘还憋得难受,尤其是进入Monad的迷宫之后。
各种语言的效率对比,可以参考一下这个网站:
http://shootout.alioth.debian.org/u32q/which-programming-languages-are-fastest.php
仅供参考
关于递归函数,其中的尾调用(tail recursion)是可以直接编译成跳转语句的,所有的主流FPL编译器都有实现,imperial这边嘛,就很少了,ruby可能会有吧。
作者:
土一豆
在
驴鸣镇
发贴, 来自 http://www.hjclub.org
返回顶端
显示文章:
所有文章
1天
7天
2周
1个月
3个月
6个月
1年
时间顺序
时间逆序
海纳百川首页
->
驴鸣镇
所有的时间均为 北京时间
论坛转跳:
您
不能
在本论坛发表新主题
您
不能
在本论坛回复主题
您
不能
在本论坛编辑自己的文章
您
不能
在本论坛删除自己的文章
您
不能
在本论坛发表投票
您
不能
在这个论坛添加附件
您
可以
在这个论坛下载文件
based on phpbb, All rights reserved.
[ Page generation time: 0.190698 seconds ] :: [ 23 queries excuted ] :: [ GZIP compression enabled ]