Author Says
本专题为学习Nim Language的记录,部分采用翻译梗概的方法来讲述,部分是自己的认识和理解,如表述有不恰当之处,望请指正。
Notes : 本专题不定期更新。
Preface
原本是想在简书上面找找Javascript的资料的,不料动机太深,挖掘机硬是开垦到了Tulayang 写的一份专题Nim lang cookbook。然后跑去去Nim官网上瞅了瞅,上图:
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的语法认识阶段。
深夜了,明天还要上班,今天就写到这吧。
网友评论