Programmieren lernen - Wie lange dauert es?

Wie lange es dauert bis Du eine Programmiersprache beherrscht? Das hängt von verschiedenen Faktoren ab. Es gibt keine allgemeine Zeitangabe. Klar – ohnehin lernt jeder Mensch unterschiedlich schnell. Auch Vorkenntnisse spielen eine Rolle. Die erste Sprache ist viel schwerer als eine zweite oder dritte. Zudem ist auch jede Programmiersprache unterschiedlich komplex. So ist es vermeintlich einfacher PHP zu beherrschen zu lernen, als zu verstehen, wie Treiber für Betriebssysteme geschrieben werden. Der Artikel gibt Dir trotzdem Antworten.

 

Wann kannst Du Programmieren?

Wann sagst Du „Ich kann Programmieren“?

Ich kann Programmieren – Wann sagst Du das? Oder: Wie definierst Du diesen Zustand? Ich verbinde mit der Aussage vielleicht etwas anderes als Du. Ich finde es nicht so wichtig alle Aspekte, Funktionen, Methoden oder Klassen einer Programmiersprache auswendig zu kennen. Das Wissen könntest Du durch auswendig lernen. Und genau darum geht es bei der Programmierung nicht.

In der Praxis hast Du von Faktenwissen nicht sonderlich viel. Dies anzuwenden ist in der Praxis deutlich schwerer als in der Theorie. Lies ein ganzes Buch und dann starte mit einem leeren Editor. Schon verstehst Du wie das gemeint ist. Außerdem gibt es nicht ohne Grund zu jeder Programmiersprache Referenzen. In denen kannst Du nachschauen. Du musst wissen wo Du suchen musst.

Ich empfehle den Fokus auf die folgenden Stufen zu legen:

1. Syntax

Im ersten Schritt musst Du Dich mit der Syntax einer Sprache vertraut machen. Es ist wichtig mit der Sprache durch viel Praxis „warm zu werden“. Kleine Testprogramme, deren Funktion eher im Hintergrund steht, sind der optimale Einstieg. Anfangs ist es nicht unbedingt leicht und angenehm. Du wirst immer wieder Dinge nachschlagen. Genau darum ist Übung wichtig. Die Grundlagen gehen „in Fleisch und Blut über“. Das Wissen wandert ins implizite Gedächtnis. Das gleiche passiert beim Binden der Schuhe, Schalten im Auto oder Schreiben mit der Hand – Du denkst nicht über jeder Schritt nach. Du handelst einfach. Und genauso denkst Du irgendwann nicht mehr darüber nach wo nun z.B. eine Klammer gesetzt werden muss. Du weißt es einfach.

2. Die Basics

Der zweite Schritt besteht darin die Basics der Sprache zu lernen. Dies sind vor allem Dinge die in jeder Programmiersprache auftauchen. Wie schreibst Du Strings, Arrays und so ähnliches? Welche Kontrollstrukturen gibt es? Wie schreibst Du Schleifen? Wie schreibt man eigene Funktionen, Klassen und Methoden? Wie erzeugst Du Objekte? Gibt es besondere Datenstrukturen (wie z.B. Tuples oder Dictionaries bei Swift)? Und so weiter. Dies ist wichtig, um für ständig benötigte Funktionen nicht immer wieder eine Dokumentation befragen zu müssen. Je mehr Vorwissen vorhanden ist, desto schneller geht dieser Schritt.

3. Features kennenlernen

Erst im dritten Schritt machst Du Dich auf eine Reise durch die Bibliothek. Welche Features werden mitgeliefert? Ein guter Überblick über die Standardbibliothek ist wichtig. So weißt Du was die Sprache selbst kann, wo externe Bibliotheken notwendig und wo eigene Lösungen gefragt sind. Am besten geht dies – wer hätte es gedacht – in dem du einfach Software schreibst. Nutz die Features, experimentier damit. So gibt es in vielen Bibliotheken Lösungen für den Datenbankzugriff, Input/Output auf Dateiebene und ähnlichem. Dieser Schritt macht in der Regel viel mehr Spaß, da bereits ein Gefühl für die Sprache vorhanden ist.

4. Software-Architektur, Best-Practices & Co

Im vierten Schritt machst Dich Dich mit Best-Practices und Design Patterns vertraut. Gute Programmierung und sauberer Code entsteht vor allem deshalb, weil eine gute Architektur vorhanden ist. Dies ist der eigentliche Knackpunkt der die Spreu vom Weizen trennt.

Wann man genau davon sprechen kann, eine Programmiersprache zu beherrschen, beantwortet vermutlich jeder Entwickler anders. Ich persönlich finde, dass man zumindest behaupten kann mit einer Programmiersprache umgehen zu können, wenn sich bei der Arbeit mit ihr sicher fühlt. Von beherrschen würde ich sprechen, wenn man nur noch Referenzen lesen muss und mit den angegebenen Informationen selbstständig arbeiten kann (ohne Beispielcode).

