Nim教程【一】

这应该是国内第一个关于Nim入门的系列教程

什么是Nim

我们先来引述网友 Luikore的一段话:

Nim 不是函数式的, 但 Nim 支持卫生宏, 可以做 AST 重写, 可以自定编译规则, 是静态语言中的黑客语言有木有!  自定编译规则甚至可以编译出比 C 代码还快的结果, 作为 a better C 当之无愧.  人家 GC 可以手动步进的啊, 想要什么 feature 自己加(list comprehension? 没问题),  加个 const 就可以做编译期计算了(想想 C++ 和 D 里复杂难以掌握的 template 和 static if 多蛋疼),  改写 AST 的 pattern language 也是简单易懂(想想 Java 的 annotation processing tool 怎么用的就蛋碎...),  更重要的一点: 没有那么多哲学骑着你禁止你怎么怎么做, Go 能么?

官网介绍性文字的翻译(大概意思的翻译)

Nim(原名叫做"Nimrod"),是静态类型、命令式的编程语言。 Nim团队在编译期做了很多工作, 造就了Nim在不损失执行性能的前提下,提升程序员的编程效率 Nim有一个强大的,基于AST的宏机制;Nim在本地线程上有一个强大的实时垃圾收集机制;线程之间可以通过异步消息机制通讯;为了提供执行效率,Nim还提供了一个不安全的共享内存区。

安装Nim

先在 这里下载Nim开发环境的安装包

目前官网还只提供了windows平台下Nim开发环境的安装包

对于linux平台,需要自己下载,自己编译,

不过还是很简单的,因为Nim团队已经写好了编译用的python脚本

在windows上安装的时候,

有三个选项,其中MingW是必要的,

你自己没有安装的话,一定要勾选

第一个程序

打开我们的IDE,

Aporia本身就是用Nim语言开发的程序,有着色功能,但没有智能提示

当然,你也可以用记事本或其他IDE来写Nim程序

输入以下代码:

echo("Hello World!!! What's your name? ") var name: string = readLine(stdin) echo("Hi, ", name, "!") var b:string = readLine(stdin)

保存成以.nim为扩展名的程序

然后点击Tools->Compile Curent Files;或者直接按快捷键F4

用不了1秒钟,就会在程序所在路径下生成了同名的可执行程序

执行一下程序,看看结果:

喜欢请点推荐

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网技术栈

各业务Object概念(VO、 PO、DO、DTO、 BO、 QO、DAO、POJO)

在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库...

21770
来自专栏轮子工厂

如果你想学好Python,这几本书说不定可以帮助到你哦

8120
来自专栏一枝花算不算浪漫

购物车的原理及实现.(仿京东实现原理)

40350
来自专栏个人随笔

Java核心技术(Java白皮书)卷Ⅰ 第一章 Java程序设计概述

第1章 Java程序设计概述 1.1 Java程序设计平台  具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求.  可移植...

385100
来自专栏我就是马云飞

设计模式二十四章经之六大设计原则

15120
来自专栏撸码那些事

【封装那些事】不充分的封装

12820
来自专栏desperate633

Java程序员秋招面经大合集(BAT美团网易小米华为中兴等)

1, 自我介绍 2, 项目介绍 3, 项目架构 4, 项目难点 5, Synchronize关键字为什么jdk1.5后效率提高了 6, 线...

15820
来自专栏木头编程 - moTzxx

PHP 开发学习[6] —— PHP导出Excel表实例参考

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

10520
来自专栏H2Cloud

Event Store框架探究

摘要:   游戏开发中,经常会越到千奇百怪的Bug。后台程序都是以demon 方式运行,要么GDB,要么Log。一些确定性的bug可以直接使用GDB调试,比如特...

40770
来自专栏liuchengxu

代码健康: 减少嵌套, 降低复杂性

原文: Code Health: Reduce Nesting, Reduce Complexity

12020

扫码关注云+社区

领取腾讯云代金券