Programmiersprachen: Nim liegt als stabile Version 1.0 vor

Die Macher hinter der neuen Programmiersprache versprechen mit Version 1.0 eine stabile Basis und Long-Term Support für die nächsten Jahre.

In Pocket speichern vorlesen Druckansicht 88 Kommentare lesen
Programmiersprachen: Nim liegt als stabile Version 1.0 vor
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Effizienz, Lesbarkeit und Flexibilität sind die wesentlichen Merkmale, mit denen die noch junge Programmiersprache Nim für Windows, macOS und Linux punkten will. Die statisch typisierte, imperative Sprache liegt nun in der ersten Hauptversion 1.0 vor, zusammen mit dem Paketmanager Nimble, der Version 0.11.0 erreicht hat. Während in das LTS-Release Nim 1.0 noch neue Funktionen und Breaking Changes eingeflossen sind, sollen die kommenden 1.x-Releases lediglich Fehlerbereinigungen und Neuerungen erhalten, die keine Kompatibilitätsbrüche zur Folge haben.

Entwickler, die bereits mit älteren Nim-Versionen gearbeitet haben, müssen sich beim neuen Release auf verschiedene Breaking Changes einstellen. Im Compiler haben die Macher einen Fehler behoben, der es ermöglichte, int implizit in Bereichstypen kleinerer Größe (beispielsweise Range[0'i8..10'i8]) zu konvertieren. Darüber hinaus entfällt in der Standard-Library unicode.Rune16 ohne Übergangsfrist, weil der Name falsch ist. Eine weitere, lediglich unter Windows relevanten Änderung, betrifft den Wegfall des Switches -d:nimBinaryStdFiles. Stattdessen sind stdin, stdout und stderr wieder Binärdateien. Alle weiteren Neuerungen und Breaking Changes in Nim 1.0 fasst das Change-Log zusammen.

Die Nim-Entwickler wollen auch weiterhin ihren Fokus darauf richten, die Syntax der Programmiersprache so einfach und leicht verständlich wie möglich zu halten, damit der resultierende Code sich effizient bearbeiten lässt. Anleihen anderer Programmiersprachen wie mehrere Konstrukte aus Python, Sichtbarkeitsmarkierungen aus Oberon oder auch die von Pascal bekannten Typabschnitte, die schlankere Definitionen zulassen, sind in Nim eingeflossen.

Ausgehend von einem kompakten Sprachkern eröffnet Nim Entwicklern über Metaprogrammierfunktionen auch Programmierparadigmen, die auf Generics, Templates und Makros aufbauen. Darüber hinaus stellt die Standard-Library async await bereit. Über ein integriertes Backend können Entwickler ihren Code nach JavaScript kompilieren – client- wie auch serverseitig. Ebenso sind Bindings zu C-, C++- und Objective-C-Librarys möglich, sodass Nim-Code von dem umfassenden Ökosystem dieser Sprachfamilie profitieren kann.

Mehr Informationen zu Nim 1.0 finden sich in der Dokumentation auf der Projektwebsite. Für Einsteiger in die neue Programmiersprache stehen Lernhilfen sowie ein Playground für erste Projekte zur Verfügung. (map)