首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要用'runhaskell‘命令?

为什么要用'runhaskell‘命令?
EN

Stack Overflow用户
提问于 2016-07-11 10:30:10
回答 1查看 944关注 0票数 0

阅读http://blog.haskellformac.com/blog/running-command-line-programs

这需要安装上一篇文章中概述的Haskell命令行工具。这些工具包括一个名为runhaskell的命令,它以“脚本模式”运行Haskell程序--也就是说,正在对其进行解释,而不是编译(例如,Python解释器运行Python脚本)。

为什么要提供一个在脚本模式下运行haskell的工具?

当对代码进行解释时,这是否意味着它在脚本模式下会运行得更慢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-11 10:44:10

是的,它会运行得更慢,但取决于应用程序,这可能根本不重要。实际上,许多有趣的任务并不需要大量的计算,因此您甚至不会注意到,比如Java和Ruby之间的运行时差异,尽管后者的性能被认为要差得多。

对于这样快速运行的应用程序来说,更重要的是启动时间。对于解释语言,这通常是非常直接的,而重新编译脚本可能需要相当长的时间。因此,在实践中,口译确实可以比编译更快!

此外,仅仅因为脚本被解释并不意味着每一个计算都是。事实上,大多数关键的东西都是在库中定义的,这些库都是编译的,只有从解释的代码中调用--这就是Python或Matlab这样的语言在科学计算方面具有竞争力的唯一原因:计算密集型的例程实际上是用编译的C或Fortran编写的,而不是顶层语言本身!

Haskell为您提供了这两个世界的优点(编译语言的快速原始性能;解释语言的快速使用和简洁),但不需要实际使用两种不同的语言--您只需选择运行编译的部分和仅解释的部分!

(这并不是说这是Haskell的独特之处-事实上,几乎所有已编译语言都有解释器。只是,除了调试之外,运行解释过的代码通常并不常见。但是,Haskell非常适合编写脚本任务,这些任务通常是用Python或Bash编写的,但是没有人愿意为这些任务购买整个Java或C++项目。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38304703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档