Python ist Zeit, Platz zu schaffen. Über die Aussichten von Julia

Guten Morgen, Habr!

Der Clip unserer Python Literatur wird ständig mit nachgefüllt Büchern von verschiedenen Ebenen. Heute möchten wir jedoch diesen Artikel vorstellen, dessen Autor Julia als eine tragfähige und vielversprechende Alternative zu Python ansieht. Lesen Sie, folgen Sie den Links und vergessen Sie nicht abzustimmen.



Wenn Julia dir immer noch mysteriös erscheint, mach dir keine Sorgen. Foto von Julia Caesar auf Unsplash



Verstehe mich nicht falsch. Die Popularität von Python wird immer noch durch die unerschütterliche Unterstützung der Community garantiert, zu der Spezialisten für Informatik, Datenwissenschaft und künstliche Intelligenz gehören.

Wenn Sie jedoch die Gelegenheit hätten, in Begleitung dieser Leute bei einem Abendessen zu sitzen, würden Sie sehen, wie empört sie über Pythons Fehler waren. Diese Sprache ist nicht nur sehr langsam, sondern erfordert auch umfangreiche Tests und führt trotz vorheriger Tests immer noch zu Laufzeitfehlern. Dies reicht aus, um Python einen deprimierenden Eindruck zu hinterlassen.

Deshalb wechseln immer mehr Programmierer zu anderen Sprachen, unter denen Julia, Go besondere Erwähnung verdienen.und Rost. Julia ist perfekt für mathematische und technische Probleme, Go für modulare Aufgaben und Rust ist für die Systemprogrammierung unverzichtbar.

Da sich Datenwissenschaft und künstliche Intelligenz mit einer Vielzahl mathematischer Probleme auseinandersetzen müssen, ist Julia ein Glücksfall für sie. Selbst bei einer sehr kritischen Prüfung stellt sich heraus, dass Julia solche Vorteile hat, denen sich Python nicht widersetzen kann.

Zen versus Julias Völlerei: Die

Autoren erfinden eine neue Programmiersprache und bemühen sich, die Stärken zu bewahren und die Mängel älterer Sprachen zu beseitigen.

In diesem Sinne handelte Guido van Rossum Ende der 1980er Jahre und schuf Python: Er versuchte, ABC zu verbessern. Der letzte war zu perfektFür eine Programmiersprache - und aufgrund dieser Starrheit stellte sich heraus, dass sie leicht zu erlernen, aber in realen Projekten schwer zu verwenden ist.

Python ist dagegen sehr pragmatisch. Dies geht aus dem Zen- Code von Python hervor , der die Absichten seiner Schöpfer widerspiegelt:

Schön ist besser als das Hässliche.
Explizit ist besser als implizit.
Einfach ist besser als komplex.
Komplex ist besser als verwirrend.
Bereitgestellt ist besser als verschachtelt.
Spärlich ist besser als dicht.
Lesbarkeit ist wichtig.
Sonderfälle sind nicht so speziell, dass sie gegen die Regeln verstoßen.
Gleichzeitig ist Praktikabilität wichtiger als Makellosigkeit.
[...]


Python hat viele der Vorteile von ABC beibehalten: zum Beispiel Lesbarkeit, Einfachheit und Klarheit für Anfänger. Aber Python ist viel zuverlässiger als ABC und im wirklichen Leben viel besser anwendbar.

In ähnlicher Weise wollten die Schöpfer von Julia das Beste aus anderen Sprachen herausholen und alles Schlechte loswerden. Aber Julias Ambitionen beschränken sich keineswegs darauf: Das Ziel ist nicht, eine Sprache zu ersetzen, sondern alle Sprachen zu übertreffen.

Hier ist, was die Schöpfer von Julia dazu sagen :

: . . C Ruby. Lisp, , Matlab. , Python, R, Perl, , Matlab, , shell. , , . , .


Julia versucht, alle Vorteile bestehender Sprachen zu kombinieren, aber keine Kompromisse einzugehen, was die Verwendung dieser Sprachen und ihrer Mängel erfordern würde. Obwohl Julia eine junge Sprache ist, hat er bereits viele der von seinen Schöpfern gesetzten Ziele erreicht.

