In 10 Jahren Programmieren im Selbststudium lernen
- Die Frage, warum beim Erlernen des Programmierens so eine Eile herrscht.
- In Buchhandlungen gibt es massenhaft Bücher wie „Java in 24 Stunden lernen“, und viele behaupten, man könne C, SQL, Ruby, Algorithmen usw. in wenigen Tagen oder sogar Stunden lernen.
- Als auf Amazon nach 2000 nach Büchern mit den Begriffen „lehren“, „selbst“ und „Zeit“ gesucht wurde, wurden 512 Bücher gefunden. Unter den Top 10 waren 9 Programmierbücher.
- Selbst wenn man bei der Suche „selbst lehren“ durch „lernen“ und „Zeit“ durch „Tage“ ersetzt, ergibt sich ein ähnliches Bild.
- Das Fazit ist, dass Menschen entweder beim Erlernen des Programmierens in Eile sind oder Programmieren für etwas halten, das leichter zu lernen ist als fast alles andere.
Was „C++ in 24 Stunden im Selbststudium lernen“ bedeutet
- In 24 Stunden hat man nicht genug Zeit, mehrere wichtige Programme zu schreiben und aus Erfolgen und Misserfolgen zu lernen.
- Es fehlt auch die Zeit, mit erfahrenen Programmierern zusammenzuarbeiten und zu verstehen, wie man in einer C++-Umgebung lebt.
- Ein Buch kann eher oberflächliche Vertrautheit als tiefes Verständnis vermitteln.
- Vielleicht kann man Teile der C++-Syntax lernen, aber nicht, wie man die Sprache tatsächlich einsetzt.
- Alan Perlis sagte, dass eine Sprache nicht lernenswert ist, wenn sie die Denkweise über Programmierung nicht beeinflusst.
In 10 Jahren Programmieren im Selbststudium lernen
- Studien zeigen, dass es in vielen Bereichen etwa 10 Jahre dauert, um Experte zu werden, darunter Schach, Musikkomposition, Telegrafie, Malerei, Klavierspiel, Schwimmen, Tennis, Neuropsychologie und topologische Forschung.
- Entscheidend ist bewusstes Üben: nicht bloßes Wiederholen, sondern das Angehen von Aufgaben jenseits der aktuellen Fähigkeiten, das Ausprobieren und Umsetzen, das Analysieren der eigenen Leistung währenddessen und danach sowie das Korrigieren von Fehlern.
- Wirkliche Meisterschaft kann sogar ein ganzes Leben dauern.
Wenn du Programmierer werden willst
- Man sollte Interesse am Programmieren haben und mit Freude programmieren.
- Mit anderen Programmierern zu sprechen und andere Programme zu lesen ist wichtiger als jedes Buch oder jeder Ausbildungskurs.
- Man kann vier Jahre an einer Universität verbringen oder in der Graduiertenschule noch mehr Zeit investieren, aber wenn Schule keinen Spaß macht, kann man ähnliche Erfahrungen auch durch eigene Anstrengung oder im Beruf sammeln.
- Man sollte gemeinsam mit anderen Programmierern an Projekten arbeiten und verschiedene Programmiersprachen lernen.
- In „Computer Science“ steckt „Computer“, also sollte man wissen, wie lange ein Computer zur Ausführung von Befehlen braucht.
- Es ist auch gut, sich an der Standardisierung von Sprachen zu beteiligen, aber idealerweise sollte man damit möglichst bald wieder aufhören.
- Nur aus Büchern zu lernen reicht nicht aus.
Anhang: Wahl der Sprache
- Ratschläge dazu, welche Programmiersprache man zuerst lernen sollte.
- Es ist gut, die Sprache zu verwenden, die Freunde nutzen, es einfach zu halten und auf interaktive Weise zu lernen.
- Python oder Scheme werden als erste Programmiersprache empfohlen.
Anhang: Bücher und andere Materialien
- Obwohl betont wird, dass „nur aus Büchern zu lernen nicht ausreicht“, werden einige Bücher und Webseiten empfohlen.
- Empfohlen werden Bücher und Materialien zum Erlernen des Programmierens mit Scheme und Python.
Meinung von GN⁺
- Dieser Artikel betont einen realistischen Ansatz beim Erlernen des Programmierens und warnt vor falschen Versprechen, man könne in kurzer Zeit zum Experten werden.
- Indem er Forschungsergebnisse anführt, nach denen 10 Jahre oder 10.000 Stunden bewusster Übung nötig sind, um Expertise zu entwickeln, bietet er eine langfristige Perspektive auf das Lernen.
- Er hebt hervor, dass man zur Vertiefung des Verständnisses und zur Verbesserung der Fähigkeiten an verschiedenen Projekten teilnehmen, mehrere Programmiersprachen lernen und die Grundprinzipien der Informatik verstehen sollte. Das ist nützlicher Rat für angehende Softwareentwickler am Anfang ihrer Laufbahn.
1 Kommentare
Hacker-News-Kommentare
Ein Nutzer sagte, er habe 1999 das Buch "Sams Teach Yourself C++ in 24 Hours" gekauft, und die Person an der Kasse habe das Buch gesehen, gelächelt und ihm von einem Artikel erzählt. Ein anderes Mal habe er mit 16 bei Borders in Programmierbüchern gestöbert, als ihm jemand "The C Programming Language" in die Hand gedrückt habe — das sei ein lebensverändernder Moment gewesen. Seine Laufbahn sei stark dadurch geprägt worden, dass er Entwickler und andere Menschen getroffen habe, die sich für Programmierung interessierten.
Ein anderer Nutzer erwähnte, dass der Essay, den er in seiner Jugend zum ersten Mal gelesen habe, für ihn eine besondere Bedeutung habe. Als er ihn erneut gelesen habe, sei ihm durch Verweise auf Malcolm Gladwell und eine Erwähnung von Ratatouille aufgefallen, dass der Artikel seit seiner Veröffentlichung 1998 aktualisiert worden sein müsse. Das Original sei im Archiv noch verfügbar und deutlich kürzer.
Ein weiterer Nutzer sagte, dass er oft über Bücher lerne, diese Haltung aber in Nicht-CS-Bereichen, die sich langsamer verändern, wie Mathematik oder Physik, hilfreicher sei. Er kritisierte, dass ein kürzlich gelesenes O'Reilly-Buch über Quantenprogrammierung Quantenschaltungen nicht detailliert genug erkläre und ihm daher nicht geholfen habe zu verstehen, was er tatsächlich tue. Bücher seien nur ein Lernwerkzeug, und Hobbyprojekte könnten durch praktische Erfahrung oft effektiver sein. Bücher seien nützlich, um die richtige Richtung zu weisen, aber man müsse natürlich ein Buch finden, das zu den eigenen Bedürfnissen passe. Manche Menschen nähmen ein Buch nur dann zur Hand, wenn sie es komplett lesen könnten, aber das halte er für töricht. Er habe O'Reillys Buch Generative Deep Learning bestellt und hoffe, daraus etwas mitzunehmen; selbst wenn in der Karriere nur einige Informationen hängenblieben, sei das bereits ein Gewinn.
Ein Nutzer sagte, er sei tief beeindruckt davon, dass die alten Amazon.com-Links auf der Seite noch immer relevante Ergebnisse lieferten. Er bezeichnete dies als gutes Beispiel für "Cool URIs don't change".
Ein anderer Nutzer teilte eine Liste von Threads aus den vergangenen 16 Jahren und erwähnte, dass ein Repost nach einem Jahr in Ordnung sei und die Links dazu dienten, neugierige Leser zufriedenzustellen.
Ein weiterer Nutzer betonte die Bedeutung von bewusster Übung: Man solle nicht einfach nur wiederholen, sondern Aufgaben angehen, die über die aktuellen Fähigkeiten hinausgehen, sie ausprobieren und sowohl währenddessen als auch danach die eigene Leistung analysieren, Fehler korrigieren und dann erneut üben.
Ein Nutzer erinnerte sich an ein Video, das er vor 5–6 Jahren gesehen habe und in dem erwähnt wurde, dass die Zahl der Programmierer steige und die meisten weniger als fünf Jahre Erfahrung hätten. Da IT/Web unser Leben immer stärker beeinflusse, sei das nur logisch. Mit 20 Jahren Erfahrung wisse er vieles, was Menschen mit weniger als fünf Jahren Erfahrung niemals wissen müssten, aber Erfahrung sei dennoch nützlich, und weniger erfahrene Programmierer könnten ebenfalls viele Dinge tun, die er sich früher nicht hätte vorstellen können.
Ein anderer Nutzer vermutete, dass der als von 1998 gekennzeichnete Text wahrscheinlich aktualisiert worden sei, da er Erwähnungen von Clojure und Go enthalte.
Ein Nutzer meinte, dass das Erlernen von Programmierung letztlich immer künstlerischer werde, bis es fast Kunst sei, und dass für die Grundlagen 2–3 Jahre Hingabe ausreichten.
Ein letzter Nutzer erwähnte, dass es wichtig sei, sich Programmierung selbst beizubringen, da es sich um einen Beruf handle, der kontinuierliches Lernen erfordere. Was man vor fünf Jahren gelernt habe, könne heute noch gelten, aber man müsse womöglich Neues lernen, das zur aktuellen Situation passe.