@Athaba meinst du nur das bei reddit:
Online Lua 5.1 source code browser
Kenn mich damit nicht aus.
Nein, nicht nur das.
Code lesen hat was ähnliches, wie sein erstes Projekt machen. Es hilft dabei Dinge zu verstehen. Du hast ein Ziel, entweder dein Programm zum Laufen zu bekommen oder den Code zu verstehen. Das ist der Punkt, wo die Dinge zusammenkommen. Wenn du wo anstehst ein Ziel zu erreichen ist das perfekt zum lernen. Du weißt dann nämlich genau wo du hin willst, du kennst das Problem, das du mit deinem Programm lösen willst. Von da weg lernen ist extrem gut.
Beim Programmieren dann kommen eben viele Sachen zusammen. Du hast da die Syntax und das eher theoretische Wissen, dann das Wissen über deinen Editor, deine IDE, ansonsten noch über dein System, also wie Files funktionieren, wie Netzwerk, wie die Konsole funktioniert und verbindest das dann meist mit einer Library, was zu einem Konstrukt führt, wie "Ich benutze den vim, um mit C und der stdio library da 'Hello World' in mein Terminal zu schreiben". Es kann sein, dass du dich nicht gut genug mit deinem System, mit C, mit stdio, mit dem Terminal auskennst. Das fehlende Wissen kann man sich dann über ein Buch, einen Artikel, Stackoverflow, man pages, Code lesen, etc. besorgen.
Das nächste sind dann Bugs wo man Fehler macht. Da ist vor allem das war Kamikaze geschrieben hat extrem wichtig, weil du wirst Bugs produzieren, jede Menge. Das kannst du als gegeben annehmen und dann ist es wichtig, dass man sich mit den Tools, Warnings und Errors auskennt, Debugger, etc. beherrscht. Aber es geht da nicht nur direkt um die einzelnen Bugs, sondern auch, dass dein Verständnis um die Sprache und das Drumherum vertieft wird. Wenn was nicht so rund läuft hat man große Chancen auf viele Aha-Erlebnisse und man lernt effektiv und gerade am Anfang viel mehr als nur das, wie man den Bug findet, einfach weil man viel von dem sieht, was so passiert.
Und dann gibt es noch die "Daumenschrauben". Die sind genau dazu da das in Zukunft zu vermeiden, aber sie helfen nur wirklich wenn du weißt warum das Warning dasteht und man es nicht einfach ignoriert. Noch mehr Aha und immer Step by Step besserer Code. Das ist das was ich meinte, dass man mal draufkommt, was jetzt am ersten Buch, wo man mal so grundsätzlich die Syntax lernt blöd, falsch, gefährlich ist. Das erste Programmierbuch ist meines Erachtens eher um zu wissen um was es geht. Da gibt es Variablen, Datentypen, Funktionen, Kontrollstrukturen, Operatoren, etc. Aber um damit dann zu fahren und sich weiterzuentwickeln sind Bücher einfach zu passiv. Man kann halt nicht erwarten dass alles abgedeckt ist. Immer wenn es darum geht was zu erlernen, wo man effektiv was neues erzeugt, darauf aufbaut und sich ständig entwickelt kann schwer alles abgedeckt sein.
Man schreibt eben den selben Code mit dem die Sprache selbst oder das Betriebssystem, so wie die ganzen Tools geschrieben sind. Die Möglichkeiten sind grenzenlos, aber ein Buch eben begrenzt und deckt im besten Fall einen Bereich komplett ab.
Wenn Beispiele Probleme bereiten, dann einfach mal dort ansetzen wo man was nicht mehr verstanden hat und damit herumexperimentieren, ein paar Dinge ändern und schauen ob das rauskommt, was man erwartet. Wenn nicht, dann ist das eine große Chance plötzlich ganz viele Dinge zu verstehen, die vielleicht im Buch noch nicht mal angesprochen werden. Klappt das nicht kann auch ignorieren und weiter lesen etwas bringen. Dann lernt man das eben im zweiten Durchgang und denkt sich dann womöglich "Ah, das weiß ich eh schon".