免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: izhier
打印 上一主题 下一主题

haskell 初学问疑 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2009-03-27 13:30 |显示全部楼层
我觉得即使在命令式语言中,如果递归能够清楚的表达你的代码的意思,用递归很好。
“命令式语言不提倡用递归”这个观念应该改改。
毕竟“代码是写给人看的,只是偶尔让机器执行一下”。
而且“代码应该表达程序的逻辑,性能应该交给编译器去关心”。

当你写的东西完成后,在发布之前需要进行性能调优。
此时,通过profiling找出程序的关键路径,如果有某个递归调用的函数在关键路径上,并且由于递归消耗了大量的时间,此时,才应该考虑将这个递归改写成循环。

原帖由 izhier 于 2009-3-27 12:09 发表
还有一个问题,也是关于递归的

haskell 对递归进行优化,从而程序员可以大量使用递归
而 imperative 语言中不提倡运用递归,因为递归会消耗大量的资源

为什么 imperative 语言不对递归进行像 haskell 那 ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP