Nim语言:Pascal的语法,Python的缩进
http://nim-lang.org/
德国人Andreas Rumpf的作品,原因是他对过去使用的每种语言都不满意(Pascal也不满意?)。以前叫Nimrod语言,从0.96版本开始改名为Nim。它在2008-08-22发布了第一个公开版本0.6.0,也是第一个可以自编译的版本。目前处于pre-1.0阶段。从1.0开始将不会再有不兼容的语法(breaking changes)。它的其中一个目标是,保证编译器尽可能的有效,几乎与C/C++速度一样快。它的asyncdispatch模块允许你做有效的Web服务器程序,并且内建线程池。
它有以下特点(仅举例一小部分):
1.并发模型
2.深度拷贝
3.procCall 得到多个相似方法
4.experimental模块化
5.编译器支持混合语法:Objective C / C++ / C,通过importCpp和importObjc导入
6.使用自动证明技术,自动并发多线程,而不需要锁
7.生成原生代码,不需要虚拟机。自带快速垃圾收集器。
8.可以直接操作硬件
9.内建动态方法,并可以没有VPT虚拟表
10.自动删除无效代码
11.可运行于 Windows, Linux, BSD and Mac OS X,但只提供了二进制Windows版本下载,其它平台要自己编译。
12.Nim可以产生C++或者Objective C的代码
13.已经绑定到GTK2, the Windows API, the POSIX API, OpenGL, SDL, Cairo, Python, Lua, TCL, X11, libzip, PCRE, libcurl, mySQL and SQLite
下载:
http://nim-lang.org/download/nim-0.10.2_x32.exe
http://nim-lang.org/download/nim-0.10.2.zip
最最关键的,它的FAQ中提到:为什么要再发明一门新语言?回答是:Nim是非常稀少的可编程静态类型语言,它可以产生原生二进制代码(这样的语言甚至更少),不需要运行库和解释器。
其次关键的,是根据什么语言的影响来设计的?回答是:按照顺序:Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon
第三关键的,它采用MPL许可证,目前托管于GITHUB上,大家可以任意修改和fork。