Learn Nim As A Newbie (Part 0)

Author Says


本专题为学习Nim Language的记录,部分采用翻译梗概的方法来讲述,部分是自己的认识和理解,如表述有不恰当之处,望请指正。

Notes : 本专题不定期更新。

Preface


原本是想在上面找找Javascript的资料的,不料动机太深,挖掘机硬是开垦到了Tulayang 写的一份专题Nim lang cookbook。然后跑去去Nim官网上瞅了瞅,上图:

Learn Nim As A Newbie (Part 0)_第1张图片
Nim Code Style.png

挖槽,这种类Python的代码风格是怎么回事!简直是太喜欢啦,二话不说,当个菜鸟去踩门槛吧。

Getting Started


Welcome to Nim


Nim是一种静态类型、命令式的系统级编程语言,它支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。
Nim的设计集中在三个E上:即效率(Efficiency)、表达能力(Expressiveness)和优雅(Elegance)。

3E


  • Efficiency

    • 不依赖于虚拟机
    • 支持弱实时系统的快速非追踪垃圾收集器
    • 可手动管理内存,直接访问硬件
    • 跨模块内联
    • 强大的元编程能力
    • 无用代码自动消除
    • etc ...
  • Expressive

    • 编译器和标准库都用Nim实现
    • 内置高级语言的数据类型:字符串、集合、序列等
    • 可自定义操作符
    • 抽象语法树
    • etc ...
  • Elegant

    • 即使是元编程也并无二致的代码风格
    • 足够灵活的语法特性
    • 优秀的缩进策略
    • etc ...

Extendable


  • Nim 编译器可在多平台运行
  • Nim 编译器可产生C++、Objective-C代码
  • 已绑定到多种语言:GTK2, the Windows API, the POSIX API, OpenGL, SDL, Cairo, Python, Lua, TCL, X11, libzip, PCRE, libcurl, mySQL and SQLite
  • 使用c2nim可以轻松绑定到C代码

Conclusion

Part 0主要对Nim进行了简单的介绍,以及Nim的一些特点。
Part 1将进入Nim的语法认识阶段。
深夜了,明天还要上班,今天就写到这吧。

你可能感兴趣的:(Learn Nim As A Newbie (Part 0))