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.
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.
LTS-Release Nim 1.0
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.
Einfache, leicht verständliche Syntax
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)