Javascript oder Python – Welche Scriptsprache soll ich lernen?

Python ist die Schlange der Weisheit in der Programmierung. So oder ähnlich mag der Eindruck entstehen, wenn man sich die aktuell populären Programmiersprachen anschaut. Alte Hasen in der Programmierung haben in der Regel festgestellt, dass eine Programmiersprache letztendlich ein Werkzeug zur Lösung einer Aufgabe ist. Hier zählt, dass der Benutzer mit seinem Werkzeug umgehen kann und, dass das Werkzeug der zu lösenden Aufgabe angemessen ist. Auch wenn sich Schrauben durchaus mit einem Hammer einschlagen lassen, ist diese Art und Weise nicht fachgerecht…

Sowohl Anfänger, die eine Programmiersprache erlernen wollen, als auch Profis stehen oft vor der Frage, welches Werkzeug ihrer Situation angemessen ist. Diese Frage kann meist mit einem klaren „Es gibt nur selten perfekte Werkzeuge, aber viele nicht falsche“ beantwortet werden. Letztendlich muss eine Programmiersprache verschiedenen Anforderungen gerecht werden, angefangen von der Verständlichkeit über Mächtigkeit bis hin zu Performance-Erwägungen.

Softwareentwickler: Vom Anfänger zum Profi

Die von Anfängern gestellten Anforderungen an eine Programmiersprache als Werkzeug sehen oft deutlich anders aus als bei erfahrenen Entwicklern.
Programmiersprachen, die im Hinblick auf didaktische Zwecke eingesetzt werden, haben leicht verständlich zu sein und überschaubare Sprachkonstrukte aufzuweisen. Eine weitere beliebte Eigenschaft ist die direkte Ausführbarkeit nach der Vornahme von Änderungen, weswegen an dieser Stelle Scriptsprachen Vorteile gegenüber kompilierten Konstrukten bieten. Das Debugging und Fehlersuche ist bei einer Scriptsprache auch deutlich einfacher als bei einem kompilierten (vorabübersetztem) Modul, welches durch spezielle Debugger analysiert werden muss.

Die Entwicklungsumgebung, die benötigt wird, um ein Script zu programmieren und auszuführen, ist meist deutlich simpler aufgebaut als bei kompilierten Konstrukten. Oft genügt hier ein besserer Editor mit Syntax Highlighting (Hervorhebung der Sprachkonstrukte), um ein lauffähiges Programm zu erschaffen, welches anschließend in der Zielumgebung ausgeführt wird. Scripte werden beispielsweise in der Automatisierung von Aufgaben auf Betriebssystem-Ebene verwendet.

Erfahrene Entwickler stellen andere Anforderungen an die Programmiersprache. Hier punkten ihre Werkzeuge mit mächtigen Sprachkonstrukten, hoher Strukturierbarkeit und der Möglichkeit, diese extrem modular zu gestalten. Weitere „must haves“ sind oft das Vorhandensein von Programmierumgebungen, die Routineaufgaben in großen Projekten automatisieren, strukturiertes Debuggen und letztendlich die Ausführungsgeschwindigkeit auf dem Zielsystem.

Python oder Javascript: Was für was?

Beide Sprachen sind Scriptsprachen. Dies bedeutet, dass diese zur Laufzeit interpretiert und ausgeführt werden. Die Zielsysteme sind allerdings verschieden.

Javascript wurde als leichtgewichtige Scriptsprache für die Verwendung in Webbrowsern entwickelt, was einen Fokus auf recht spezifische Verwendungsszenarien mit sich brachte.

Python im Gegensatz ist von Grund auf als komplette, syntaktisch leicht beherrschbare Sprache entwickelt worden. Das Design sah eine sogenannte „Multi-Paradigmen“-Sprache vor, die sowohl objektorientiert, als auch strukturiert verwendbar ist. Somit haben Programmierer die Freiheiten, je nach Anforderung und Integration in größere Umgebungen einen angepassten Programmierstil zu wählen.

Python zielt darauf ab, sowohl einem Programmieranfänger einen einfachen Einstieg in eine übersichtliche Umgebung zu bieten, als auch in komplexe Umgebungen integriert zu werden. Die Übersichtlichkeit und Möglichkeiten zu einem ästhetischen Codedesign werden hier allerdings oft mit vergleichbar geringerer Geschwindigkeit gegenüber vielen anderen Sprachen erkauft. Für fortgeschrittene Softwareentwickler interessant ist die Fähigkeit, verhältnismäßig nahtlos in anderen Sprachen entwickelte Module einbinden und aufrufen zu können. Dies ist u.a. in Bereichen sinnvoll, in denen zeitkritische Funktionen benutzt werden. Diese können dann in einer kompilierten Sprache wie C oder C++ implementiert werden.

Ausblick für Softwareentwickler

Javascript zu lernen ist vor allem sinnvoll für Entwickler, die viel im Webumfeld entwickeln, da dieses nach wie vor eine breite Unterstützung aufweist. Auch gelegentliche Automatisierungsarbeiten auf Servern lassen sich mit Javascript recht effizient abbilden. Nicht zuletzt durch die jüngsten Entwicklungen bei Frameworks, wie node.js erlauben eine effiziente Programmierung mit Javascript durch die Nutzung etablierter Programmbibliotheken. Durch die Art der Implementierung läuft Javascript-Programmcode recht schnell ab im Gegensatz zu anderen interpretierten Sprachen.

Die einfache Syntax und geringen Möglichkeiten zur Strukturierung von Programmen verleiten leider oft zum Erzeugen von sogenanntem „Spaghetti-Code“. Dies ist die Bezeichnung für einen Programmcode, der wie eine Portion Spaghetti aussieht, sprich schwer verständlich und kaum wartbar ist.

Python zu lernen ist nicht nur für Einsteiger sinnvoll, die strukturierte Programmierung lernen wollen und eine anfängerfreundliche Sprache benötigen. Erfahrene Entwickler profitieren von der großen Anzahl an Software wie Entwicklungsumgebungen und einer großen Community. Hier ist Erfahrungsaustausch leicht möglich und durch die Möglichkeit, andere Programmmodule einzubinden, lassen sich auch hochskalierende Projekte verwirklichen.