Julia: High-Performance-Programmiersprache in Version 0.3 erschienen

Redaktion JAXenter
© shutterstock.com/Juergen Faelchle

Version 0.3 der freien High-Performance-Programmiersprache Julia wurde veröffentlicht. Diese enthält eine Reihe neuer Sprachfeatures sowie Erweiterungen im REPL, in der Sprachbibliothek, in der Entwicklungsumgebung und in der Build-Funktionalität.

Julia REPL

Neu eingeführt wurde ein in Julia implementierter REPL (Read-eval-print loop), der sich individuell konfigurieren und erweitern lässt. Der bisher verwendete GNU-Readline-basierte REPL hatte zu viele Probleme verursacht. Hinzugekommen ist auch die workspace()-Funktion, mit der sich ein neuer Workspace erstellen lässt.

Ferner steht im REPL, IJulia und einigen Editoren jetzt eine Eingabehilfe für mathematische Zeichen zur Verfügung, die auf der Spezifikation des W3C für Unicode-Zeichen in LaTeX basiert: Bei der Eingabe von alpha<TAB> erhält man beispielsweise α.

Ziel: Multi-Threading

Auch an anderen Stellen wurde die Unterstützung des Unicode-Standards erweitert. So sind u.a. neue Operatoren hinzugekommen. Für Unicode Identfier wurde die Normalform NFC eingeführt.

Ein derzeit wichtiger Schwerpunkt der Julia-Entwicklung ist die Multi-Threading-Unterstützung. Laut Release Notes wartet die aktuelle Version bereits mit begrenzter Shared-Memory-Funktionaliät auf.

Gearbeitet wurde außedem an der Hashing- und Gleitkomma-Unterstützung sowie an der Tupel-Performance.

Alle Neuigkeiten sind auf der GitHub-Seite der Programmiersprache aufgeführt. Die Downloads stehen auf der Projektseite bereit. Julia steht unter MIT-Lizenz.

So schnell wie C

Erfunden wurde Julia 2009 am Massachusetts Institute of Technology von Jeff Bezanson, Stefan Karpinski, Viral B. Shah und Alan Edelmann. Sie stammt also aus einem akademischen Umfeld, ähnlich wie Scala. Seit 2012 ist die Sprache quelloffen. Was hat die Entwickler dazu bewogen, eine völlig neue Sprache zu initiieren? Auf ihrer Website schreiben sie dazu:

We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled.

Mit Julia soll also eine aus ihrer Sicht perfekte Synthese aus MATLAB, Scheme, Lisp, C, Fortran, Wolfram, Python, Perl, R und und Ruby entstehen – ein Cocktail aus ihren persönlichen Lieblingssprachen. So wurde der Sprachkern Julias in C und C++ implementiert, die Standard-Bibliothek in Julia selbst unter Verwendung der Node.js-Bibliothek libuv, der Parser in Scheme.

In Nordamerika gibt es bereits sechs Julia User Groups. Auch in London, Zürich und, Bangalore und Tokyo hat die Sprache kleine Fangemeinden. Die Entwickler der kommerziellen Entwicklungsumgebung LiClipse halten ebenfalls viel von Julia: Seit dem ersten Major Release unterstützt ihre IDE die Sprache.

Aufmacherbild: „The Famous Balcony of Juliet and romeo, Verona, italy“ von shutterstock.com / Urheberrecht: Juergen Faelchle

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: