Eure Lernmotivation/Lernmethoden für das Programmieren



  • ich lerne grade dinge wie c++ oder das windows api indem ich einfach nur ein buch darüber lese, aber langsam schwindet die motivation dafür. immer nur lesen und man kommt kaum weiter. mich interessiert der werdegang von anderen, bei mancher software ist es für mich kaum nachvollziehbar wie jemand sowas erstellen konnte oder wie er das ganze wissen und die erfahrung über das programmieren erlangen konnte. wenn jemand bock hat dann postet er bitte wie er in das programmieren reingekommen ist, wie mit dem frust umgegangen wurde wenn man dutzende male das programm starten will aber immer irgendein unverständlicher fehler beim compilen oder zur laufzeit kommt, welche lernmethoden eigentlich angewendet wurden und ob man mit der ganzen sache überhaupt geld verdient.

    am pc war ich wahrscheinlich mehr als mein halbes leben lang. damals noch nur die games jeden tag, später dinge die nicht weniger zeitaufwändig waren aber womit man schon kleinere projekte auf die beine stellen konnte. modding für ein pc spiel, 3d design oder grafik um die zeit zu vertreiben. nach jahrelanger photoshop erfahrung hab ich mich irgendwann mit webseiten beschäftigt, einfaches html, was damals als kind nichtmal einfach war. ich hatte so einige webseiten erstellt gehabt, hat mir grade mal für die informatiknote in der schule was genützt, deswegen gabs nicht viele gründe noch weiter irgendwelche websites zu pumpen die zwar krass aussehen aber keine besondere funktion erfüllen.
    danach hab ich mir aus den massen von kostenloser literatur im internet einfach ein php buch genommen und jeden tag gelesen und die beispiele gemacht, bin damit aber nichtmal fertig geworden. die motivation war dass ich so extrem viel zeit vorm pc verbracht hab aber von programmieren nicht die leiseste ahnung hatte, was natürlich nicht so bleiben konnte. ich wollte nicht immer nur die tausenden von benutzerfreundlichen interfaces benutzen, das kann ja jeder idiot. ich wollte dinge erschaffen, den computer steuern wie es nicht jeder normale benutzer kann. dann kam mit php irgendwann natürlich die ernüchterung dass ich keinerlei ziel hatte, höchstens mal für den informatikunterricht ne winzige website aber sonst wurde diese fähigkeit nirgendwo benötigt.
    php war nur eine scriptsprache, reicht kaum über den browser hinaus, die programmiersprache meiner wahl war dann java. es soll ja plattformunabhängig und leicht zu verstehen sein, also wieder ein buch gesaugt und jeden tag weitergemacht. das bot schonmal eine menge an möglichkeiten für verschiedene spielereien, und für ein grundverständlich von elementen aller programmiersprachen, aber auch da kam die ernüchterung weil ich kaum motivation hatte da was zu coden. tausende dinge könnte man programmieren, und alles davon gibt es schon irgendwo, in besserer form. ein wichtiger punkt war noch, dass man alle java funktionen perfekt anwenden zu wissen konnte, und trotzdem hätte man keine ahnung was dahinter so abläuft, weil man immer, wie ein ziemlich profihafter programmierer mal geschrieben hat, nur somehugenamespace.someclass.somefunction() benutzt um ein problem zu lösen.
    solange es funktioniert ist ja egal was da so abläuft. mit dieser einstellung war ich nicht ganz einverstanden. ich wollte noch näher an die hardware ran, so dinge machen wie das laufwerk beliebig oft auf und zu gehen zu lassen, gedrückte tasten verarbeiten und solche dinge. also einfach mal c++ buch gesaugt und jeden tag weitergemacht.
    die sprache war noch viel frustrierender als java oder php, vermutlich auch viel fehleranfälliger, aber es bietet wohl mehr steuerungsmöglichkeiten und am ende hat man perfekt den maschinencode als .exe, nicht wie bei java. hab mich dann noch mit dem windows api beschäftigt und tu es auch immer noch. ich lese immernoch in einem c++ buch, und hab nicht viel motivation übrig. die programmieraufgaben des buchs sind meistens einfach, aber wenn man etwas ganz anderes versucht dann wird daraus meistens nichts, weil immer das wissen fehlt. man googlet das problen und weil man bestimmte codeelemente kaum versteht und nicht zu jeder kleinigkeit einen ausgiebigen text suchen kann, übernimmt man es einfach. ich kann nicht jeden tag voll konzentriert in so nem buch weiterlesen, die aufgaben machen und das wars.
    in der ganzen zeit hab ich wohl noch kein einziges nützliches programm fertiggestellt. ich will weitermachen aber ich weis nicht wo. ich will wissen wie andere es geschafft haben solche experten zu werden. haben die das alle studiert und haben jahrelange berufserfahrung oder so? ich mach das jetzt noch als hobby, nach der schule will ich aber in richtung IT.



  • Nun ja, als ich angefangen habe, war meine Hauptmotivation wohl, diesen komischen Zauberkasten etwas besser zu verstehen, der da immer so hübsche Bildchen auf meinen Monitor zauberte. Da meine Informatiklehrer allesamt inkompetent waren, habe ich mich halt selbst ans Werk gemacht. Erfahrung mit HTML/PHP hatte ich da schon, aber das hilft bei der Frage natürlich eher weniger. Irgendwann bin ich dann auf C gestoßen, die Sprache hat mir sehr gefallen, einfach weil sie implizit genau die Fragen über den Computer beantwortet hat, die ich so lange hatte. Joa, das war eigentlich immer so die Motivation, ich wollte verstehen wie Dinge funktionieren. Der Computer, das Internet, etc. Und der einfachste Weg war meistens irgendein C Programm zu schreiben. Der Computer war hier quasi mein Lehrerersatz, denn wenn ich etwas nicht richtig verstanden hatte, dann lief auch das Programm nicht.

    Mittlerweile habe ich eine recht gute Vorstellung davon was in einem Computer so los ist, und meine Motivation etwas zu schreiben beziehe ich eher aus:
    - Es ist nützlich/lustig und nicht zu viel Aufwand
    - Ich bekomme $$
    - Ich möchte Lösungen so elegant wie möglich ausdrücken können. Alles war mir hilft, diese Fähigkeit zu verbessern, werde ich wahrscheinlich lernen.

    Aber ich denke der Wille etwas erstmal zu verstehen, ist am Anfang wohl die größte Motivation. Bis man Geld damit verdienen kann dauert es eh, und auch dann hängt es wohl weniger von den eigenen Fähgikeiten, als von irgendeinem Wisch ab den man hat. (Abgeschlossenes Studium, Berufserfahrung etc., niemanden interessiert wie "gut" man wirklich ist.) Und Resultate bekommt man als Anfänger ja auch nicht ohne Ende, und dass das Programm auch elegant ist, ist wohl die geringste Sorge, wenn man schon alles dafür tun würde, es nur durch den Compiler zu bekommen. 🤡



  • Das liest sich so, als wolltest Du nicht Programmiereren um seiner selbst willen lernen sondern nur irgendwelche Ziele erreichen. Oder um einen Status zu erreichen: Die Hintergründe zu verstehen.
    Wenn Du so wenig Motivation hast, dann lass es doch einfach. Warum sich mit etwas quälen, was keinen Spaß macht?

    Ich fand das Programmieren damals einfach nur faszinierend. GUIs oder bestimmte Ziele haben mich garnicht interessiert. Compiler, Editor ein 1000 Seiten Buch und dann nur Konsolenanwendungen. Jedes Codeschnippsel aus Leerbüchern eingetippt und erweitert, bis das Verständnis da war. Reichte völlig aus als Motivation. Wenn mich jemand gefragt hat warum ich das lerne, also mit welchem Ziel, konnte ich es nicht beantworten. Außer, dass es mich einfach sehr interessierte.

    Wäre programmieren das richtige für Dich, hättest Du womöglich als Einsteiger garkeine Motivationsschwierigkeiten.

    Für mich zum Beispiel war Linux niemals etwas, was ich besser als ein DAU verstehen kann. In den späten Neunzigern habe ich Linux das erste mal installiert. Dann immer mal wieder, alle paar Jahre. Auch mal längere Zeiten am Stück parallel zu Windows verwendet. Ziel war immer in die Tiefen des Systems einzutauchen aber jeder Versuch war mangels Motivation hoffnungslos zum Scheitern verurteilt. Ich WÄRE gerne Linux-Guru, aber der steinige Weg dahin ist für mich nicht zu bewältigen, weil es mich zu Tode langweilt mich damit zu beschäftigen. Konfigfiles, Consolen und der ganze Kram Motivieren mich kein bisschen. Vielleicht geht's Dir ja mit den Grundlagen der Programmierung ähnlich?



  • Nikolai schrieb:

    ich lerne grade dinge wie c++ oder das windows api indem ich einfach nur ein buch darüber lese

    Programmieren lernt man nicht in der Schule, nicht mit einem Buch, nicht mit Magie. Programmieren lernt man nur, indem man programmiert und immer wieder auf die Schnauze fällt - auch nach 10 Jahren noch.

    Und in der Regel ist es auch so, dass man nur gut programmieren kann, wenn es einem grundsätzlich auch Spass macht. Mir hat es Spass gemacht, Dinge wie Vererbung zu lernen und in C++ bis auf die Spitze zu treiben. Nicht um ein bestimmtes ziel zu erreichen, sondern einfach intrinsisch weil ich es extrem spannend fand. Dasselbe mit .NET, wo ich mittels Reflection selbst eine Art "Compiler" programmiert habe, ohne Namen und ohne Verwendungszweck. Hauptsache ich hatte eine Beschäftigung 😉

    Früher war es einfach, den Einstieg zu finden. DOS + Basic konnte ja jeder irgendwie lernen. C++ & WinAPI ist hingegen ein extrem steiniger (und bei der WinAPI bin ich versucht zu sagen: sinnloser) Einstieg. Was motiviert ist der Fortschritt. Mit jedem kleinen Erfolg steigt die Motivation, noch mehr zu arbeiten um noch mehr zu erreichen.



  • Meine Motivation war, dass ich einfach wissen wollte wie Software funktioniert und wollte selbst Programme erstellen. Bücher gelesen habe ich darüber nicht, sondern durch Herumfummeln mit Codebeispielen programmieren gelernt. Wenn etwas nicht funktionierte, so wie ich es mir vorstellte, habe ich gefragt bzw. nach dem Problem gegooglet. Allerdings muss ich dazusagen: wenn mich etwas interessiert, von dem ich noch nichts verstehe, bin ich wie besessen. Ich gebe nicht auf, bis ich es verstanden habe. Diese Eigenschaft eines Fanatikers ist manchmal hilfreich, aber man muss sie kontrollieren können.

    Btw, ich lerne nur interaktiv, durch eigene Tätigkeit. Lese ich ein Buch über ein trockenes Thema, werde aber nicht selbst aktiv, habe ich in wenigen Tagen alles wieder vergessen.



  • Ich fange auch gerade mit C++. Meine erste Programmiersprache war in den 90zigern Assembler auf dem Commodore Amiga, da ist C oder auch C++ schon wieder sehr abstrakt und auch hier möchte ich irgendwann erfahren was unter der Haube los ist.

    Meine Motivation ist, eigene Software mit GUI zu schreiben. Ich habe viele Ideen wie Software besser zu bedienen wäre und was für Funktionen fehlen, da kaum jemand da drauf wirklich wert zu legen scheint, fange ich halt an es selbst zu machen, egal wie viele Jahre es mich kostet.

    Wie hier schon geschrieben, geht die meiste Zeit für Fehlersuche drauf. Vor dem Programmieren muss man sich auch erst mal klar werden wie das Programm die Anforderungen umsetzen soll. Es muss in leichte Häpchen zerteilt werden. Aber man darf sich auch nicht Verplanen.

    Der beste Spruch ist immer noch:"Programmieren lernt man nur durch programmieren". Nur Lesen oder ewig dran rumdesignen führt in eine Sackgasse, ist meine bescheidene Erfahrung.



  • Also ich wollte unbedingt mal ein Spiel wie Asteroids programmieren können.
    Dazu reicht(e) aber kein C oder C++, man braucht gewisses Hintergrundwissen für Lowlevel, Mathematik oder wenn man das heute machen möchte, diese oder jene Bibliotheksfunktion/Programmierumgebung im Verbund.

    Was generell sehr geholfen hatte, war u.a. auch die Mathematik in der Schule (Statistik mit Basic) und das war schon mal ein super Zugang. Lineare Arithmetik und Statistikgedöns und Programmiertechniken dazu kann man immer irgendwo gebrauchen.

    Dann gehören zur Entwicklung natürlich etliche Stunden "bemühtes" Nachgrübeln über Probleme und Lösungen finden. Und Situationen, wo man viel später die Sache längst vergessen hat, und einem plötzlich der Lösungsansatz zufliegt.
    An der Uni kann man dann noch mit vielen anderen Studenten und Lehrern Austausch betreiben, und zur Verfügung stehene Techniken benutzen.
    Aber ein Studium ist gewissermaßen wie ein Diablo2 Ladderrun, alles nur noch auf die Schnelle und fast nur noch ausschließlich Baalruns. Natürlich kommt man nachher big gepimt heraus 😉
    (aber nicht nur das, auch ein "kritischer" Blick für Alltagsgeschichten, "Programmierkultur" Sprachen etc. war mit dabei)

    Die meisten Linuxprogramme wirken auf mich auch immer sehr motivierend im Sinne von "Ey, das kann man aber besser programmieren" oder so ähnlich...aber auf der anderen Seite auch wieder demotivierend, im Sinne von "Hm da gibt es doch schon viel zu viel (Unfug)"...für Hacker aber wieder sehr motivierend, die nutzen dann Fehlfunktionen oder Sicherheitslücken diverser unscheinbarer Programme oder eben eine gewisse Form von Undokumentiertheit von einfachsten Progammen, die in Windows meist völlig aus sich selbst verständlich sind.
    Man kann auch Konsoleprogramme im Sinne von "Aus sich selbst-verständlich" programmieren. Bei vielen alten Dos-Konsoleprogrammen war das so.
    Nun gut, aber das ist allenfalls eine Art Hilfsmotivation. Und ich denke auch mal, weniger ist mehr bei Linux.
    Der Programmierer vom Midnight Commander
    http://de.wikipedia.org/wiki/Miguel_de_Icaza
    http://tirania.org/blog/archive/2012/Aug-29.html
    http://www.golem.de/1002/73129.html
    hatte einfach ein altes Dosprogramm (Norton Commander) genommen und nach C übertragen, einfach als Lernprojekt. Hat ganz gut funktioniert, könnte man sagen.

    Ein recht gut dokumentiertes Windows Programmierbeispiel: http://www.tipp10.com/de/

    Wie weit kommst du mit deinen Progammierkenntnissen bei
    http://projecteuler.net/



  • Bei mir war es Kreativität, die ich ins Programmieren steckte.
    Angefangen habe ich mit Warcraft Karten. Ganz simpel, das kann jedes Kind. Und dann habe ich angefangen einfache Sachen in Programme umzusetzen. Nicht primär weil ich die Sprach lernen wollte, sondern weil ich das Programm haben wollte. Das Buch kam allerdings dadurch recht spät. Das hat aber super geholfen und dann ging es richtig los... Jetzt komme ich gar nicht mehr ohne programmieren am PC aus...

    EDIT: Das ganze kam mit der Zeit ganz ungezwungen und die Bücher habe ich verteilt ganz nebenbei gelesen. Nicht mit dem "muss" im Hinterkopf.



  • Nikolai schrieb:

    ich lerne grade dinge wie c++ oder das windows api indem ich einfach nur ein buch darüber lese, aber langsam schwindet die motivation dafür. immer nur lesen und man kommt kaum weiter.

    Da liegt wohl dein Problem. Immer nur lesen bringt einen nicht weiter. Programmieren lernt man nur, indem man es tut. Bücher vermitteln einem das nötige Wissen, aber dieses Wissen anzuwenden, lernt man nur durch Erfahrung. Fang ein Projekt an, etwas das du eben gerne machen möchtest, für den Anfang nicht zu groß und versuch es umzusetzen, wende dein vorhandenes Wissen an und wachse an den Herausforderungen, auf die du entlang des Weges treffen wirst...



  • Nikolai schrieb:

    mich interessiert der werdegang von anderen

    Mit 9 in der Grudnschule Basic am C64 gelernt, dann einen Computer gekauft und mich so von Computer zu Computer gehangelt und von Sprache zu Sprache.

    Nikolai schrieb:

    bei mancher software ist es für mich kaum nachvollziehbar wie jemand sowas erstellen konnte oder wie er das ganze wissen und die erfahrung über das programmieren erlangen konnte.

    In dem er sie geschrieben hat.
    Ich habe noch keine Software geschrieben, bei der ich vorher wusste, wie ich sie schreiben müsste.

    Nikolai schrieb:

    wie mit dem frust umgegangen wurde wenn man dutzende male das programm starten will aber immer irgendein unverständlicher fehler beim compilen oder zur laufzeit kommt, welche lernmethoden eigentlich angewendet wurden und ob man mit der ganzen sache überhaupt geld verdient.

    Joah, der Frust ist eigentlich nur zu ertragen, wenn man die Erfahrung gemacht hat, dass man es immer geschafft hat. Irgendwann ist es eine Herausforderung, die man routiniert abspult, weil man schon (fast) alles gesehen hat.

    Nikolai schrieb:

    also einfach mal c++ buch gesaugt und jeden tag weitergemacht.
    die sprache war noch viel frustrierender als java oder php, vermutlich auch viel fehleranfälliger

    Hehehe, das ist, was man unter Programmieren lernen verstehen kann. Ich habe C++ aus einem rororo-Buch, eher Heft, gelernt, das ich nur zur Hälfte gelesen habe. Danach hatte ich keine Zeit zum Lesen, ich musste programmieren.

    Nikolai schrieb:

    ich lese immernoch in einem c++ buch, und hab nicht viel motivation übrig.

    Lass die WinAPI weg. Wenn das Buch dicker als 300 Seiten ist, dann vergiss es. Die meisten Bücher > 300 Seiten kannst Du direkt in die Tonne packen.

    WinAPI muss man nur kennen, wenn es sich nicht verhindern lässt und solange Du dafür nicht bezahlt wird, und es nicht wirklich unbedingt sein muss, besteht kein Grund, sich damit zu frusten.

    Nikolai schrieb:

    t hab ich wohl noch kein einziges nützliches programm fertiggestellt. ich will weitermachen aber ich weis nicht wo. ich will wissen wie andere es geschafft haben solche experten zu werden. haben die das alle studiert und haben jahrelange berufserfahrung oder so? ich mach das jetzt noch als hobby, nach der schule will ich aber in richtung IT.

    Also ich lebe inzwischen davon, ich habe Informatik studiert, aber als ich ins Studium ging, hatte ich bereits 13 Jahre Programmiererfahrung.

    Erzähl mal, was Du kannst und was Du derzeit so programmierst.



  • nachtfeuer schrieb:

    Also ich wollte unbedingt mal ein Spiel wie Asteroids programmieren können.
    Dazu reicht(e) aber kein C oder C++, man braucht gewisses Hintergrundwissen für Lowlevel, Mathematik oder wenn man das heute machen möchte, diese oder jene Bibliotheksfunktion/Programmierumgebung im Verbund.

    Für Spiele wie Asteroids reicht etwas Programmiererfahrung und die Kenntnis, wie man bestimmte Punkte des Bildschirms verändern kann. Das Original verlangte zudem die Steuerung der Hardware, um den Kathodenstrahl geschickt zu lenken und um den Nachleuchteffekt auszunutzen.

    Viel faszinierender finde ich die taktzyklengenaue Emulation kompletter Uralt-Computer in sowas wie Java, inklusive der Eigenschaften aller Chips, aus denen diese Geräte bestanden.



  • Z schrieb:

    nachtfeuer schrieb:

    Also ich wollte unbedingt mal ein Spiel wie Asteroids programmieren können.
    Dazu reicht(e) aber kein C oder C++, man braucht gewisses Hintergrundwissen für Lowlevel, Mathematik oder wenn man das heute machen möchte, diese oder jene Bibliotheksfunktion/Programmierumgebung im Verbund.

    Für Spiele wie Asteroids reicht etwas Programmiererfahrung und die Kenntnis, wie man bestimmte Punkte des Bildschirms verändern kann. Das Original verlangte zudem die Steuerung der Hardware, um den Kathodenstrahl geschickt zu lenken und um den Nachleuchteffekt auszunutzen.

    Viel faszinierender finde ich die taktzyklengenaue Emulation kompletter Uralt-Computer in sowas wie Java, inklusive der Eigenschaften aller Chips, aus denen diese Geräte bestanden.

    Vor dem Jubiläumsheft der Zeitschrift C't wurde ja die Technik der alten Kiste einigermaßen beschrieben, bezüglich eines Bot-Wettbewerbs.
    Hier noch mal eine Hintergrundseite dazu, die eben auch aufzeigt, das ein Buch mit Programmierbeispielen allein meist nicht ausreicht.
    http://www.heise.de/ct/projekte/machmit/asteroids/wiki/BeginnersGettingStarted


Anmelden zum Antworten