Die Zeit läuft ab

Programmieren lernen – die gefühlte Dauer

Du möchtest Programmieren lernen. Wann beginnst Du Dich als Programmierer zu bezeichnen? Nachdem andere Entwickler das tun! Wenn Dich andere Programmierer so nennen, hast Du es geschafft. Das ändert nur leider an Deinem Gefühl nur wenig.

Für Deine Reise ist das fast komplett unerheblich. Die zentrale Frage ist nämlich: Wann fühlst Du Dich beim Programmieren sicher? Denn dann kommst Du in den sogenannten Flow. Das Lernen wird zum Spielen. Du gehst nicht mehr Üben sondern spielen. Aus meiner Sicht beginnt das schon ab Stufe 3.

Programmieren lernen in 30-Tagen?

Pauschal zu behaupten mit dem Produkt xyz kannst Du in 30-Tagen Programmieren lernen ist falsch. Diese Anbieter vermitteln gern die Abkürzung – lese dieses Buch und spar Dir viele Jahre lernen. Das geht nicht. Du wirst nur durch viel Praxis ein erfahrener Programmierer.

Was aber durchaus funktioniert: Du kannst mit dem geeigneten Programm in 30-Tagen den Zustand von Flow erreichen. Und sobald das der Fall ist, ändert sich an dem Gefühl nicht mehr viel. Egal ob Du eine komplette App oder Webseite entwickelst.

Insofern steckt in diesen Produkten durchaus Wahrheit (die oft einfach stark aufgebauscht wird).

 

viele kleine Ideen fhren zur groen Innovation

Überlegungen beim Programmieren lernen

Es gibt natürlich einige Faktoren, die Deinen Lernprozess beeinflussen. Hier ein paar (logische Ideen), die Du nur teilweise beeinflussen kannst:

Welche Vorkenntnisse hast Du?

Ganz entscheidenden Einfluss auf Dauer und Lernerfolge hat das vorhandene Wissen. Wenn Du bereits andere Programmiersprachen beherrscht, lernst Du eine neue Sprache deutlich schneller. Du kannst vieles mit Erfahrungen in Verbindung bringen und Dich schneller mit dem Wissen „anfreunden“. Gerade die Syntax und Basics sind irgendwann keine Herausforderung mehr. Du kannst Dich dann viel besser auf die Sprachfeatures, die Bibliothek und Dinge wie Architektur und Design Patterns konzentrieren. Du lernst nicht nur schneller. Mit der Zeit und mehr Vorkenntnissen wirst Du auch automatisch besseren Quellcode schreiben.

Wie viel Zeit investiert Du?

Ganz klar: Maßgeblicher Faktor ist der investierte Zeitaufwand. Wenn Du pro Tag 4 Stunden investieren kannst, ist das immer besser als nur eine Stunde. Aber, auch wer täglich eine Stunde oder nur eine halbe Stunde lernt kommt vorwärts! Das ist ganz wichtig. Gerade Einsteiger warten häufig auf die perfekten Umstände. Ein gemütlicher Abend bei schlechtem Wetter. Das Buch entspannend auf dem Sofa lesen. Sicher toll, aber konzentriert eine halbe Stunde Lernen ist ebenso effektiv. Wichtiger ist: regelmäßig lernen!

Wie schnell verstehst Du einzelne Aspekte?

Der Lernerfolg ist auch von DeinenFähigkeiten abhängig. Alles andere wäre gelogen. Manche Menschen lernen neue Dinge schneller. Manche etwas langsamer. Das ist keine Frage der Intelligenz. Nicht jedes Gehirn funktioniert gleichermaßen. Jüngere Menschen brauchen z.B. in der Regel weniger Wiederholungen um das gleiche Wissen im Langzeitgedächtnis zu speichern.

Dein Mathematisches / Logisches Denkvermögen

Wer sich bislang nie mit abstraktem Denken, Mathematik oder Logik befasst hat, baut unbewusst beim Programmieren auch dort etwas auf. Das ist positiv! Allerdings verlangsamt sich dadurch auch der Lernerfolg ein wenig.

Sicher gibt es noch weitere Faktoren. Jemand der nur Abends Zeit findet, da er tagsüber berufstätig ist, benötigt mehr Zeit als jemand der tagsüber die Hochleistungsphasen des Gehirns nutzen kann. Aber, alle möglichen Faktoren derart tief zu verfolgen sprengt hier den Rahmen. Ein Tipp in jedem Fall:

Verlier Dich nicht zu sehr in den Details. Es ist gar nicht so wichtig alle geschriebenen Zeilen und Keywords aufzusaugen. Das wirst Du ohnehin nicht direkt schaffen. Und: Es kommt mit der Zeit automatisch. Es geht viel einfacher und mit mehr Spaß, wenn Du entspannt heran gehst. Alles weitere ergibt sich von allein.

