Veröffentlichung der Programmiersprache , kombiniert hohe Leistung, Unterstützung für dynamische Typisierung und integrierte Werkzeuge für paralleles Programmieren. Die Syntax von Julia ähnelt MATLAB und übernimmt einige Elemente aus Ruby und Lisp. Die Methoden zur Zeichenfolgenmanipulation erinnern an Perl. Der Code des Projekts unter der MIT-Lizenz.
In :
- Es wurde die Möglichkeit realisiert, abstrakten Typen hinzuzufügen;
- Unicode 12.1.0 wird unterstützt und spezifische Darstellungen von Unicode-Ziffern (𝟎-𝟗, 𝟘-𝟡) können in Identifikatoren verwendet werden;
- Für die Ausgabe und Analyse von nicht standardisierten Variablennamen gibt es eine neue Syntax var»#str#»;
- Die Werkzeuge für Multithreading wurden erweitert: Es wurde das Makro Threads.@spawn und das Schlüsselwort Channel(f::Function, spawn=true) zur Organisation der Ausführung von Aufgaben in jedem verfügbaren Thread hinzugefügt. Alle systembezogenen Ein-/Ausgabeoperationen mit Dateien und Sockets sowie der Generator für Pseudo-Zufallszahlen sind an multithreadfähige Anwendungen (thread-sicher) angepasst;
- Neue Bibliotheksfunktionen wurden hinzugefügt, darunter
findfirst, findlast, findnext, findprev, findall(pattern, string), count(pattern, string), sincosd(x) und nonmissingtype.
Hauptmerkmale der Sprache:
- Leistung: Eines der Hauptziele des Projekts ist das Erreichen einer Leistung, die nahe an der von Programmen in C liegt. Der Julia-Compiler basiert auf den Entwicklungen des LLVM-Projekts und erzeugt effizienten nativen Maschinencode für viele Zielplattformen.
- Unterstützung verschiedener Programmierparadigmen, einschließlich objektorientierter und funktionaler Programmierung. Die Standardbibliothek bietet unter anderem Funktionen für asynchronen Input/Output, Prozessverwaltung, Protokollierung, Profilierung und Paketverwaltung.
- Dynamische Typisierung: Die Sprache erfordert keine explizite Typdefinition für Variablen, ähnlich wie bei Skriptprogrammiersprachen. Ein interaktiver Modus wird unterstützt;
- Optionale Möglichkeit zur expliziten Angabe von Typen;
- Ein Syntax, der hervorragend für numerische Berechnungen, wissenschaftliche Berechnungen, maschinelles Lernen und Datenvisualisierung geeignet ist. Unterstützung für viele numerische Datentypen und Werkzeuge zur Parallelisierung von Berechnungen.
- Direkter Aufruf von Funktionen aus C-Bibliotheken ohne zusätzliche Schichten.
Quelle: opennet.ru
