Nim 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Nim 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Nim 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2012-09-24

软件简介

Nimrod(已改名为 Nim)是一种静态类型的编译系统编程语言。它结合了 Python、Ada和Modula等成熟语言的成功理念。

高效的

  • Nim生成不依赖于虚拟机的本机无依赖可执行文件,这些可执行文件很小并且允许重新分配。
  • Nim编译器和生成的可执行文件支持所有主要平台,例如Windows,Linux,BSD和macOS。
  • 在C ++和Rust的启发下,Nim的内存管理是确定性的,并且可以使用析构函数和移动语义进行自定义。它非常适合嵌入式,硬实时系统。
  • 诸如零开销的迭代器和用户定义函数的编译时评估之类的现代概念,与在堆栈上分配的基于值的数据类型的首选项相结合,导致了性能极高的代码。
  • 支持各种后端:它可以编译为C,C ++或JavaScript,因此Nim可用于所有后端和前端需求。

富有表现力的

  • Nim是独立的:编译器和标准库是在Nim中实现的。
  • Nim具有强大的宏系统,可以直接操纵AST,提供几乎无限的机会。

优雅的

  • 宏无法更改Nim的语法,因为不需要它-语法足够灵活。
  • 具有本地类型推断,元组,泛型和和类型的现代类型系统。
  • 语句按缩进分组,但可以跨越多行。

示例代码:

import strutils

echo "Type in a list of ints of ints (separate by whitespace): "
let tokens = stdin.readLine.split
echo tokens.each(parseInt).max, " is the maximum."
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(7)
发表了资讯
05/13 08:25

Nim v2 提案:取消风格不敏感的语法特性

Nim 语言核心开发者 Dominik Picheta 发表了一项关于 Nim v2 的提案。 他说到,Nim v2 正在开发中,这将是一个向后兼容的版本。v2 最初的计划只是将 gc 更改为默认采用orc。但现在他有了更具野心的想法 —— Dominik Picheta 建议在 Nim v2 中取消风格不敏感 (Style Insensitivity) 的语法特性,让 Nim 成为完全区分大小写的编程语言。他表示,之所以这样提议不是因为风格不敏感导致错误,或让不熟悉 Nim 的人造成困扰。而是这根...

8
1
发表了资讯
05/06 07:04

Nim 1.6.6 版本已发布,修复大量 bug