Was Julia-Entwickler mögen Die Julia-

Variante

kann für alles verwendet werden, von einfachen Anwendungen für maschinelles Lernen bis hin zu kolossalen Supercomputersimulationen. Python ist in gewissem Umfang auch dazu in der Lage, aber Python hat sich irgendwie an diese Aufgaben angepasst.
Im Gegenteil, Julia wurde nur für solche Arbeiten geschaffen. Von Anfang an.

Geschwindigkeit

Die Macher von Julia wollten eine Sprache schaffen, die der Geschwindigkeit von C nicht unterlegen ist - aber die Kreation, die sie erhalten haben, funktioniert noch schneller. Obwohl es in den letzten Jahren einfacher geworden ist, Python zu beschleunigen, ist seine Leistung immer noch sehr weit von Julia entfernt.

Im Jahr 2017 trat Julia sogar dem Petaflop Club bei , einem kleinen Sprachclub , der mit Höchstleistungen mit einer Geschwindigkeit von mehr als einem Petaflop pro Sekunde betrieben werden kann. Neben Julia umfasst dieser Club jetzt nur noch C, C ++ und Fortran.

Die

Python- Community , die über 30 Jahre alt ist, hat eine kolossale und sehr zuverlässige Community. Bei Python gibt es kaum eine solche Frage, deren Antwort nicht in einer Suchanfrage bei Google gefunden wird.

Im Gegenteil, die Julia-Community ist sehr klein. Ja, das bedeutet, dass Sie viel aktiver graben müssen, um die Antwort zu finden, aber mit solchen Suchen können Sie immer wieder zu denselben Personen gehen. Und so sind unschätzbare professionelle Programmiererbeziehungen verbunden.

Codekonvertierung

Um Code in Julia zu schreiben, müssen Sie nicht einmal einen einzigen Befehl in dieser Sprache kennen. Sie können nicht nur Python- und C-Code in Julia verwenden, sondern auch Julia- Code in Python !

In dieser Situation ist es natürlich nicht schwierig, die Schwachstellen Ihres Python-Codes auf Julia zu beheben. Oder um die Produktivität aufrechtzuerhalten, während Sie nur Julia kennenlernen.

Bibliotheken



Bibliotheken waren und sind Pythons Stärken. FotoSusan Yin über Unsplash

Dies ist eine der wichtigsten Tugenden von Python - es verfügt über unzählige gut unterstützte Bibliotheken. Julia hat nicht viele Bibliotheken und Benutzer beschweren sich, dass ihre Bibliotheken (bisher) nicht gut unterstützt werden.

Bereinigt um die Tatsache, dass Julia eine sehr junge Sprache mit begrenzten Ressourcen ist, ist die Anzahl der vorhandenen Bibliotheken sehr beeindruckend. Zusätzlich zu der Tatsache, dass Julia mit neuen Bibliotheken angereichert ist, stellen wir fest, dass die Sprache an Bibliotheken für C und Fortran andocken kann, um beispielsweise Grafiken zu verarbeiten.

Dynamische und statische Typen

Python ist 100% dynamisches Tippen. Dies bedeutet, dass das Programm zur Laufzeit beispielsweise entscheidet, ob die angegebene Variable eine Ganzzahl oder eine Gleitkommazahl ist.

Trotz der Tatsache, dass diese Praxis für Anfänger äußerst praktisch ist, dringen alle möglichen Fehler in das Programm ein. Daher muss Python-Code in allen möglichen Szenarien getestet werden, und dies ist eine ziemlich dumme und zeitaufwändige Aufgabe.

Da die Schöpfer von Julia auch versucht haben, ihre Sprache leicht zu erlernen, unterstützt Julia die dynamische Eingabe voll und ganz. Im Gegensatz zu Python kann Julia aber auch statische Typen einführen - in der Form, in der sie vorhanden sind, beispielsweise in C oder Fortran.
Dies kann Ihnen eine Menge Zeit sparen. Anstatt nach Ausreden für die Tatsache zu suchen, dass der Code nicht getestet wird, können Sie jetzt einfach den Typ angeben, wo immer dies angebracht ist.

