Sebastian_T Geschrieben 31. Oktober 2010 Geschrieben 31. Oktober 2010 Guten Tag, ich würde mich selbst als Programmieranfänger beschreiben und hoffe, ihr könnt mir bei einigen Fragen & Problemen helfen. Ich lerne seit ca. 2 Jahre das Programmieren. Bisher war es aber so, dass ich mir immer verschiedene Sprachen angeschaut habe und eben die Grundlagen gelernt habe. Nun habe ich mich vor ca. 6 Monaten entschieden, bei C++ zu bleiben. Ziel ist es, GUI-Anwendungen und Spiele zu programmieren. Zu Zweiteres zähle ich keine unrealistischen 3D-Ultraspiele, die ich am besten sogar noch alleine programmiere, sondern kleinere Spiele, die sich zumindest vorerst im 2D-Bereich beschränken sollten. Nun kommen wir auch schon zum Hauptproblem. Ich habe mir bisher mehrere Bücher durchgelesen und kenne viele Funktionalitäten der allgemeinen Programmierung und C++. Damit will ich sagen, dass ich vom Allgemeinwissen her eigentlich up to date bin. Ich kenne die Grundlagen, von Schleifen bis hin zur STL und habe mich auch mit der Objektorientierung befasst. Trotzdem weiß ich nie, wie ich beim Programmieren vorgehen soll. Sei es, dass ich eine "Übungsaufgabe" von Freunden gestellt bekomme. Ich versuche sie zu lösen und komme an manchen Punkten nicht weiter. Ich weiß einfach nicht, wie man das "gelernte" auch sinnvoll anwendet. Gucke ich mir nun aber den Quellcode des Anderen an, scheint mir alles logisch und ich kann es sowohl nachvollziehen als auch verstehen. Dann stellt sich mir immer die Frage, wieso ich bloß selbst nicht darauf gekommen bin. Und genau dies ist auch das, dass mich desöfteren demotiviert. Einerseits reicht es mir langsam mit der Konsole. Denn die Funktionalität anhand des Codes habe ich mittlerweile gelernt. Wenn ich mir dann aber nun diverse "Next-Way-Things" wie QT für die GUI-Programmierung anschaue, merke ich wieder, dass ich nicht weiß, wie ich vorgehen soll. Gucke ich mir aber fertige QT-Konstrukte an, kann ich diese verstehen. Ist dies normal? War dies bei euch genauso? Oder bin ich einfach nur zu "dumm" dafür? Ich hoffe, dass ihr mir vielleicht einige Tipps geben könntet, wie ich mein Problem lösen könnte. Denn dieses "für das Eine zu gut, für das Andere zu schlecht" lässt mir keinen Mittelpunkt, mit dem ich mich befassen könnte. Dies hat die Folge, dass ich nach einiger Zeit des Lernens wieder eine "Lernpause" einrichte, da die Motivation wieder flöten ging. Ich möchte noch anmerken, dass ich ein Autodidakt bin. Ich bringe mir alles selbstständig anhand eines Buches bei. Liebe Grüße, Zitieren
carstenj Geschrieben 31. Oktober 2010 Geschrieben 31. Oktober 2010 Hi, tja, das kenne ich auch. Ich glaube man muss dann schon genau analysieren, woran man scheitert. Das erfordert natürlich ein gewisses Durchhaltevermögen, aber genau das bringt einen ans Ziel. Bücher lesen gehört dazu, ist aber auf Dauer langweilig. Das demotiviert (mich) eher, als dass es was nutzt. Wenn ich eine Idee versuche umzusetzen, komme ich irgendwann mal an einen Punkt, an dem ich nicht mehr weiter weiss. Dann versuche ich herauszufinden, ob andere das gleiche Problem schon irgendwie gelöst haben, oder versuche die konkrete Problemstellung in einem Forum zu schildern. Aber genau das ist wichtig: Was fehlt mir, um das Problem zu lösen? Kann ich das Problem überhaupt konkretisieren? Das ist leider oftmals sehr mühselig, aber anders geht es (bei mir zumindest) nicht. Auch wichtig ist, dass man sich keine zu hohen Ziele setzt, das demotiviert genauso. Man sollte sich zudem davon verabschieden, immer alles komplett neu erfinden zu wollen. Wenn bestimmte Teile eines existierenden Programms das tun, was dein Programm tun soll, übernimm diese. Dabei lernt man auch eine Menge. Zitieren
_n4p_ Geschrieben 31. Oktober 2010 Geschrieben 31. Oktober 2010 dein problem ist scheinbar das du programmiersprachen lernst und nicht programmieren. die syntax zu beherrschen und programme entwickeln sind zwei völlig verschiedene dinge. du musst lernen wie du abstrakte probleme in code verwandelst. zu wissen was die funktion xy tut reicht nicht, du musst wissen wann du sie wofür einsetzen kannst. möglicherweise hilft da mal ein buch das sich nicht mit einer speziellen sprache befasst: Einführung in die Software-Entwicklung: Vom Programmieren zur erfolgreichen Software-Projektarbeit: Amazon.de: Hartmut Helmke, Frank Höppner, Rolf Isernhagen: Bücher Zitieren
lilith2k3 Geschrieben 31. Oktober 2010 Geschrieben 31. Oktober 2010 dein problem ist scheinbar das du programmiersprachen lernst und nicht programmieren. die syntax zu beherrschen und programme entwickeln sind zwei völlig verschiedene dinge. du musst lernen wie du abstrakte probleme in code verwandelst. zu wissen was die funktion xy tut reicht nicht, du musst wissen wann du sie wofür einsetzen kannst. Also ich würde sogar noch einen Schritt weiter gehen: Das erlernen einer Programmiersprache ist das eigentlich nebensächliche am Programmiererdasein. Wichtiger ist schon, wie mein Vorredner sagte, dass man die Fähigkeit besitzt, abstrakte Probleme in Codezeilen zu formen. Noch wichtiger ist, dass Du lernst, Probleme als solche zu erkennen und zu klassifizieren. Das heißt, Du musst in der Lage sein, von der Konkreten Aufgabe abstrahieren zu können, und eine allgemeine Lösungsstrategie zu formulieren. Dabei gibt es einen einfachen Grundsatz: Divide et impera. "Teile und Herrsche!" Ein Problem wird derart unterteilt, dass Du die Teilaufgaben Lösen kannst. Beispiel: Du sollst eine Balkengrafik auf den Bildschirm bringen. Dieses Problem kannst Du ganz kleinteilig formulieren, dass Du quasi aus jedem Einzelschritt schon fast eine Codezeile generieren kannst: Wie erzeuge ich ein Ausgabefenster? Wie kann ich das erzeugte Fenster anzeigen lassen? Wie kann ich im Folgenden weiter darauf zugreifen? Wie kann ich einen Strich auf den Schirm zeichnen? Wie kann ich aus verschiedenen Strichen eine Blakengrafik entstehen lassen? Wie ist der Maßstab? Welche Werte repräsentiert ein Balken? etc. pp. Kannst Du eine der vorangegangen Fragen nicht konkret mit einem Stück Code beantworten, musst Du diese Frage weiter zerlegen, bis Du es kannst. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.