Menü

Forschung: Neue Programmiersprache Dex soll Matrizenrechnung vereinfachen

Google-Forscher haben die Entwicklung einer an Haskell angelehnten Programmiersprache angestoßen, die auch für Machine-Learning-Anwendungen optimiert ist.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 48 Beiträge

(Bild: BEST-BACKGROUNDS / Shutterstock.com)

Von

Die im Rahmen eines Forschungsprojekts vorgestellte Programmiersprache Dex soll Entwicklern dank einer kompakteren funktionalen Syntax neue Möglichkeiten eröffnen, die Verarbeitung von Matrizen (Array Processing) effizienter und präziser zu gestalten. Für mathematisch-statistische sowie Machine-Learning-Anwendungen liegen bereits optimierte Programmiersprachen und Librarys wie etwa Matlab und NumPy vor und auch genereller ausgelegte Sprachen wie Fortran und C eignen sich für diese Einsatzgebiete. Wie die hinter dem Dex-Projekt stehenden Google-Forscher in einem Research Paper jedoch ausführen, sind ihnen diese vorhandenen Ansätze vielfach zu umständlich und verwirrend oder schlichtweg zu komplex.

Mit der an Haskell angelehnten Programmiersprache Dex, deren Name von Index abgeleitet ist, wollen sie neue Wege beschreiten. Ein neues Typ-System soll das Schreiben von Code für die Matrizenrechnung prägnanter und eindeutiger machen. Dex bietet darüber hinaus mathematische Programmtransformationen wie Differenziale und Integrale und erlaubt Anwendern, eine interaktive und inkrementelle numerische Programmierung sowie Visualisierung. Darüber hinaus soll sich Dex-Code zur Ausführung auf die für parallele Verarbeitung optimierte Hardware kompilieren lassen. Ein Tutorial gewährt erste Einblicke in die Arbeit mit dem Typ-System.

Vergleichbar mit Python und R lassen sich Dex-Anwendungen von der Kommandozeile aus starten oder interaktiv in REPLs (Read-Eval-Print Loops) sowie Notebooks (z.B. Jupyter) nutzen. Dex baut außerdem auf das bei vielen anderen Sprachen bewährte LLVM-Compiler-Framework. Das von Google noch nicht offiziell unterstützte Projekt befindet sich in einem noch frühen experimentellen Stadium. Erste Beispiele zur Berechnung von Pi oder einem Mandelbrot-Plot zeigen die Möglichkeiten von Dex auf. Ein wichtiger Baustein fehlt unterdessen noch: die Integration mit anderen Programmiersprachen. Sie wäre die Voraussetzung, um Dex bei der Auslagerung berechnungsintensiver Aufgaben zu nutzen, wie es Numba für Python bietet.

Weitergehende Informationen zur Programmiersprache finden sich auf der Dex-Projektsite auf GitHub. Dex steht dort unter der auch in der Haskell-Community verbreiteten BSD-3-Lizenz zur Verfügung. (map)