· 

Wie lernt man eine neue Programmiersprache?

1. Einführung

Oft hört man den Satz, dass es gar nicht so schwierig sei, eine neue Sprache zu erlernen, wenn man bereits viele andere Sprachen spricht. Je mehr Sprachen man bereits spricht, desto leichter fällt einem jede weitere. So verhält es sich auch mit Programmiersprachen. Hierbei ist der Unterschied zu natürlichen (vom Menschen gesprochenen) Sprachen noch deutlicher, da es bei Programmiersprachen weitaus weniger Eigenheiten und Nuancen zu lernen gibt. 

Die Fähigkeit, sich in neue Themengebiete und Frameworks schnell einarbeiten zu können, ist eine der wohl wichtigsten Dinge, die du in deinem Studium lernst. Die Arbeitswelt für Informatiker sieht vor, dass du in der Lage bist, dieser Anforderung gerecht zu werden.

Ich stelle dir nun einige Tipps und Vorgehensweisen vor, mit denen du dich in wenigen Tagen in eine neue Programmiersprache einarbeiten kannst.


2. Entwicklungsumgebung und Hallo-Welt-Programm

Zunächst einmal benötigst du, um mit einer neuen Sprache anzufangen, die dafür nötigen Tools bzw. eine adäquate Entwicklungsumgebung. Dies umfasst z. B. Interpreter, Compiler und entsprechende Bibliotheken. Wenn du dir diese heruntergeladen hast, solltest du, um zu überprüfen, ob die Installation erfolgreich war, ein kleines Hallo-Welt-Programm schreiben. In diesem Artikel habe ich für 10 verschiedene Programmiersprachen ein solches Hallo-Welt-Programm erstellt, das du Kopieren, in deinen Editor oder IDE einfügen und anschließend starten kannst. Wenn "Hallo Welt!" auf der Konsole ausgegeben wird, ist dieser Schritt erfolgreich abgeschlossen.


3. Programmierparadigma

Recherchiere im Internet, welches Programmierparadigma der Sprache, die du lernen möchtest, zugrunde liegt. Handelt es sich z. B. um eine prozedurale, funktionale, logische oder objektorientierte Programmiersprache? Wenn du keine Programmiersprache kennst, die als Basis ein Programmierparadigma besitzt, das die neu zu lernende verwendet, dann wird der Aufwand etwas höher sein. Informiere dich darüber, wie sich die Paradigmen voneinander unterscheiden bzw. wo die gedanklichen Knackpunkte sind, wenn du z. B. aus der objektorientierten Welt kommst und nun auf einmal mit Pascal arbeiten sollst. Wenn du bspw. Java lernen willst und bereits C# kannst, dann wird dir die Einarbeitung nicht sonderlich schwer fallen, weil es sich bei beiden um objektorientierte Programmiersprachen handelt. Auch syntaktisch geben sich diese beiden Sprachen nicht viel.


4. Bekannte Probleme lösen

Apropos Syntax: ein weiterer Tipp ist, dass du versuchst, bekannte Probleme in der neuen Programmiersprache umzusetzen. Im Optimalfall übersetzt du schrittweise Programme, die du in einer anderen Sprache geschrieben hast, einfach in die neue Programmiersprache. Der Vorteil beim Lernen ist, dass du vermutlich mit deiner ersten Programmiersprache bereits Kontrollstrukturen (if-Anweisungen, for- und while-Schleifen), sowie einige Datenstrukturen (wie Listen oder Arrays) kennengelernt hast. Diese müssen dann erstmal nur übersetzt werden. Versetze dich also in die Rolle eines Dolmetschers, der zwischen den verschiedenen Computersprachen übersetzt. Ich z. B. versuche immer als erstes einen Sudoku-Solver und eine Matrizenklasse (falls es sich um eine objektorientierte Programmiersprache handelt) zu schreiben.


5. Häufig genutzte Bibliotheksfunktionen

Zudem ist es hilfreich Bibliotheksfunktionen, die du häufig nutzt, in der neuen Sprache nachzuschlagen. Insbesondere String-Operationen wie subtringupper oder contains werden häufig verwendet. Falls solche Bibliotheksfunktionen gar nicht zur Verfügung stehen, ist das kein Beinbruch. Im Gegenteil: du kannst die Chance nutzen und dir die entsprechenden Funktionen in der neuen Sprache einfach selber schreiben. Dadurch lernst du nicht nur die Syntax noch schneller, sondern machst dir auch über die Algorithmik im Hintergrund Gedanken und schulst so dein Computational Thinking.


6. Dokumentationen vergleichen

Oft hilft es auch, sich die Dokumentationen der neuen und einer deiner bereits beherrschten Programmiersprachen nebeneinander zu legen und direkt zu vergleichen. Nimm dabei ruhig einen Textmarker in die Hand und markiere dir wichtige Unterschiede. Auch wenn das altmodisch klingt, ist es oft eine gute Möglichkeit, um sich mit den neuen Inhalten in einer dafür hinreichenden Tiefe auseinanderzusetzen. Ob diese eher theoretische Herangehensweise für dich geeignet ist, weißt du, wenn du deinen Lerntypen kennst.


7. Lerntyp

Dein Lerntyp entscheidet darüber, wie du an den Lernprozess für die neue Sprache herangehen solltest. Wenn du eher der Praktiker bist, dann findest du dich vermutlich in vielen der Tipps wieder. Bist du eher ein Theoretiker, so wirst du wahrscheinlich mit dem Lesen von Dokumentationen und dem Ansatz "Top-to-Bottom" glücklicher, bei dem du zuerst versuchst, ein generalisiertes Verständnis der Sprache zu erlangen und Spezialfälle (wie Bibliotheksfunktionen) zunächst hinten anstellst.

Deinen Lerntypen kannst du hier ermitteln.


8. Übung, Übung, Übung ...

Wie auch bei gesprochenen Sprachen, sprichst du die neue Programmiersprache immer flüssiger, je mehr du mit ihr arbeitest. Deswegen solltest du, auch wenn du gezwungen bist in einer Sprache zu programmieren, die du bereits beherrschst, immer (zumindest) gedanklich versuchen, dir den Code in der neuen Sprache zu überlegen.