Nim 1.6.6 版本已发布,这是针对 Nim 1.6 的第三个补丁版本,两个月努力的结果包含 55 次提交 。下面介绍一些较为重要的修复项: 修复了“std.streams 无法在 Windows 和 –cpu:amd64 上使用 TCC 编译器编译”(#16326) 修复“编译器版本 1.6.0 不适用于 Windows XP”(#19038) 修复了“os.putEnv在 Windows 上的 cpp 后端无法编译”(#19292) 修复“JS 目标定义 gcc”(#19059) 修复了“当 CC = tcc 时 JavaScript 输出中的...

0
3
发表了资讯
02/11 07:01

Nim 1.6.4 发布,修复 1.6.2 引入的 C FFI 回归

Nim 1.6.4 发布了,该版本包含 33 次提交,最重要的修复是针对 1.6.2 中引入的C FFI 回归。,并在 1.6.2 版本的基础上带来了一些总体改进。 Bug修复 修复了“潜在的 C FFI 回归”(#19342) 修复了“re.split 使用零宽度字符的意外结果”(#14468) 修复了“strformat 越界”(#19107) 修复了“将空列表添加到非空列表,会破坏后一个列表”(#19297) 修复了“使用带有 var 参数的 varargs 时的错误结果”。( #16617 ) 修复了“...

0
2
发表了资讯
2021/12/19 07:45

Nim 1.6.2 版本已发布,修复若干 bug

Nim 1.6.2 版本已发布,这是针对 Nim 1.6 的第一个补丁版本,两个月努力的结果包含 41 次提交,修复了超过 15 个报告的问题,比 1.6.0 带来了一些总体改进,建议所有用户升级并使用 1.6.2 版。 Bug 修复 修复了“在 Linux 内核版本 < 3.17 上,Nim 的编译在编译 std/sysrand 时失败”问题。(#19052) 修复了“如果 --gc:arc 或 --gc:orc 给定,当 proc 返回带有lent或var类型的全局变量时,编译器以 IndexDefect 终止”(#18971)...

4
1
发表了资讯
2021/10/23 07:37

Nim 发布 1.6.0 版本,命令式编程语言

Nim 是一门专注于性能、可移植性和表现力的系统编程语言。经过一年的厚积薄发,Nim 1.6.0 稳定版已正式发布。 主要更新内容如下: 向后兼容性和预览标志 1.6 版本引入了 -d:nimPreviewX 这种形式的预览标志(例如 -d:nimPreviewFloatRoundtrip ),这种标志允许用户选择加入新的标准库/编译器行为,加入这些标志是为了尽量减少向后兼容性问题。 1.6 还引入了 -d:nimLegacyX 形式的退出标志,例如 -d:nimLegacyCopyFile 。如果你...

8
6
发表于AI & 大数据专区
2020/09/02 07:34

Nim 1.2.6 和 1.0.8 发布,命令式编程语言

Nim 1.2.6 和 1.0.8 版本已发布。Nim 是一门专注于性能,可移植性和表现力的系统编程语言。 Nim 1.2.6 版本带来了以下修复: 修复了 pegs 模块不适用于泛型的问题 修复了 [goto exceptions] {.noReturn.} 在 case 表达式中未检测到编译指示的问题 修复了 [exceptions:goto] dynlib 编译指示调用 proc 导致 C 编译器错误的问题 修复了 Nim 源归档文件安装的问题:install.sh 失败,并出现错误: cp: 无法统计 ‘bin/nim-gdb’: 没...

6
1
发表于服务端专区
2020/04/09 11:49

Nim 语言 1.2 版本发布!向后兼容性增强和新的宏

以下由中文社区翻译,能力有限,如有翻译错误,欢迎指正! 在持续六个月的开发后,我们骄傲地宣布,Nim 1.2 版本发布了! 本发行版包含了超过 600 次的尚未被合并到 1.0.x 版本的提交。 与 1.0 相比,添加了几个新功能和标准库。 我们努力将断崖式的改动降至最低, 但如果不进行这些必要的更改,某些错误是无法被修复的, 而且我们认为我们的用户将从中受益。 我们建议所有用户升级和使用 1.2 版本。 使用多个版本的 Nim useVer...

4
2
发表于软件架构专区
2020/02/21 08:26

Nim 发布 2019 年度社区调查报告:大家都用上了 1.0 版本

Nim 社区本周发布了 2019 年度的社区调查报告。此次调查共计开放 50 天,收回 908 份答复。 Nim 是一个命令式、多范式支持、静态类型、编译型的程序设计语言,支持元编程、函数式、消息传递、面向过程以及面向对象编程。2019 年,Nim 终于发行了 1.0 版本。 根据 Nim 官网的介绍,本次调查的目的旨在了解社区如何使用 Nim,以及对 1.0 版本的接受程度,和有关 Nim 工具的情况。 受访者中约有 2/3 的人在使用 Nim,余下的人不使用...

24
6
2019/11/28 17:37

Nim 1.0.4 发布!静态类型编程语言

以下由中文社区翻译,能力有限,如有翻译错误,欢迎加入 QQ 群指正! Nim 团队很高兴为大家带来 1.0.4 版本发布的消息, 这是我们在 Nim 1.0.0 之后发布的第二个补丁版本。 想要了解更多关于 1.0.0 版本的细节,可以查看我们两个月前 版本发布说明。 距离前一个版本的发布尽管只是过去了一个月的时间, 但这次的版本已经包含了超过 70 次新的提交, 新修复了 20 个问题, 让我们的 1.0 版本变成了更好的样子。 安装 1.0.4 如果你...

5
4
2019/10/25 14:47

Nim 1.0.2 版本发布,系统级编译型语言

包含了 bug 修复、文档更新 等内容 Nim 团队很高兴公布 v1.0.2 版本, 这是在 1.0.0 之后我们首次发布补丁。 想要了解更多关于 v1.0.0 的内容, 看一看我们一个月前发的 发布说明。 尽管距离上个版本只有一个月, 这个版本也已经经历了超过 60次新的提交, 修复了超过40个错误报告, 让我们的 1.0.0 能够更加健壮。 安装 1.0.2 如果你已经用 choosenim 安装了之前版本, 获取 Nim 1.0.2 版本会非常容易: $ choosenim update st...

5
3
2019/09/06 10:34

Nim 中文官网现已上线

Nim中文官网现已上线! 大家可以通过https://nim-lang-cn.org来访问。 足下 官网是我们的起点, 它不只是一个官网的中文镜像, 我们更希望它是一个国内Nim圈子的基地, 一个核心。 所有的资源都会围绕这个核心, 所以我们会认真地打磨它: 我们会及时更新和翻译官网的博客和其他更新, 以便大家掌握第一手的Nim资讯 我们会及时将国内的Nim资源整合起来, 让官网可以真正运行起来, 发挥它的作用, 走出一条中国特色的Nim发展道路...

44
38
发表于开发技能专区
2019/07/19 07:06

Nim 0.20.2 发布,命令式编程语言

Nim 0.20.2 已发布,官方表示这也是 1.0 的第二个 RC 版本。Nim 是一门专注于性能,可移植性和表现力的系统编程语言。 此版本的唯一特性就是 toOpenArray 现在可用于 JavaScript 后端。还有修复了超过 70 个问题,带来了一些改进,使 Nim 更加稳定。 更新内容: 修复了即使在套接字关闭后仍会停止的异步 IO 操作 报告关于 Streams.openFileStream 的更多信息错误消息 对于空容器的 IndexError 的更好的错误消息 修复了“错误的 ...

2
2
发表于开发技能专区
2019/06/13 07:46

命令式编程语言 Nim 0.20 发布,1.0 还会远吗?

Nim 团队已于上周发布了 Nim 0.20,官方表示这是一个重大更新版本,它包含超过 1000 个 commit,也算是标志着 1.0 候选版的推出。 Nim 0.20 引入了 1.0 所需的一些破坏性变更,这些变更将会被引入到 Nim 1.0 稳定版中,并且目前也没计划继续引入更多的破坏性变更。 所以 Nim 团队称这个版本为“事实上的 Nim 1.0 RC1”。他们还解释了为什么不直接发布 1.0,主要是希望社区能彻底测试 Nim 0.20,并找出可能是破坏性变更导致的 bu...

12
9
发表了资讯
2017/09/08 08:16

Nim 0.17.2 发布,命令式编程语言

Nim 0.17.2 已发布,Nim 是一门专注于性能,可移植性和表现力的系统编程语言。 该版本的主要新功能是支持 .nimble-link 文件,这也是为了支持最新的 Nimble 版本及其“开发版”的功能。有关更多信息,请参阅 nimble。 这也是一个 bug 修复版本,其中最重要的错误修复包括长期存在的引起 GC 崩溃的代码错误,建议用户更新至该版本。 请查看更新日志,以获取更改的完整列表。 此版本还包括 Nimble 软件包管理器的 0.8.8 版本,请查...

3
4
发表了资讯
2017/05/19 13:13

Nim 0.17.0 发布,命令式编程语言

Nim 0.17.0 发布了,Nim 是一种专注于性能,可移植性和表现力的系统编程语言。 此版本修复了 0.16.0 版本中最重要的回归,特别是内存管理器和通道错误已经修复。 语言方面也有很多重大改进,特别是在概念(concepts)方面投入大量的工作。请查看下面的更改日志,获取全面的更改列表。 影响向后兼容性的变更: There are now two different HTTP response types, Response and AsyncResponse. AsyncResponse’s body accessor r...

12
7
发表了资讯
2017/01/09 11:05

Nim 0.16.0 发布,命令式编程语言

Nim 0.16.0 发布,Nim 是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。 此版本包括超过80错误修复和改进。最显著的变化包括: 一个新的版本的发布 一种改进的导入语法 名字的规则修改,以实现更快的编译时间。 其中最突出的是改进的输出系统,如下图所示。

14
11
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
7 评论
112 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部