Die beste Programmiersprache, die Sie jetzt lernen können

Der beste Weg, Computer zu verstehen und sie unserem Willen zu unterwerfen, besteht darin, zu lernen, ihre Sprache zu sprechen, damit sie unsere Befehle verstehen. Die Leute, die Fantasy-Romane lieben, stellen sich manchmal vor, dass sie magische Zaubersprüche und Beschwörungsformeln lernen. Praktiker verwenden eine fundiertere Sprache, um die logische Struktur von Zahlen und Daten darzustellen. In jedem Fall geht es darum zu verstehen, durch welche Folge von Tastenanschlägen und Mausklicks der Computer durch metaphorische Reifen springt und virtuelle Tänze ausführt.

Jede Schule, jedes MOOC und jeder Trainingsort muss eine Muttersprache für die jungen Padawaner haben. Einige Orte, wie das muffige Harvard, halten immer noch an der Ära C der 70er Jahre fest, aber viele Schulen pendeln zwischen JavaScript, Python und Java. Einer ist in jedem Browser vergraben, einer ist die saubere Wahl der Sozialwissenschaften und einer ist die typreiche Präferenz von mathematisch denkenden Leuten.

Ist man die beste Wahl? Ist einer eindeutig besser als die anderen? Oder schicken sie alle gleich wahrscheinlich eine beträchtliche Anzahl von Schülern nachts in ihre Kissen? Lassen Sie uns die besten Gründe untersuchen, um Java, Python oder JavaScript zu lernen.

Java ist klassisch

Der Advanced Placement-Test hat Java vor langer Zeit ausgewählt, als Java noch jung war und explodierte. Vielleicht hat Java nie den Höhepunkt seiner ursprünglichen Entwicklung erreicht, als jeder davon auszugehen schien, dass es völlig dominant sein würde, aber es bleibt das Rückgrat vieler Websites, Smartphones, Fernseher und kleiner Geräte.

Die Wahl einer Sprache mit einer starken Anhängerschaft ermöglicht es dem Schüler, auf einen Zug zu springen, der bereits voll mit hoch entwickelten Entwicklungswerkzeugen ausgestattet ist. Darüber hinaus gibt es unzählige Zeilen Open Source-Code, die der Schüler für seine eigene Arbeit studieren, überarbeiten und erweitern kann. Sie schließen sich einer großen Bewegung an und es fällt ihnen leicht, sich anzupassen.

Python ist neu

Tatsächlich ist Python nicht so neu - das Projekt begann vor mehr als 30 Jahren -, aber es fühlt sich neu an, weil sein Erfolg langsam gekommen ist. Erst kürzlich ist Python ausgebrochen und hat bei Gelegenheitsprogrammierern breite Akzeptanz gefunden. Die Neuheit bedeutet, dass die Schulen, die Python nutzen, neue Unterrichtspläne erstellen, neue Prüfungen schreiben und neue Foliendecks entwickeln. Sie graben nicht einige staubige alte Fragen aus den 1990er Jahren mit Verweisen auf Pets.com und MySpace aus.

Der neueste AP-Kurs namens Computer Science Principles ermöglicht es dem Lehrer, die Computersprache auszuwählen, und viele wählen Python aufgrund seiner Frische. Die Neuheit mag hautnah sein, aber alle Sprachen sind nur eine clevere Syntax, die die Wenn-Dann-Sonst-Entscheidungsstruktur des Assembler-Codes verbirgt.

All dieser Erfolg baut eine positive Rückkopplungsschleife auf. Die Ausgabe des Tiobe-Index vom November 2020 war das erste Mal, dass Python auf Platz zwei (hinter C) stieg und erkannte, dass die Sprache immer beliebter wurde als Java.

JavaScript ist überall

Es befindet sich im Browser und der Browser ist die Grundlage für Ihren Desktop, Ihr Telefon und all die Kioske, die Sie überall sehen. In den letzten zehn Jahren hat JavaScript die Front der Webserver übernommen, da Node.js Webanwendungen für Entwickler die beliebteste Methode zum Schreiben von „isomorphem Code“ wurden, der sowohl auf den Clients als auch auf den Serverfarmen ausgeführt werden kann. JavaScript ist praktisch so alt wie Java, und dennoch dauerte es Jahre, bis serverseitige Leute seine Leistungsfähigkeit entdeckten. Es ist neu und alt zugleich.

