在Erlang编程的开头,有以下内容:
是什么让Erlang成为您项目的最佳选择?这取决于你在看什么 建立。如果你正在考虑编写一个数字运算应用程序,一个图形 - 密集系统,或在手机上运行的客户端软件,对不起,你 买错了书。
隐含的信息是Erlang不适合计算成本高昂的工作。是什么让Erlang如此不合适,或者我误解了?
答案 0 :(得分:13)
Erlang为I / O绑定的应用程序提供支持,即限制因素是I / O操作的延迟和吞吐量,而不是指令可以通过CPU管道推送的速率。 Web服务器和数据库是I / O绑定应用程序的良好示例:限制因素可能是磁盘和网络而不是CPU。传统上“计算量大”的应用程序包括加密工具和科学模拟。
至于为什么Erlang在遇到计算密集型问题时无法匹配像C和Fortran这样的语言,我们必须考虑代码生成和缓存友好等问题......我会试一试:
请记住,这只是冰山一角,我绝不是Erlang或语言实现方面的专家。不要让Erlang可能永远不会进行科学模拟的事实吓到你了;对于许多应用程序来说,它是一种非常棒的语言。
* HiPE可通过Debian中的erlang-base-hipe包或源代码tarball中的./configure --enable-hipe
获得。
答案 1 :(得分:10)
只是C代码在大多数情况下可能会相当快。 Erlang非常擅长容错,分布式计算和并发。程序员往往同样精通编写erlang或其他语言,但如果你想要速度,可以使用C或C ++,也许来自erlang端口,所以这段代码可以从你自己的erlang应用程序中使用。
答案 2 :(得分:9)
Erlang是一种并发函数编程语言,专为编写大型工业实时系统而设计。没有什么能够特别阻止您开发“数字运算应用程序或图形密集型系统”,但该语言在实时事件处理中非常流行。