Definition

Was ist Julia?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Julia ist eine General-Purpose-Programmiersprache mit wissenschaftlicher Ausrichtung. Sie eignet sich für allgemeine Programmieraufgaben, hat ihre Stärken aber bei numerischen Berechnungen und der Verarbeitung großer Datenmengen in hoher Geschwindigkeit.

Julia ist ein höhere Programmiersprache, die sich für allgemeine Aufgaben einsetzen lässt. Sie hat eine wissenschaftliche Ausrichtung und spielt ihre Stärken bei numerischen Berechnungen und Datenanalysen mit hoher Geschwindigkeit aus. Typische Anwendungsbereiche sind maschinelles Lernen, Künstliche Intelligenz (KI), die Verarbeitung großer Datenmengen, statistische Auswertungen und Anwendungen im Big-Data-Umfeld. Es handelt sich um eine noch recht junge, moderne Sprache, die in vielen Bereichen anderen Sprachen wie C, MATLAB, R, Java, Ruby, Perl oder Python ähnelt.

Im Vergleich zu vielen anderen Skriptsprachen ist Julia deutlich schneller. Gründe hierfür liegen unter anderem in der Arbeitsweise mit einem Just-in-Time Compiler und in der Parallelisierung von Aufgaben. Julia erzeugt zum Ausführungszeitpunkt einen von Prozessoren effizient zu abzuarbeitenden Binärcode. C-Bibliotheken lassen sich ohne Performanceverlust aufrufen.

Die Entwicklung von Julia begann im Jahr 2009 am Massachusetts Institute of Technology (MIT). Nach dreijähriger Entwicklungszeit veröffentlichten die Mathematiker und Informatiker Jeff Bezanson, Stefan Karpinski, Viral B. Shah und Alan Edelman im Jahr 2012 die erste Version der Programmiersprache. Erklärtes Ziel der Entwickler war es, die Vorteile dynamischer und statischer Programmiersprachen in einer neuen Sprache zu vereinen. Der Compiler von Julia ist in C, C++ und Scheme geschrieben, die Syntax teilweise an MATLAB angelehnt. Im August 2018 erschien die Version 1.0.0. Die aktuelle Version (Stand September 2019) ist Julia 1.2.0. Julia steht unter Open-Source-Lizenz und ist frei erhältlich. Sie ist Bestandteil einiger Linux-Distributionen und auch mit den Betriebssystemen Windows, MacOS oder FreeBSD nutzbar.

Die Geschwindigkeit von Julia

Eines der herausragenden Merkmale von Julia ist die hohe Ausführungsgeschwindigkeit. Programme werden ähnlich schnell ausgeführt wie bei den kompilierten Programmiersprachen C oder Fortran. Julia arbeitet wesentlich schneller als andere wissenschaftliche Sprachen wie R oder MATLAB. Zurückzuführen ist die hohe Geschwindigkeit zu einem großen Teil auf das Prinzip der Just-in-Time-Kompilierung. Der eigentliche Maschinencode wird bei dieser Kompilierungsart zur Laufzeit erstellt. Damit unterscheidet sich die Programmiersprachen von den langsameren Interpretersprachen wie Python, MATLAB, Perl oder Ruby. Dennoch verhält sich Julia ähnlich wie eine Interpretersprache und kann erstellte Skripte direkt, ohne vorheriges Kompilieren starten. Im Gegensatz zu Fortran, C oder C++ muss die Kompilierung nicht im Vorfeld einer Ausführung durchgeführt werden. Zur Just-in-Time-Kompilierung nutzt Julia das LLVM-Framework. Weiter Gründe für die hohe Geschwindigkeit von Julia sind:

  • Parallelisierung von Aufgaben
  • Typsystem mit parametrisierten Typen
  • dynamische Programmierumgebung
  • direkter Aufruf von7656 C- und Fortran-Bibliotheken
  • effiziente Operationen mit Gleitkommazahlen, Zufallszahlen und regulären Ausdrücken
  • effiziente Funktionen der linearen Algebra
  • integrierter Garbage Collector
  • Nutzung von Multimethoden

Die Vorteile der Programmiersprache Julia

