函数式语言很好,因为它们通过消除状态来避免bug,而且还因为它们可以很容易地自动并行化,而不必担心线程数量。
但是,作为一个Win32开发人员,我可以使用Haskell为我的应用程序做一些动态链接库吗?如果我这样做了,是否会自动为我带来真正的优势?如果是这样的话,是什么给了我这个优势,编译器?
F#会自动将你编写的跨多个内核和cpu的函数并行化吗?你会看到任务管理器中的线程数量增加吗?
基本上我的问题是,我如何开始以一种实际的方式使用Haskell,如果我这样做了,我真的会看到一些好处吗?
发布于 2008-09-27 04:41:15
看起来“真实世界哈斯克尔”这本书就是你想要的。你可以在线免费阅读:
发布于 2008-09-27 04:16:58
F#不包含任何会将功能传递给不同的CPU或机器的魔法小精灵。F#/Haskell和其他函数式编程语言所做的就是使您能够更容易地编写可以独立于创建它们的线程或CPU来处理的函数。
我觉得在这里发布一个我参与的播客的链接是不对的,这似乎有点离谱,但在我们与Matt Podwysocki交谈的羊群代码一集中,我们问了同样的问题,他给出了一些有趣的答案。在那一集中也有很多关于函数式编程的很好的链接。我找到了一个标题为"Why Functional Programming Matters“的链接,它可能会为你提供一些答案。
发布于 2008-09-29 07:10:29
这可能也很有趣:"Real World Functional Programming“
F#和C#中都有示例,但其理论相当通用。根据我所读到的(预发布),它肯定很有趣,但到目前为止,我认为这让我越来越想坚持使用C#,使用像并行扩展这样的库。
https://stackoverflow.com/questions/142948
复制相似问题