Daten: Wir investieren in die Sprache, solange sie klein ist.



Anzahl der Fragen, die bei StackOverflow mit Julia (links) und Python (rechts) markiert sind.

Trotz der Tatsache, dass all das sehr optimistisch klingt, muss bedacht werden, dass Julia im Vergleich zu Python noch ein Baby ist.

Es gibt einen guten Indikator: Die Anzahl der Fragen zu StackOverflow: Python wird derzeit etwa zwanzigmal häufiger erwähnt als Julia!

Dies deutet keineswegs auf Julias Unbeliebtheit hin - vielmehr brauchen Programmierer nur Zeit, um sich an die neue Sprache zu gewöhnen.

Überzeugen Sie sich selbst - würden Sie selbst den gesamten Code in einer völlig neuen Sprache schreiben? Nein, Sie möchten die neue Sprache lieber verschieben, bis Sie sie in einem neuen Projekt ausprobieren können. Aus diesem Grund gibt es eine Verzögerung zwischen der Ausgabe der Sprache und ihrer Verbreitung. Dies geschieht mit allen Programmiersprachen.

Wenn Sie Julia jetzt beherrschen und es einfach ist, wenn man bedenkt, wie viel Sprachkonvertierung in Julia unterstützt wird, ist dies Ihre Investition in die Zukunft. Wenn immer mehr Menschen zu Julia ziehen, sammeln Sie die nötige Erfahrung und können ihre Fragen beantworten. Außerdem wird sich herausstellen, dass Ihr Code ziemlich langlebig ist.

Fazit: Übe Julia und lass es dein Hobby sein

Vor vierzig Jahren war künstliche Intelligenz nichts anderes als ein Nischenphänomen. Weder Investoren noch die Industrie glaubten daran, und viele KI-Technologien schienen ungeschickt und unpraktisch zu sein. Aber diejenigen, die schon damals KI studiert haben, wurden heute zu Giganten - heute sind ihre Gehälter ungefähr die gleichen wie die der Spitzensportler.

Ebenso bleibt Julia momentan eine Nische. Aber wenn er erwachsen ist, werden diejenigen, die im Voraus zu ihm gewechselt sind, die größten Gewinner sein.

Ich verspreche nicht, dass Sie in zehn Jahren mit einer Schaufel Geld verdienen werden, wenn Sie jetzt Julia lernen. Aber Ihre Chancen auf eine solche Entwicklung von Ereignissen werden steigen.

Denken Sie darüber nach: Heute verwenden die meisten Programmierer die Python-Sprache in ihren Lebensläufen. Ein paar weitere Jahre werden vergehen, und wir werden noch mehr Piton-Programmierer auf dem Arbeitsmarkt sehen. Wenn sich die wachsende Nachfrage nach Python im Unternehmen jedoch verlangsamt, werden sich die Aussichten für Python-Programmierer allmählich verschlechtern. Zuerst langsam, aber unvermeidlich.

Auf der anderen Seite können Sie wirklich auffallen, wenn Sie Julia in Ihrem Lebenslauf angeben. Wir werden ehrlich sein, aber wie unterscheiden Sie sich von der gesamten Armee der Pitoner, mit denen Sie konkurrieren müssen? Fast nichts. Aber Programmierer mit Julia-Kenntnissen werden auch in Zukunft für die nächsten drei Jahre relativ seltene Spezialisten bleiben.

Mit Julia-Fähigkeiten zeigen Sie nicht nur, dass Ihre Interessen nicht auf die Anforderungen „für die Arbeit“ beschränkt sind. Sie zeigen auch, dass Sie bereit sind zu lernen und eine umfassendere Vorstellung davon haben, was es bedeutet, Programmierer zu sein. Mit anderen Worten, es lohnt sich, sich mit Ihnen zu befassen.
Sie - und andere Julia-Experten - werden möglicherweise in Zukunft zu Stars, und das wissen Sie. Oder, wie einer der Schöpfer von Julia im Jahr 2012 sagte:

, , . , . , 1.0 . , , Julia. 90% , , . , – , – , .

All Articles