Neben der hohen Geschwindigkeit bietet die Programmiersprache Julia weitere Vorteile. Diese sind:

  • einfach zu erlernen (nur wenige grundlegende Sprachelemente, leicht verständliche Syntax)
  • mächtige Sprachkonstrukte
  • integrierte Funktionen der linearen Algebra
  • unter MIT-Lizenz frei nutzbar
  • geeignet für die Betriebssysteme Linux, MacOS und Windows
  • viele Erweiterungspakete verfügbar
  • intelligentes, interaktives Kommandozeilenprogramm REPL
  • interaktive Nutzung ähnlich wie bei Skriptsprachen
  • für allgemeine Programmieraufgaben geeignet
  • Makros und andere Möglichkeiten der Metaprogrammierung
  • direkter Aufruf von C- und Fortran-Bibliotheken möglich
  • integrierte Paketverwaltung
  • Shell-ähnliche Möglichkeiten andere Prozesse zu verwalten

Das interaktive Kommandozeilenprogramm REPL

Bestandteil von Julia ist ein interaktives Kommandozeilenprogramm. Es nennt sich REPL (Read-eval-print loop) und eignet sich dank direkter interaktiver Ausführung von Code beispielsweise, um Programme zu testen oder während der Programmierung zu experimentieren. In REPL integriert sind Hilfefunktionen und eine Chronik ausgeführter Befehle.

Das Paketkonzept von Julia

Julia besitzt einen integrierten Paketmanager. Er erlaubt es, Pakete einfach zu installieren und auszuprobieren. Die Pakete sind einzelne Programmbibliotheken mit eigenem Git-Repository und lassen sich an beliebigen Orten bereitstellen. Sie werden über Julia mit der Paket-Add-Funktion installiert. Die Abhängigkeiten der Pakete sind in Metadaten gespeichert. Pakete können in Julia geschrieben sein, aber auch Code anderer Sprechen wie C oder Python enthalten. Bei der Installation eines Pakets mit Code anderer Sprachen werden die jeweils passenden Compiler auf dem System benötigt. Sie erzeugen zusammen mit Julia den ausführbaren Code des Pakets.

Typische Anwendungsbereiche für Julia

Aufgrund der hohen Performance numerischer Berechnungen und der Parallelisierungsmöglichkeiten eignet sich Julia hervorragend für rechnergestützte Datenanalysen. Typische Anwendungsbereiche der Programmiersprache Julia sind:

  • Machine Learning
  • Künstliche Intelligenz (KI)
  • paralleles Rechnen
  • Big-Data-Analysen
  • statistische Berechnungen
  • Simulationen

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Digitale Diagnostik für gezielte Krebstherapie

Tumorveränderungen mit KI bestimmen

Digitale Diagnostik für gezielte Krebstherapie

Für eine erfolgreiche Behandlung gegen Krebs setzt die medizinische Forschung immer mehr auf den Einsatz von maßgeschneiderten Medikamenten, die gezielt die Struktur der Tumore angreifen. Damit eine passende „Schlüssel-Schloss“-Kombination entdeckt werden kann, müssen derzeit viele aufwendige Tests durchgeführt werden. Deshalb wollen Wissenschaftler der Universitätsmedizin Göttingen (UMG) herausfinden, ob mithilfe von KI molekulare Veränderungen in Tumoren bestimmt werden können, um so die Suche nach geeigneten Wirkstoffen zu beschleunigen. lesen

„Chancen von Big Data und Künstlicher Intelligenz stärker nutzen“

Engel

„Chancen von Big Data und Künstlicher Intelligenz stärker nutzen“

Mehr als 100 Gäste folgten der Einladung von Engel Deutschland Mitte Februar zu der Medizintechnikkonferenz med.con ins Technologieforum Stuttgart. Patientensicherheit durch Technologievorsprung lautete das übergeordnete Thema, das aus unterschiedlichen Blickwinkeln der Kunststoffverarbeitung im Reinraum diskutiert und anhand von Live-Maschinenexponaten greifbar vermittelt wurde. lesen

Digitaler Zwilling soll Krebstherapie unterstützen

Forschungsprojekt „Modelle für die personalisierte Medizin (MPM)“

