Software::Entwicklung
Julia 0.5 iteriert einfacher
Julia, eine relativ neue Programmiersprache für numerische und wissenschaftliche Datenverarbeitung, ist in der Version 0.5 erschienen. Julia wird unter einer MIT-Lizenz veröffentlicht und soll die Lücke zwischen Interpretersprachen und statisch kompilierten Sprachen schließen.
Julia
Julia wurde 2012 ursprünglich von Jeff Bezanson, Stefan Karpinski und Viral Shah aus Frust ins Leben gerufen, weil sich viele für ihre Problemlösungen eine High-Level-Sprache mit der Performance einer Low-Level-Sprache wünschten. So mussten oft in Python, R oder MATLAB entwickelte Prototypen für den produktiven Einsatz noch einmal in C oder FORTRAN umgesetzt werden. Julia soll die Kluft zwischen den beiden Sprachtypen schließen, indem sie einerseits in High-Level-Code geschriebene Programme ermöglicht und andererseits CPU und Speicherkapazitäten so effektiv wie in C nutzt, indem sie auf Low Level Virtual Machine Just in Time-Kompilertechnologien zurückgreift. Die Sprache ermöglicht es, gleichzeitige und parallele Kapazitäten in Multicore-Umgebungen einfach einzubinden und sie eignet sich auch für allgemeine Programmierzwecke, nicht nur für wissenschaftliche Berechnungen.
In Julia 0.5 führten die Entwickler Generator-Ausdrücke ein, die Iteratoren zurückgeben, die übergebene Werte sofort berechnen. Es sind eingebettete Iteratoren mit mehreren for-Keywords möglich und es gibt eine neue Fused-Broadcasting-Syntax, mit der sich etliche Ausdrücke verkürzen lassen. Macro-Expander-Funktionen sind nun generisch, wodurch abhängig vom übergebenen Datentyp mehrere Definitionen eines Makros erlaubt sind. In Vararg-Funktionen lässt sich die Anzahl der zu übergebenden Elemente eingrenzen und Julia wurde um mehrere neue Operatoren erweitert.
Die Bibliotheken für Strings, Arrays und lineare Algebra, Statistik, Ein- und ausgaben und parallele Berechnungen wurden verbessert. Julias Paketverwaltung basiert nun auf libgit2 und erlaubt es, auf Wunsch nur ausgewählte anstatt aller Pakete zu aktualisieren. Den Entwicklern ist es gelungen, Funktionen höherer Ordnung und anonyme Funktionen zu beschleunigen. LLVM wurde auf die Version 3.7.1 angehoben. Die Entwicklungsumgebung Juno IDE wurde augebaut und unterstützt jetzt Plotting und Debugging. In dieser Version ist zudem der Julia-Debugger Gallium enthalten. Weitere Neuerungen sind in den Veröffentlichungsnotizen aufgeführt.
Julia gibt es für Linux , Mac OS X und Windows. Für Linux sind auch Binärversionen für ARM- und PowerPC-Architekturen erhältlich. vorkompilierte Varianten der aktuellen Version der Programmiersprache werden auf der Downloadseite des Projekts bereitgestellt. Der Quelltext kann via GitHub heruntergeladen werden.