如何有效地学习OCaml?

时间:2012-11-22 13:09:39

标签: functional-programming ocaml

好的,我是一名没有任何函数编程知识的Java程序员。

现在我已经学习了OCaml 2周,而且我对OCaml一无所知。

这里有几个教程和书籍:

https://stackoverflow.com/questions/2073436/ocaml-resources

但他们似乎都不友好。真的,我的意思是。

教程或书籍的

至少可以让我Hello World快速入门。两周后,我甚至不知道Ocaml的program entrance是什么(如main())。

我甚至不知道如何将OCaml代码真正写入文件,并以某种方式让OCaml编译它。

好的,投诉已经完成。

我必须学习并做得好。那么,请你给我一些学习的建议吗?我觉得OCaml非常默默无闻,很难理解。 请启发我的道路。

3 个答案:

答案 0 :(得分:15)

您是否尝试过TryOCaml网站?这可能是一个好的开始。

答案 1 :(得分:12)

4年前我第一次见到OCaml,我需要在大学的现有学生项目中添加一些小功能。我从OCaml tutorial开始,我理解这种语言有多棒。然后我尝试在OCaml中编写或多或少的大型程序,并开始询问社区问题。根据我的经验,我认为你需要同样的东西。选择最喜欢的编程领域(网络,unix工具,图形和游戏,桌面应用程序),为你的第一个应用程序选择一个不太大或太复杂的项目。我认为OCaml社区可以帮助您做出决定。您可以通过maillist与他们联系,但我更喜欢Freenode IRC服务器。然后只需编写一些代码,如果有什么奇怪的问题,请致电!

祝福, 卡卡杜

P.S。我希望OCaml成为你们下一个大爱,因为它已成为我们许多人的爱。

答案 2 :(得分:7)

根据我的个人经验,我发现对λ演算的良好了解为学习任何功能语言提供了良好的入口(平台)。但这又是我对函数式编程的介绍,所以我无法将其与其他方法进行比较。

您可以从this tutorial获得对λ演算的良好介绍。然而,它需要一点点数学思考,可能太无聊,无法自己学习。理想的是从大学的λ演算或函数式编程的基础上学习一个模块。

但请注意,λ演算主要仅涉及functions方面。但是一旦你理解了计算的功能方式,语言的其余部分应该很容易解决(至少我的感受)。

不确定我是否帮助或使其更加混乱。