Java ist getippt

Möglicherweise möchten Sie nicht die Zeit damit verbringen, den Typ jeder Variablen anzugeben, aber es dauert nicht so lange, bis Sie auf drei Tasten klicken, um Ihrem Code "int" hinzuzufügen. Wenn Sie dies tun, erhalten Sie die gesamte Leistung, die dadurch entsteht, dass der Compiler Ihren Code sofort überprüft und die dummen Fehler findet, bevor er bereitgestellt wird. Typgeprüfte Sprachen zwingen uns, genauer über die Logik in unserem Code nachzudenken, und das ist eine wichtige Lektion für neue Programmierer. Die Typstruktur von Java reduziert Fehler und erstellt besseren Code.

Python ist nicht getippt

Die Liebhaber der getippten Sprache sind schlau und schreiben guten Code. Wenn Sie jedoch der Meinung sind, dass Ihr Code gut genug ist, um ohne die zusätzlichen Informationen zu den Datentypen für jede Variable reibungslos zu funktionieren, ist Python für Sie bereit. Der Computer kann den Typ der Daten ermitteln, wenn Sie sie in einer Variablen speichern. Warum zusätzliche Arbeit für sich selbst machen?

Beachten Sie, dass sich dieser Freilaufansatz möglicherweise ändert, wenn auch langsam. In der Python-Dokumentation wird angekündigt, dass die Python-Laufzeit keine Funktions- und Variablentypanmerkungen erzwingt, diese jedoch weiterhin verwendet werden können. Vielleicht wird das Hinzufügen von Typen mit der Zeit die dominierende Art sein, in der Sprache zu programmieren, aber im Moment haben Sie die Wahl.

JavaScript ist beides

JavaScript selbst ist untypisiert, aber in letzter Zeit haben einige der bekanntesten Mitglieder der JavaScript-Welt auf TypeScript umgestellt, eine Obermenge der Originalsprache, mit der Sie die Typen festlegen können, wann Sie möchten. Und wenn Sie nicht möchten, läuft auch normales JavaScript einwandfrei. Es ist eine entspannte Version der Typprüfung.

Java regelt Geräte

Die beliebteste Handyplattform der Welt ist Android, ein riesiger Codestapel, der auf Java basiert. Aber das ist nur die sichtbarste Plattform. Auf Set-Top-Boxen, neuen Chromebooks und sogar einigen Desktops werden Android-Apps wie auf Smartphones ausgeführt. Ein enger Verwandter von Java, C #, dominiert die Windows-Welt. C # ist nicht genau das gleiche wie Java, aber es ist sehr nah. Wenn Sie eine Anwendung für eine feste Hardware schreiben, besteht eine gute Chance, dass Java die beste Wahl ist.

Python regiert die Datenwissenschaft

Wenn Sie Software für die Arbeit mit Daten schreiben, besteht eine gute Chance, dass Sie Python verwenden möchten. Die einfache Syntax hat viele Wissenschaftler begeistert, und die Sprache hat in den Labors im ganzen Land eine starke Anhängerschaft gefunden. Jetzt, da Data Science in allen Schichten der Geschäftswelt Einzug hält, folgt Python.

Eine der besten Erfindungen zum Erstellen und Freigeben interaktiver Dokumente, das Jupyter-Notizbuch, begann mit der Python-Community, bevor andere Sprachen eingeführt wurden. Dies ist eine der besten Möglichkeiten, Software, Daten und den Text zu mischen, der erklärt, was passiert. Leser können die Wörter aufnehmen und dann Tasten drücken, um die Software für die Daten auszuführen.

JavaScript regiert das Web

Die anderen Plattformen mögen nett sein, aber der Webbrowser ist weiterhin das einzige Portal, über das sich fast jeder mit der Welt verbindet. Es ist normalerweise die am häufigsten verwendete Software auf dem Desktop, dem Smartphone und dem Tablet. JavaScript begann als Chef dieses lokalen Clients und sein Einfluss weitete sich auf die totale Dominanz aus, da das Wachstum von Node.js es Entwicklern einfacher machte, denselben Code auf dem Client und dem Server auszuführen.

