In der rasant wandelnden Welt der Data Science bleibt nichts für immer. Mit jedem neuen Tool und jeder neuen Software gerät der technologische Status quo ins Wanken. Besonders deutlich zeigt sich das in der Landschaft der Programmiersprachen. Es gibt eine ganze Reihe für Data Science geeigneter Sprachen. Auch wenn der Datenbereich derzeit von einigen wenigen sehr beliebten Sprachen dominiert wird, gewinnen neue, angeblich leistungsfähigere Sprachen an Fahrt. Ein besonders vielversprechendes Beispiel ist Julia.
Erstmals 2012 veröffentlicht, gilt Julia als aufstrebender Stern der Data Science. Trotz ihres jungen Alters hat Julia die Welt des numerischen Rechnens mit hoher Performance und beeindruckender Geschwindigkeit überzeugt. Über die Jahre ist Julia gereift und wird heute häufig als eine der “Zukunftssprachen” für Data Science und Künstliche Intelligenz bezeichnet.
Es gibt viele gute Gründe, Julia zu lernen. Der Weg dorthin hängt jedoch davon ab, welche Sprachen du bereits beherrschst. Während sich die meisten Artikel und Kurse darauf konzentrieren, wie man von MATLAB zu den beiden beliebtesten Data-Science-Sprachen Python und R wechselt, ist es ebenso wichtig, Ressourcen für Nutzer anderer Sprachen bereitzustellen, die auf Julia umsteigen möchten.
Ziel dieses Artikels ist es, Julia für MATLAB-Programmierer vorzustellen. Wir betrachten die Unterschiede und Gemeinsamkeiten der beiden Sprachen und geben Tipps für den Wechsel von MATLAB zu Julia für Datenanalyse und Visualisierung. Los geht’s!
Wofür wird MATLAB verwendet?
MATLAB ist eine Programmiersprache, die speziell für numerisches Rechnen entwickelt wurde. Seit dem Start 1984 hat sich MATLAB (Abkürzung für "MATrix LABoratory") in Wissenschaft und Forschung breit durchgesetzt. Trotz seines Alters ist es noch immer äußerst beliebt. Im Oktober 2022 lag MATLAB sowohl im PYPL Index als auch im TIOBE Index auf Rang 14.
Die Sprache glänzt bei hochkomplexen Rechenaufgaben, etwa fortgeschrittenen mathematischen und statistischen Operationen. Zudem bringt sie Visualisierungs- und Algorithmus-Funktionen mit – beste Voraussetzungen für Data Science.
Allerdings hat MATLAB einen wichtigen Haken: Es ist proprietär. Das heißt, sofern dir deine Institution keinen Zugang gewährt – wie oft in der akademischen Welt –, musst du für eine Lizenz mitunter tief in die Tasche greifen. Und weil der Quellcode nicht offenliegt, ist es schwer nachzuvollziehen, wie bestimmte Funktionen von MATLAB im Detail arbeiten.
All das macht MATLAB im Vergleich zu anderen frei verfügbaren Sprachen weniger attraktiv.
Wofür wird Julia verwendet?
Hinter jeder Innovation steckt der Wunsch, Bestehendes zu verbessern oder zu übertreffen. Das war der Antrieb hinter Julia, das sich von einigen der stärksten Programmiersprachen inspirieren lässt. Wie Jeff Bezanson, Stefan Karpinski, Alan Edelman und Viral B. Shah, die Gründer der Sprache, in einem Beitrag zu ihren Beweggründen schreiben:
“We want a language that's open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that's homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled.”
Dank dieser einzigartigen Kombination von Eigenschaften, die die Stärken verschiedener Sprachen vereint, gewinnt Julia rasant an Bedeutung.
Seit seiner ersten Veröffentlichung im Jahr 2021 wurde Julia über 40 Millionen Mal heruntergeladen, und die Community hat mehr als 8.000 Pakete registriert. Darunter sind mathematische Bibliotheken, Tools zur Datenmanipulation und Pakete für allgemeine Programmierung.
In Sachen Popularität liegt Julia im Oktober 2022 im PYPL Index auf Rang 25 und im TIOBE Index auf Rang 27.
Julia ist eine Allzwecksprache, die in vielen Bereichen der Softwareentwicklung eingesetzt werden kann, etwa Web- oder Game-Development. Besonders gut eignet sie sich jedoch für Machine Learning und statistisches Rechnen. Fans bezeichnen sie gern als Erbin von Python und R für Data Science.
Bis Julia allerdings zur Standardsprache der Data Science wird, ist es noch ein Weg. Wer gerade erst anfängt, wird vermutlich zuerst Python und R lernen wollen. Als Ergänzung zu bestehenden Programmierkenntnissen ist Julia jedoch eine ausgezeichnete Wahl. Mehr darüber, wofür Julia eingesetzt wird, erfährst du in einem separaten Blogpost.
Was MATLAB-Nutzende über Julia wissen sollten
Es gibt gute Gründe, Julia einzusetzen. In diesem Abschnitt schauen wir uns die wichtigsten Eigenschaften an, die Julia so leistungsfähig machen – und warum sich der Umstieg für MATLAB-Nutzende lohnt.
MATLAB vs. Julia: Geschwindigkeit
Julia wurde für technische und wissenschaftliche Anwender entwickelt. Um Geschäftsprobleme zu lösen und Entscheidungen zu unterstützen, arbeiten Datenprofis oft mit großen Datensätzen und komplexen Verfahren wie Machine-Learning-Algorithmen und neuronalen Netzen.
Das erfordert nicht nur erhebliche Rechenressourcen, sondern auch eine Sprache, die Code sehr schnell ausführt, damit Ergebnisse nicht lange auf sich warten lassen.
Die Wahl der richtigen Sprache ist dabei nicht trivial. Viele Sprachen stehen vor dem Spagat zwischen Performance und Lesbarkeit.
Traditionell sind sehr performante Sprachen schwieriger zu nutzen – und umgekehrt. Beliebte „höhersprachige“ Sprachen wie MATLAB und Python setzen auf Flexibilität und gute Lesbarkeit und verzichten dafür auf Tempo, während C, C++ oder Fortran extrem schnell sind, aber eine komplizierte Syntax haben.
Entwicklerinnen und Entwickler brauchen mit solchen Sprachen oft mehr Zeit und Erfahrung, um Code zu schreiben.
Hier kommt Julia ins Spiel. Julia ist so konzipiert, dass sich Programme leicht und schnell schreiben lassen und der Code dennoch extrem schnell läuft. Mit C-ähnlicher Performance zählt Julia schon jetzt zu den schnellsten Sprachen überhaupt. Im direkten Vergleich ist MATLAB deutlich langsamer als Julia.
Um Julias starke Performance zu veranschaulichen, zeigt die folgende Tabelle einen Benchmark: Wie schneiden Julia und MATLAB ab, wenn eine for-Schleife aus einem gegebenen Vektor eine Matrix erzeugt? Details zum Test findest du in diesem Artikel.
|
N |
Julia (Single-Thread) |
Julia (Multi-Thread) |
MATLAB (Single-Thread) |
MATLAB (Multi-Thread) |
|
1000 |
0.035s |
0.007s |
0.067s |
0.0367s |
|
2000 |
0.126s |
0.031s |
0.255s |
0.034s |
|
3000 |
0.289s |
0.062s |
0.543s |
0.073s |
|
4000 |
0.554s |
0.116s |
0.965s |
0.123s |
|
5000 |
0.831s |
0.215s |
1.510s |
0.189s |
|
6000 |
1.108s |
0.274s |
2.161s |
0.268s |
|
7000 |
1.489s |
0.304s |
2.936s |
0.364s |
|
8000 |
1.948s |
0.402s |
3.830s |
0.478s |
|
9000 |
2.460s |
0.505s |
4.847s |
0.610s |
|
10000 |
3.039s |
0.616s |
5.977s |
0.753s |
MATLAB vs. Julia: Syntax
Wie erwähnt, beendet Julia die Debatte zwischen Performance und Lesbarkeit. Die Syntax ist gut lesbar und dynamisch typisiert – so einfach zu lernen und zu schreiben wie MATLAB oder Python, erreicht als kompilierte Sprache aber Geschwindigkeiten wie statisch typisierte Sprachen à la C oder Fortran.
Und noch besser: Wenn du von MATLAB zu Julia wechseln willst, kommt jetzt die gute Nachricht – syntaktisch ähneln sich beide Sprachen stark. Kein Wunder, schließlich war MATLAB eine der wichtigsten Inspirationsquellen für Julias Entwickler.
Hier ein paar Beispiele grundlegender Operationen in MATLAB und Julia:
For-Schleifen
% for loop in MATLAB
for i = 1:N
% do something
end
# for loop in Julia
for i in 1:N
# do something
end
If-/Else-Anweisungen
% if/else in MATLAB
if i <= N
% do something
else
% do something else
end
# if/else in Julia
if i <= N
# do something
else
# do something else
end
UDF-Funktionen
% function in MATLAB
function out = f(x)
out = x^2
end
# function in Julia
function f(x)
return x^2
end
Trotz der Ähnlichkeiten ist Julia kein MATLAB-Klon. Es gibt wesentliche syntaktische und funktionale Unterschiede. Im nächsten Abschnitt findest du Gemeinsamkeiten und Unterschiede im Überblick.
Julia vs. MATLAB: Ein Vergleich
Unten findest du eine Tabelle mit Unterschieden zwischen Julia und MATLAB:
|
Julia |
MATLAB |
|
|
Zweck |
Sprache mit Fokus auf Computational Science, Datenanalyse und Künstliche Intelligenz |
Sprache und wissenschaftliche Plattform für Datenanalyse und mathematisches Rechnen |
|
Sprachtyp |
Höhersprachig, general purpose, kompiliert und dynamisch |
Höhersprachig, domänenspezifisch, interpretiert und dynamisch |
|
Open Source? |
Ja |
Nein |
|
Veröffentlichung |
2012 |
1984 |
|
Implementiert in |
C, C++ und Julia selbst |
C, C++, Java und MATLAB selbst |
|
Nutzergruppen |
Vor allem Data Scientists und andere Datenprofis |
Ingenieurinnen, Wissenschaftler, Forschende und Datenprofis weltweit |
|
Ökosystem |
Über 8.000 registrierte Pakete |
Vorwiegend integrierte und individuelle Bibliotheken |
|
Lernaufwand |
Einfache Sprache mit gut lesbarer, englischähnlicher Syntax. |
MATLAB ist ebenfalls leicht zu lernen. |
|
Dateiendung |
Dateien werden mit der Endung ‘datacamp.jl’ gespeichert. |
Dateien werden mit der Endung ‘datacamp.m’ gespeichert. |
|
Vorteile |
|
|
|
Nachteile |
|
|
|
Trends |
Rang 25 bzw. 27 im PYPL Index und TIOBE Index (Oktober 2022) |
Rang 14 in beiden Indizes (Oktober 2022) |
Vom MATLAB zu Julia wechseln
Bereit für den Start? Hier sind Schritte, die dir beim Umstieg von MATLAB zu Julia helfen:
Lerne die Grundlagen von Julia
Am besten lernst du eine neue Sprache, indem du Code schreibst. Es gibt viele Ressourcen für den Einstieg in Julia, aber wir empfehlen dir besonders unseren Introduction to Julia Course.
Der Kurs richtet sich an Julia-Neulinge und generell Einsteiger in Data Science. Er startet bei den absoluten Grundlagen und führt dich Schritt für Schritt tiefer in die Sprache. Am Ende bist du mit dem Programmieren in Julia vertraut, kennst Datentypen und -strukturen, Funktionen und Pakete und weißt, wie du mit DataFrames tabellarische Daten bearbeitest.
Außerdem findest du unser Julia-Tutorial für Einsteiger sowie unser praktisches Julia-Cheatsheet.
Setze Julia in deinen Datenprojekten ein
Festigst du dein Wissen am besten, wenn du Julia in deinen Lieblingsprojekten einsetzt. So entdeckst du das volle Potenzial der Sprache und baust gleichzeitig ein starkes Data-Science-Portfolio auf.
Nutze Julia in deinen Berufsprojekten
Wenn du mit Julia vertraut bist, wird es Zeit, die Sprache im Arbeitsalltag zu nutzen. Die Kombination aus hoher Performance und guter Lesbarkeit kann im professionellen Umfeld den Unterschied machen. Von Pharmamodellen bis zur Planung von Weltraummissionen: In vielen Branchen wird heute mit Julia programmiert. Julia ist ein starkes Werkzeug, um Anwendungen und Data-Science-Aufgaben aufs nächste Level zu bringen.
Finde deinen nächsten Job mit Julia
Jetzt ist ein guter Zeitpunkt, Julia zu lernen. Wie Ari Joury in ihrem Beitrag schreibt, kann Julia dein goldenes Ticket in die Zukunft sein, wenn du es lernst, bevor es in der Data Science zum neuen Standard wird. Immer mehr Unternehmen weltweit setzen bei Datenprojekten auf Julia und werden alles tun, um die (noch) wenigen erfahrenen Julia-Programmierer zu gewinnen. Sobald du deine Kompetenzen ausgebaut hast, kannst du gezielt nach Rollen suchen, die Julia- und MATLAB-Wissen kombinieren.
Entdecke deinen nächsten Karriereschritt mit Julia auf der DataCamp Jobplattform für Datenjobs.
Fazit
Julia ist einer der aufgehenden Sterne im Datenbereich. In den zehn Jahren seit der ersten Veröffentlichung ist die Sprache gereift und bietet heute außergewöhnliche Eigenschaften, die nur wenige Sprachen vorweisen können.
Auch wenn MATLAB weiterhin stark ist, ist in der schnelllebigen Data-Science-Welt keine Sprache auf Dauer gesetzt. Was heute beliebt ist, kann morgen von moderneren, leistungsfähigeren Tools abgelöst werden.
In den vergangenen Jahren war Julias größter Nachteil sein junges Alter. Heute gehört es zu den spannendsten neuen Sprachen in der Data-Science-Branche. Lohnt es sich also, Julia zu lernen? Und ist der Wechsel von MATLAB zu Julia machbar? Beides lässt sich mit einem klaren Ja beantworten.
Lerne Julia noch heute
Erhalte eine fundierte Einführung in die Programmierung mit Julia
FAQs: Von MATLAB zu Julia
Was ist MATLAB?
MATLAB ist eine höhersprachige Programmiersprache, die speziell für numerisches Rechnen entwickelt wurde.
Was ist Julia?
Julia ist eine höhersprachige, kompilierte Programmiersprache. Ihre Eigenschaften eignen sich besonders gut für numerische Analysen und Computational Science.
Wann wurde Julia veröffentlicht?
Die erste Version von Julia erschien 2012.
Was ist Julias größter Vorteil?
Julia ist einzigartig, weil die Sprache hohe Performance mit hoher Lesbarkeit verbindet.
Sollte ich von MATLAB zu Julia wechseln?
Dafür sprechen mehrere Gründe: Julias Geschwindigkeit, der Open-Source-Charakter und das schnell wachsende Ökosystem. Ein idealer Start ist unser Introduction to Julia Course.