Aus Raspberry Pi Geek 06/2020

Programmiersprache Julia mit spannenden Funktionen

© Alphaspirit, 123RF

Einfach schnell

Pit Noack

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.

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
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben