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。

Nim语言:Pascal的语法,Python的缩进的更多相关文章

  1. 学习Nim语言.rar(nim语言中文教程下载)

    学习Nim语言 nim 语法上类似python ,是一门静态编译型语言,nim 使用空格缩进标示语句块的开始和结束, 喜欢python风格的程序员应该也会很容易适应和喜欢nim的风格. nim语言官方 ...

  2. python编程语言缩进格式

    python的缩进格式是python语法中最特别的一点,很多已经习惯了其他语言的朋友再去学python的话,开始会觉的不太 习惯. 怎么看怎么都觉的别扭,也有一些朋友因为这个特别的格式与python失 ...

  3. Python代码缩进与测试模块

    一.Python代码缩进 Python 函数没有明显的  begin 和  end ,没有标明函数的开始和结束的花括号.唯一的分隔符是一个冒号 ( : ),接着代码本身是缩进的. 例如:缩进  bui ...

  4. tn文本分析语言(二) 基本语法

    tn是desert和tan共同开发的一种用于匹配,转写和抽取文本的语言.解释器使用Python实现,代码不超过1000行. 本文主要介绍tn的基本语法.高级内容可以参考其他篇章.使用这样的语法,是为了 ...

  5. 【Python⑥】python的缩进,条件判断和循环

    缩进 Python的最大特色是用缩进来标明成块的代码. 这点和其他语言区别很明显,比如大家熟悉的C语言里: ) { num+=; flag-=; } 而在python中: if flag>= 0 ...

  6. python代码缩进

    习惯了java,c++之类的宽容,初学python,被它摆了道下马威,写if else,竟然必须要我正确用缩进格式,原来在python里不能用括号来表示语句块,也不能用开始/结束标志符来表示,而是靠缩 ...

  7. 终于懂了:Delphi的函数名不是地址,取地址必须遵守Object Pascal的语法(Delphi和C的类比:指针、字符串、函数指针、内存分配等)good

    这点是与C语言不一样的地方,以前我一直都没有明白这一点,所以总是不明白:函数地址再取地址算怎么回事? ------------------------------------------------- ...

  8. Ubuntu vim显示行号语法高亮自动缩进

    配置文件名为Ubuntu vimrc在Fedora中vim的配置文件存放在/etc目录中,配置文件名为Ubuntu vimrc在终端 输入以下命令来编辑Ubuntu vimrc配置文件:sudo vi ...

  9. Python 的缩进是不是反人类的设计?

    前些天,我写了<Python为什么使用缩进来划分代码块?>,文中详细梳理了 Python 采用缩进语法的 8 大原因.我极其喜欢这种简洁优雅的风格,所以对它赞美有加. 然而文章发出去后,非 ...

  10. GO语言的基本语法之变量,常量,条件语句,循环语句

    GO语言的基本语法之变量,常量,条件语句,循环语句 作为慕课网得笔记自己看 定义变量: 使用var关键字 var a, b, C bool var s1, s2 string = "hell ...

随机推荐

  1. ASP专栏——ASP生成静态文件(用于大量文章)

    对于Web开发人员来说,生成静态文件这个概念并不陌生. 对于Web开发来说,如何能避免客户端访问时不停的查询数据库?现在比较常用的有两种方法,一种是使用缓存技术,将查询出来的结果缓存至缓存框架中,以后 ...

  2. Microsoft server software support for Microsoft Azure virtual machines

    http://support.microsoft.com/kb/2721672/en-us  Article ID: 2721672 - Last Review: November 22, 2014 ...

  3. Gartner2014年魔力象限(商业智能和分析平台)

  4. SQLserver通过链接服务器连接oracle

    在SQLserver中一直使用的是DTS抽取数据,但是DTS微软只支持到2008,到了2012后就没有这个工具了,现在需要在SQLserver跟Oracle中间建立一个通道,借助这个通道,将Oracl ...

  5. Oracle RAC 11gR2 修改本地及SCAN监听端口

        昨天同事说有套RAC集群客户要求修改数据库的监听端口,在处理的过程中,发现网上的相关资料都不是很全面,所以整理了一下,希望给其他有需要的朋友提供一点有利的参考资料.具体操作过程如下:     ...

  6. auto和decltype

    auto 1.编译器通过分析表达式的类型来确定变量的类型,所以auto定义的变量必须有初始值. auto i=; //ok,i为整型 auto j; //error,定义时必须初始化. j=;     ...

  7. 如何在64位的Windows中安裝PLSQLDEVELOPER 8

    先到 Oracle 官網下載Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64) ,接者依照以下步 ...

  8. json 说明书

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...

  9. duilib中各控件响应的消息类型

    消息 说明 Sender click 鼠标点击 CButtonUI dropdown 下拉显示 CComboUI headerclick 点击列标题 CListHeaderItemUI itemact ...

  10. Learn know more about big data

    As we all know,we are in a big data age now."Every sword has two slides",as a ITer,we shou ...