如果我已经知道OCaml,我应该学习Haskell还是F#?
我想知道我是应该继续学习OCaml还是应该改用F#或Haskell 以下是我最感兴趣的标准:如果我已经知道OCaml,我应该学习Haskell还是F#?,haskell,f#,ocaml,language-comparisons,Haskell,F#,Ocaml,Language Comparisons,我想知道我是应该继续学习OCaml还是应该改用F#或Haskell 以下是我最感兴趣的标准: 寿命 哪种语言会持续更长时间?我不想学习一些可能在几年内被用户和开发人员抛弃的东西 Will Inria、微软、格拉斯哥大学从长远来看继续支持他们各自的编译器? 实用性 像这样的文章让我不敢使用Haskell。哈希表是快速检索的最佳结构。Haskell的支持者建议使用Data.Map,它是一个二叉树 我不喜欢被束缚在庞大的.NET框架上,除非好处很大 我希望能够开发不仅仅是解析器和数学程序 设
- 寿命
- 哪种语言会持续更长时间?我不想学习一些可能在几年内被用户和开发人员抛弃的东西李> Will Inria、微软、格拉斯哥大学从长远来看继续支持他们各自的编译器?
- 实用性
- 像这样的文章让我不敢使用Haskell。哈希表是快速检索的最佳结构。Haskell的支持者建议使用Data.Map,它是一个二叉树李>
- 我不喜欢被束缚在庞大的.NET框架上,除非好处很大
- 我希望能够开发不仅仅是解析器和数学程序
- 设计精良
- 我喜欢我的语言保持一致
最终,语言编写者将找到一种方法,使OO语言能够与多核一起很好地工作,FP可能会再次落伍,但这似乎不会很快发生。这个问题没有简单的答案,但这里有一些事情需要考虑: Haskell和OCaml都是具有强大实现的成熟语言。事实上,Haskell有多种很好的实现,但我不认为这是它对您有利的主要方面 F#要年轻得多,谁能预测微软会把它带到哪里?你对此的看法更多地取决于你对微软的看法,而不是任何人能告诉你的编程语言 OCaml(或者一般来说是ML)是一种很好的实用语言选择,它支持做一些很酷的功能性工作,而不会强迫您以一种可能不舒服的方式工作。您可以充分利用代数数据类型、模式匹配、类型推断和其他人喜欢的东西。哦,还有物体 Haskell为您提供了所有这些(除了对象之外),但也或多或少地迫使您重新思考您所知道的关于编程的一切。这可能是一件非常好的事情,如果你想学习一些新的东西,但它可能比你想咬下来。我这样说是因为他可能只是在成为一名高效、快乐的Haskell程序员的道路上走了一半 OCaml和Haskell都被用来编写许多不同类型的程序,而不仅仅是编译器和人工智能之类的东西。谷歌是你的朋友 最后一点注意:OCaml为您提供了哈希表,但如果您真的想要接受函数式编程,那么在代码中使用它是不明智的。持久化树(比如Data.Map)确实是Haskell的正确解决方案,并且有很多好的属性,这是学习Haskell时需要了解的很酷的事情之一 长寿 没有人能预测未来,但是
- OCaml和Haskell多年来一直生活得很好,这对他们的未来是个好兆头
- 当F#搭载VS2010时,MS将承担至少5年的法律义务来支持它