openSUSE 对 Nim 语言提供一流支持

2022年7月14日 | David Anes 和 Douglas DeMaio | CC-BY-SA-3.0

openSUSE Reaches First-Class Support for Nim Language

openSUSE 加入了与开源项目 Arch Linux 一样,拥有最新的 Nim 语言 包,这种静态类型的命令式编程语言现在在 openSUSE 中拥有了一级 Nim 支持。

这种编译型编程语言为程序员提供了运行时效率,并结合了来自 Python、AdaModula 等成熟语言的成功概念。

Nim 编程语言的创建者 Andreas Rumpf 在被问及 openSUSE 从现在开始支持最新的 Nim 时说:“真正的软件不需要操作系统,但如果你的软件需要,请选择一个提供一级 Nim 支持的操作系统。就像 SUSE 一样。”

Rumpf 早在 2005 年就创建了 Nim,最近发布了他的书 Mastering Nim,涵盖了这种新兴编程语言的每一个角落。

openSUSE 已经构建了适用于 x86-64i586ppc64leARM64 的 Nim 包。

Nim 核心开发者和《Nim in Action》一书的作者 Dominik Picheta 说:“非常高兴看到第一个 Linux 发行版宣布对 Nim 提供一级支持”,“希望这能为其他发行版敞开大门。”

Nim 的优势之一,除了宏系统和运行时效率外,是其 标准库,它与其他语言类似,涵盖了大多数标准功能;这些包括字符串处理和格式化、异步代码开发、网络,甚至高级语言功能(例如编译器本身)或 NimScript,这是一种专门为脚本设计的 Nim 子集,可以在运行时嵌入和执行。

此外,Nim 默认包含各种工具。编译器允许将其后端定位到 C、C++ 和 Javascript。包含一些工具以方便开发

  • nim 编译器
  • nimsuggest(支持语言建议、自动完成、错误/问题检测等)
  • nimgrep(一个功能强大的 grep 替代品,内置 Nim 支持,用于查找符号和检查 Nim 代码库)。
  • nim-gdb 包装器(用于 Nim 类型 gdb 支持)
  • nimble(包管理器)

openSUSE 构建具有自动测试。 Nim 与 openSUSE 的通用可用性涉及针对特定架构的上游损坏测试以及安全补丁的回溯和上游。

Nim 拥有一个非常有趣且充满活力的软件包生态系统,可轻松进行各个方面的发展;从 Web 开发到系统编程,再到科学和数据处理,仅举几例。可以使用 Weave 开发极其快速和并行化的应用程序,使用 KaraxJester 完全用 Nim 开发前端和后端 Web 应用程序,并使用 ArrayMancer 执行繁重的基于数学的计算操作。在有趣的一面,可以使用 Nim 通过 Godot-Nim 作为桥梁,使用 Godot 开发高性能 3D 可视化和游戏开发。

即使开发人员只想支持另一种语言,Nim 也允许使用丰富的 外函数接口 (FFI) 技术来与其他语言交互。除了 与 CC++ 代码库交互的本机支持外,还可以使用 Nim 通过 NimPy 轻松构建 Python 模块。

开发人员可以在 https://play.nim-lang.org/ 中试用 Nim,并且可以在 五分钟 内了解一些关于它的知识。

品尝 Nim

import strformat

type
  Person = object
    name*: string # Field is exported using `*`.
    age: Natural  # Natural type ensures the age is positive.

var people = [
  Person(name: "John", age: 45),
  Person(name: "Kate", age: 30)
]

for person in people:
  # Type-safe string interpolation.
  echo(fmt"{person.name} is {person.age} years old")

有用的链接

分享此帖子