User:Renamed user 63506961370/OCaml入门教程/(一)简介
外观
网络的中文圈里,有一些零星的OCaml介绍或教程,但大多都不成系统。OCaml的中文书籍也很少,所以要学习的需要看英文。在这几片系列文章里,我将翻译一些英文资料,并加入自己的理解,希望能够写成一部比较完整的入门教程。
简介
[编辑]OCaml是函数式的编程语言,与C/C++/C#/Java不同。OCaml原来称为Objective Caml,而Caml又是ML的方言(ML不是Make Love)。ML诞生自1973年,OCaml诞生自1996年。
从TIOBE编程语言排名来看,OCaml很少进入前50名,至少2013年10月没有。OCaml有个地方很吸引人,就是它的运行速度很快!根据xiaoR的测试,在不优化时,OCaml的速度是C的1.75倍;在优化时,OCaml是C的9.5倍(OCaml运行时间0.002s)。[1]在另一项测试中,OCaml和C旗鼓相当。[2]
- OCaml可以编译为字节码(类似C#的中间语言或Java的字节码);也可以编译为本地代码,这点C#做不到。
- OCaml可以编写图形界面程序。
- OCaml没有像C#那样有专门的集成开发环境——Visual Studio。
搭建开发环境
[编辑]在Windows里,去OCaml官网下载安装文件,安装即可。编写的话我用Vim。
OCaml有顶层环境(Toplevel),用来即时执行代码。在cmd里输入ocaml,就进入了顶层环境。在#号后面输入1 + 2 * 3;;
顶层环境就会返回- : int = 7
。
将以下代码写入D:\hello.ml,然后输入#use "D:\\hello.ml";;
[3]就在顶层环境里编译并执行代码,你会看到Hello World!输出在屏幕上。
print_endline "Hello World!"
编译代码不是在顶层环境里。如果你已经进入顶层环境了,在井号后面打#quit;;
就可以退出。
下面的命令把hello.ml编译成字节码
$ ocamlc hello.ml -o hello.exe
下面的命令把hello.ml编译成优化过的本地代码
$ ocamlopt hello.ml -o hello.exe
然后这么执行:
$ ./hello Hello World!
参考资料
[编辑]- ↑ xiaoR(2012年11月9日).走进OCaml的世界之环境搭建.於2013年10月19日查閱.
- ↑ C++ vs OCaml: Ray tracer comparison.於2013年10月19日查閱.
- ↑ 顶层环境的所有指令可以在The toplevel system (ocaml)找到。