Die relativ junge Programmiersprache Julia verspricht, die Flexibilität interpretierter Sprachen wie Python mit der Geschwindigkeit von C zu vereinen.
Python und C gehören nicht nur unter RasPi-Nutzern zu den beliebten Programmiersprachen. Julia tritt mit dem Anspruch an, den Komfort und die Flexibilität dynamisch typisierter und interpretierter Sprachen wie Python oder Ruby mit dem Tempo kompilierter Sprachen wie C zu vereinen. Die Sprache spezialisiert sich dabei auf daten- und rechenintensive Aufgaben sowie das Bearbeiten mathematischer Fragestellungen.
Aktuelle Julia-Versionen laufen auf dem Raspberry Pi, Bibliotheken zum Ansprechen der GPIO stehen bereit. Darüber hinaus geht etwa das Parallelisieren von Algorithmen auf den vier Kernen aktueller RasPi-Modelle vergleichsweise einfach vonstatten. Grund genug, einen Blick auf die noch junge Programmiersprache zu werfen.
Gestatten: Julia
Seit der Veröffentlichung der ersten Version vor sieben Jahren hat sich die Sprache sehr dynamisch weiterentwickelt. Version 1.0 erschien erst im Herbst 2018. Alle Tutorials, die sich auf frühere Versionen beziehen, sollten Sie mit Vorsicht genießen. Die offizielle Dokumentation [2] halten die Entwickler zwar stets aktuell, sie umfasst aber herausfordernde 1276 Seiten und bringt Entscheidendes nicht immer gut auf den Punkt.
Dieser Artikel bietet einen niedrigschwelligen Einstieg in die Arbeit mit Julia – mit dem Blick für das Wesentliche und dem notwendigen Mut zur Lücke. Er setzt allerdings die Kenntnis grundlegender Begriffe der Software-Entwicklung voraus.
Installation
Unter Raspbian installieren Sie Julia über das Paketmanagement mit dem Aufruf sudo apt install julia. Auf diese Weise erhalten Sie jedoch zum Stand Januar 2020 die veraltete Version 1.0.3. Die in diesem Beitrag gezeigten Beispiele sollten damit funktionieren, bei weitergehenden Julia-Exkursionen empfiehlt sich aber der Einsatz einer aktuellen Variante.
Auf der Projektseite [1] finden Sie die Binärdateien der Ende 2019 veröffentlichten Version 1.3.1 für alle gängigen Betriebssysteme und Prozessorarchitekturen. Laden Sie die Variante Generic Linux Binaries for ARM – 32-bit ARMv7-a hard float herunter (Listing 1, Zeile 1) und entpacken Sie diese nach ~/bin/ (Zeile 2). Damit der Befehl julia im Terminal funktioniert, setzen Sie einen symbolischen Link (Zeile 3).
Listing 1
$ wget https://julialang-s3.julialang.org/bin/linux/armv7l/1.3/julia-1.3.1-linux-armv7l.tar.gz $ tar -xvzf julia-1.3.1-linux-armv7l.tar.gz -C ~/bin $ ln -s ~/bin/julia-1.3.1/bin/julia ~/bin/julia
Interaktiver Modus
Mit dem Befehl julia starten Sie nun den Interpreter im Terminal im interaktiven Modus (Abbildung 1). So können Sie einzelne Ausdrücke und Codefragmente ohne den Umweg über eine Datei ausprobieren und mit der Sprache experimentieren. Per Tabulator rufen Sie die Autovervollständigung auf.

Abbildung 1: Im interaktiven Modus nimmt der Interpreter Befehle entgegen und führt sie sofort aus.
Drücken Sie auf einer leeren Zeile die Tabulatortaste, liefert der Interpreter eine Liste aller geladenen Funktionen und Schlüsselwörter zurück. Mit der Eingabe eines Fragezeichens öffnen Sie die Hilfe. Geben Sie Ausdrücke direkt ein, erhalten Sie unmittelbar das Ergebnis (Listing 2). Mit exit() verlassen Sie den Interpreter.
Listing 2
julia> 1 + 1 2 julia> 7 * 8 56 julia> 2 ^ 4 16
Die Division zweier ganzer Zahlen mittels Rechenzeichen ergibt eine Fließkommazahl. Die Funktion div() erledigt eine ganzzahlige Division. Für den Rest nach Division zeichnen der Modulo-Operator % und die Funktion mod() zuständig (Listing 3).
Listing 3
julia> 10 / 2 5.0 julia> div(10, 2) 5 julia> mod(10, 3) 1