Digitaler Zwilling soll Krebstherapie unterstützen

In einem Forschungsprojekt wollen Leipziger Wissenschaftler des Innovationszentrums für Computerassistierte Chirurgie (ICCAS) neue Lösungsansätze wie vernetzte Therapie-Informationen in der virtuellen Realität und intelligente Sprachassistenten zur Unterstützung der onkologischen Behandlung einsetzen. Ziel ist es, eine wissenschaftliche und methodische Grundlage für personalisierte und durch Künstliche Intelligenz (KI) unterstützte Krebsbehandlungen zu schaffen. lesen

Der Lead Management Summit 2020 bringt Marketing und Vertrieb zusammen

Fachkongress für den Mittelstand

Der Lead Management Summit 2020 bringt Marketing und Vertrieb zusammen

Wie können im Zusammenspiel aus Marketing und Vertrieb relevante Kontakte generiert und zu Kunden entwickelt werden? Diese Frage beantwortet der diesjährige marconomy Lead Management Summit am 1. und 2. April in Würzburg. Wir haben die Programm-Highlights für Sie zusammengefasst. lesen

KI – Wunderwaffe gegen die Auswirkungen des demografischen Wandels?

Künstliche Intelligenz

KI – Wunderwaffe gegen die Auswirkungen des demografischen Wandels?

21 Prozent der deutschen Bevölkerung sind heute über 65 Jahre alt. Bis 2060 soll diese Zahl auf 30 Prozent steigen – bei abnehmender Gesamteinwohnerzahl und damit auch Erwerbsbevölkerung. Der demografische Wandel mit dem Schlagwort „Überalterung der deutschen Gesellschaft“ hat weitreichende Konsequenzen für den Arbeitsmarkt. Kann Künstliche Intelligenz die Lage mildern – oder verschärft sie das Problem weiter? lesen

DataOps als Next Level DevOps?

Kommentar von Bastian Wießner, Eoda

DataOps als Next Level DevOps?

Der Begriff DataOps steht für „Data Operations“. Als agiler Ansatz zielt er auf die Art und Weise ab, wie Daten bzw. deren Analysen genutzt, weiterentwickelt, optimiert und zielführend in neue Datenprodukte überführt werden. DataOps ist damit der nächste logische Schritt, der im Bereich Datenanalytik auf den DevOps-Ansatz folgt. lesen

„Artifical Intelligence and Microlearning“

ETIM-Kongress 2020

„Artifical Intelligence and Microlearning“

Die Universitätsmedizin Essen (UME) und die Medizinische Fakultät der Universität Duisburg-Essen laden am 28. und 29. Februar 2020 Ärzte, Informatiker, Ingenieure, Wissenschaftler und andere Experten ein, um über den technologischen Fortschritt im Gesundheitswesen zu sprechen. Die Topthemen sind: Welche Aufgabe übernehmen Künstliche Intelligenz (KI), Microlearning, Big Data und Robotik im interdisziplinär agierenden Krankenhaus? Wo wird heute schon was wie eingesetzt? lesen

Mit Augmented Intelligence zu besseren Analyseergebnissen

Eoda erweitert YUNA-Plattform

Mit Augmented Intelligence zu besseren Analyseergebnissen

Die Kasseler Eoda GmbH baut ihre Data-Science-Plattform YUNA um eine neue Funktion aus: Mithilfe von Result Rating sollen sich künftig Analyseergebnisse schneller auf ihre Plausibilität prüfen lassen. lesen

Auf einem guten Weg: Nutzung und Akzeptanz von KI im deutschen Gesundheitswesen

Philips Future Health Index

Auf einem guten Weg: Nutzung und Akzeptanz von KI im deutschen Gesundheitswesen

Künstliche Intelligenz (KI) kann Ärzte und Pflegekräfte dabei unterstützen, die wachsende Datenflut zu bewältigen, sie von Routineaufgaben entlasten oder auch die Diagnostik und Therapieentscheidung erleichtern. Soweit die Theorie. Aber welche Rolle spielt KI tatsächlich im Gesundheitswesen? Der diesjährige Philips Future Health Index zeigt ein durchaus positives Ergebnis. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46128457 / Definitionen)