Kommentare (9)

  • Uwe Jahn

    5 Jahren ago

    Schon mehrere Jahre setze ich mich mit dem programmieren auseinander. Ich habe mich schon mit mehreren Programmiersprachen auseinander gesetzt,wie C/C++,Basic,Visual Basic und java. Doch faellt mir immer wieder auf die fuesse das ich nicht hinter die mthematischen rechenwege steige meinen Code zu berechnen. Bitte um Unterstuetzung.

    Mit freundlichen Gruessen

    Uwe Jahn Big Sandy/TN USA 07 Dez 2012

    • jbrinkmann

      5 Jahren ago

      Hallo. Zunächst vielen Dank für Deinen Kommentar! Welche „mathematische Rechenwege“ meinst Du genau, und was im Detail verstehst Du nicht?

  • syntax

    4 Jahren ago

    Sehr Informativer Post, vielen Dank Herr Brinkmann!

    Mit freundlichen Grüßen
    syntax

  • Lexi19

    4 Jahren ago

    Hallo Herr Brinkmann,
    zunächst ein großes Lob für diese Seite, wirklich sehr informativ!
    Nun ich hoffe sie können mir in meinem Anliegen weiterhelfen: ich möchte ab dem kommenden wintersemester kognitive inforamtik studieren, hatte in meinem bisherigem leben mit der programmierung allerdings bisher so gut wie nichts zu tun. (auch wenn ich viel mit dem computer beschäftigt bin)
    Um mich vorzubereiten leren ich momentan (beginnend) die spache C über dieses tutorial „http://www.c-howto.de/tutorial.html“ und wollte nachdem ich damit durch bin, mich auch mit java und hextell beschäftigen.
    Momentan ist es aber noch so, dass ich fast jegliches neues wissen verschriftliche und mir mappen anlege, was auch seine zeit benötigt
    Jetzt hab ich bei ihnen gelesen man soll ja eher nicht versuchen sich alles zu merken etc.
    Damit würde ich natürlich um ieniges schneller vorrankommen, aber ich befürchte, weil ich ja bis oktober einen gewiss begrenzten zeitraum habe, dass ich dann vieles nicht verinnerlicht habe.
    Wie stehen sie dazu? Danke schon vielmals für ihre Antwort!
    Grüße, Alex

    • Jan Brinkmann

      3 Jahren ago

      Ja, nicht zu sehr auf die Details versteifen. Viel wichtiger als die Bedeutung jeder Anweisung ist die Kenntnis, dass es sie gibt. Manche Methoden wird man schnell kennenlernen, da sie häufig genutzt werden. Andere Funktionen muss man einfach in der Referenz nachschlagen. Die Krux: Wissen, dass es da irgendwie was gab, womit das Ziel erreicht werden konnte.

  • Paul Dorra

    3 Jahren ago

    Diese vier Schritte sind die beste Antwort auf Frage „Wann beherrscht man eine Programmiersprache?“ die ich finden konnte! Chapeau!
    Daran werde ich mein Lernen ausrichten.

    Beste Grüße,
    Paul Dorra

    • Jan Brinkmann

      3 Jahren ago

      Vielen lieben Dank für Dein Feedback! Freut mich, wenn ich helfen kann 🙂

  • J'ai un question

    2 Jahren ago

    Hallo Herr Birkmann,

    Zuerst einmal Glückwunsch zur gelungenen Seite, sehr Informativ. Meine Frage jedoch, sie sprechen davon, dass die erste Programmiersprache wohl die schwerste ist, jetzt frage ich mich: Mit welcher sollte man anfangen? Ich hörte C++ wäre als einstieg gut, mich interessiert jedoch auch ihre Meinung. Außerdem wollte ich sie fragen, ob sie evtl. eine Buch Empfehlung zum lernen einer Sprache haben & die Frage , die leider in ihrem Text noch nicht ganz beantwortet wurde: Wie lange braucht es, eine Programmiersprache wie eben C++ zu „beherrschen“?
    Ich freue mich auf eine Antwort 🙂

  • Jan Brinkmann

    2 Jahren ago

    Hallo. Vielen Dank für den Kommentar! Für den Einstieg kommt es stark auf das Ziel an, dass erreicht werden soll. So ganz pauschal lässt es sich nicht beantworten. Wenn es noch gar kein Ziel gibt, ist C++ für den Einstieg nicht falsch. Aber es gehört durchaus eine große Portion Motivation dazu. Erste Erfolge und Ergebnisse lassen deutlich länger auf sich warten. Die Sprache ist sehr komplex. Ich würde fast eher Java empfehlen, oder Swift! App-Entwicklung macht unglaublich viel Spaß und bringt schnelle Ergebnisse. Hält die Motivation aufrecht!

Leave a Comment to J'ai un question Cancel reply

Your email address will not be published.