Es gibt auch Dutzende guter JavaScript-Frameworks (Angular, React, Vue usw.), die eine Grundlage für die Erstellung Ihrer Web-App bieten, und einige sind clever genug, um Ihren Code nach Bedarf zwischen Client und Server zu verschieben. 

Selbst in den von anderen Sprachen dominierten Welten arbeitet sich JavaScript in den Stapel ein. Viele Smartphone-Entwickler überspringen Java und Swift, um ihre plattformübergreifenden Apps in JavaScript zu erstellen. Schließlich bestimmt JavaScript, was im Rechteck des Browsers passiert, und das garantiert so ziemlich, dass es die Entscheidung darüber trifft, was mit den meisten Klicks und Tastenanschlägen überall passiert.

Java führt alles aus

Wenn Sie Python-Code schreiben, besteht eine gute Chance, dass er in Jython ausgeführt wird, einer Implementierung der in Java geschriebenen Sprache, um die Allgegenwart der Java Virtual Machine zu nutzen. Wenn Sie JavaScript ausführen müssen, können Sie es auch Rhino und Nashorn zuführen, zwei Tools, die JavaScript in Java-Bytecode umwandeln.

Diese beiden Sprachen sind nicht die einzigen, die auf die solide Leistung der JVM angewiesen sind. Viele funktionale Programmiersprachen wie Scala, Clojure und Kotlin basieren ebenfalls auf denselben Grundlagen. Dies hilft allen, indem es einfacher wird, diese JVM-basierten Sprachen miteinander zu verknüpfen, wenn Sie sie im selben Projekt verwenden möchten.

Python läuft überall

Python ist nicht die erste oder sogar die letzte Wahl für Leute, die Emulatoren für andere Sprachen schreiben. Trotzdem ist Python auf vielen Computern leicht zu finden. Die Entwickler der Sprache haben den Code immer als Open Source verbreitet und die Pakete sind so ziemlich überall. In der Tat finden Sie Python in MacOS und den meisten voll funktionsfähigen Linux-Distributionen. Und obwohl es nicht in Windows enthalten ist, ist die Installation ein Kinderspiel - machen Sie es einfach auf intelligente Weise.

JavaScript wird im Browser ausgeführt

Es ist kaum zu glauben, dass die Spielzeugsprache, die zum Erstellen von Warnfeldern im Browser erstellt wurde, jetzt die Grundlage für viele Sprachen ist. Entwickler möchten Benutzer erreichen, und wenn Benutzer im Browser leben, ist es am schnellsten, einen Weg zu finden, wie Ihr Code in JavaScript ausgeführt werden kann, um alle zu erreichen.

Es sind nicht nur JavaScript-Cousins ​​wie CoffeeScript und LiveScript, die sich in JavaScript umwandeln. Sogar Sprachen wie Lisp, OCaml und Pascal können in JavaScript konvertiert und im Browser ausgeführt werden. Python ist im Browser in Projekten wie den Jupyter-Notizbüchern beliebt, und sogar Java kann mit Tools wie dem Google Web Toolkit in JavaScript übersetzt werden.

Java hat starke IDEs

Eclipse, NetBeans und IntelliJ sind einige der am besten integrierten Entwicklungsumgebungen. Sie wurden von der Java-Community erstellt und im Laufe der Jahre weiterentwickelt, um eine der unterstützendsten Umgebungen für das Schreiben von Code zu erstellen. Die Algorithmen zur Codevervollständigung und Codegenerierung schreiben möglicherweise nicht die gesamte Software, können jedoch eine erhebliche Menge eingeben. All diese Handhaltung hilft neuen Entwicklern wirklich dabei, die Syntax korrekt zu machen. 

Diese IDEs waren so beliebt, dass Entwickler aus anderen Sprachen einen Weg fanden, ihren Code in ihnen auszuführen. Wenn Sie ein professioneller Java-Programmierer werden, werden Sie mit ziemlicher Sicherheit einen davon verwenden. Wenn Sie in der Zwischenzeit eine einfachere und freundlichere Java-Programmiererfahrung wünschen, versuchen Sie es mit BlueJ oder Greenfoot. Diese „Anfänger-IDEs“ wurden speziell für das Erlernen von Java entwickelt.

