Programmiersprache: Julia in Version 1.4 erschienen

Das neue Sprachrelease umfasst kleinere neue Funktionen, Arbeiten an der Performance und etliche Änderungen ohne große Auswirkungen.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 3 Beiträge

(Bild: kentoh / Shutterstock.com)

Von

Die Entwickler von Julia haben mit Version 1.4 ein erstes Release der Programmiersprache in diesem Jahr herausgegeben. Die neue Ausgabe wird als Minor-Release bezeichnet, was in der Julia-Community impliziert, dass sich darin keine sogenannten Breaking Changes, sondern nur kleinere neue Funktionen, Arbeiten an der Performance und Änderungen ohne große Auswirkungen wiederfinden. Wie die vorigen Versionen 1.1, 1.2 und 1.3 ist Julia 1.4 kein LTS-Release. Julia 1.0 ist weiterhin die einzige Version mit Long-Term Support.

Auf Seite der Sprachfunktionen werden nun Structs mit allen isbits- und isbitsunion-Feldern inline in Arrays gespeichert. import-Statements erlauben jetzt zitierte Symbole, etwa import Base.:+. Schließlich lässt sich a[begin] nun verwenden, um das erste Element einer Integer-indizierten Sammlung a zu adressieren. Der Index wird durch firstindex(a) berechnet. Eine Änderung auf Sprachebene ist noch, dass die Syntax (;), die früher als leere Block-Expression geparst wurde, als veraltet gilt. Zukünftig wird sie ein leeres benanntes Tupel angeben.

Den Bereich Multithreading tangiert eine Änderung: Werte lassen sich jetzt über $ in @async und @spawn interpolieren, wodurch der Wert direkt in das konstruierte zugrunde liegende Closure kopiert wird. Beim Build-System wurde der Windows-Installer auf Inno Setup umgestellt. Die Kommandozeilenparameter des Installers haben sich somit geändert.

Darüber hinaus ist von etlichen Bibliotheksfunktionen und -Features sowie von Änderungen an der Standardbibliothek die Rede So gibt die neue Funktion only(x) das Einzelelement einer Sammlung x zurück und wirft einen ArgumentError, wenn x null oder mehrere Elemente enthält. takewhile und dropwhile sowie accumulate sind nun Teil des Iterators-Submoduls, und es gibt jetzt eine evalpoly-Funktion, die die Rolle des @evalpoly-Makros übernehmen soll.

Wer tiefer in die Neuerungen eintauchen möchte, ist mit dem Release-Notes-Dokument gut beraten, von dem aus Interessierte auf genauere Beschreibungen der Neuerungen verlinkt werden. Die News zur neuen Version kann wiederum als Startpunkt für weitere Informationen dienen.

Julia ist eine am MIT entstandene dynamische, funktionsorientierte Programmiersprache, die vor allem auf wissenschaftliche Projekte zielt, gleichzeitig aber auch als General Purpose Language geeignet sein soll. Sie funktioniert besonders gut für verteilte Berechnungen und kommt seit geraumer Zeit auch beim High-Performance Computing zum Einsatz. Die Programmiersprache ist seit 2012 Open Source. Im August 2018 war die Sprache nach langer Entwicklungszeit in Version 1.0 erschienen. Seitdem folgen zwei bis drei Minor-Releases pro Jahr. (ane)