Python hat die Wolke

Die Python-Sprache hat ihre erste Heimat in der Welt von Unix gefunden, und so ist es nicht verwunderlich, dass die mit Linux-Boxen gefüllten Wolken natürliche Orte sind, um viel Python-Code zu finden. Einige der neuesten Tools wie Jupyter bündeln Code, Daten und Erklärungen, damit Menschen ihre Erkenntnisse als lebendige Forschungsarbeiten mit anderen teilen können. Jupyter-Notizbücher sind keine statischen Dokumente, sondern interaktive Werkzeuge zum Erkunden.

Andere bauen ausgefeilte Werkzeuge rund um die Sprache, um die Forschung zu verbessern. PyTorch ist beispielsweise ein Deep-Learning-Toolkit, das mit Code, Daten und den zu analysierenden Algorithmen gefüllt ist. Umgebungen wie diese werden die Zukunft der Datenwissenschaft dominieren.

Es gibt auch mehrere gute Hosts für Notebooks, die zusätzliche Funktionen für den Datenaustausch und die Bearbeitung großer, intensiver Computerdatenanalyse-Jobs hinzufügen. Google betreibt beispielsweise das Colaboratory, in dem Ihre Daten gespeichert werden und der für eine schnellere Berechnung freien Zugriff auf GPUs bietet. Die Saturn Cloud wirbt für eine Leistung, die möglicherweise 100-mal schneller ist als die Ihres Desktops.

JavaScript hat JSFiddle

Jeder Browser verfügt über mehr als genug Leistung, um als IDE zu fungieren. JSFiddle ist nur die bekannteste von mehr als einem Dutzend Websites, auf denen Sie JavaScript-Code mit anderen Entwicklern teilen können. Die Webseiten sind jedoch nicht statisch, da Sie mit dem Code herumspielen und beobachten können, wie er auf derselben Webseite ausgeführt wird. Mit solchen Tools können Sie ganz einfach mit dem syntaktischen Spaß von JavaScript experimentieren.

Lerne eines - oder alle drei

Die Programmierwelt liebt es, sich gegenseitig zu befragen. Während es verwirrend sein kann, zwischen verschiedenen Sprachen zu wechseln und die Syntax gerade zu halten, ist es möglich, alle drei Sprachen in Projekten zu verwenden, ohne sich zu sehr zu verzetteln. Java- oder JavaScript-Projekte, die Daten analysieren, können in in Python geschriebenen Data Science-Bibliotheken verknüpft werden. Oder Python-Projekte können Java- oder JavaScript-Code aufrufen.

Intelligente Entwickler haben außerdem Tools erstellt, mit denen die verschiedenen Sprachen automatisch übersetzt, verknüpft und integriert werden können. Möchten Sie Python-Code in Ihrem Browser ausführen? Es gibt jetzt verschiedene Optionen und wahrscheinlich kommen noch weitere. Java verfügt über eine ScriptEngine-Klasse, die JavaScript auswertet. Es gibt Hunderte verschiedener Sprachen, die durch Übersetzung oder Emulation als JavaScript ausgeführt werden.

Kurz gesagt, die drei Sprachen müssen keine voneinander isolierten Inseln sein. Sie müssen auf lange Sicht nicht nur einen auswählen. Aber fangen Sie zuerst mit einem an.

Lesen Sie mehr über Softwareentwicklung:

  • Die besten kostenlosen Programmierkurse während des Lockdowns
  • Was ist CI / CD? Kontinuierliche Integration und kontinuierliche Lieferung erklärt
  • Was ist eine agile Methodik? Moderne Softwareentwicklung erklärt
  • Was ist eine API? Anwendungsprogrammierschnittstellen erklärt
  • Die beste Programmiersprache, die Sie jetzt lernen können
  • Die wertvollsten Fähigkeiten von Softwareentwicklern im Jahr 2020
  • 6 besten Programmiersprachen für die KI-Entwicklung
  • Die 24 bestbezahlten Entwicklerrollen im Jahr 2020
  • Full-Stack-Entwickler: Was es ist und wie Sie einer werden können
  • 9 Karriere-Fallstricke, die jeder Softwareentwickler vermeiden sollte