Bruno hat geschrieben:Aber jeder hat seine Art zu lernen.
Für Dich mag die Methode den Lernenden mit Hinweisen und Tipps langsam an das Problem heranzuführen die effektivste sein.
Mich frustriert es eher.
Du bist vermutlich älter als 12 Jahre. (Ich weiß... für diese Schlussfolgerung gibt's auch keinen Preis mehr...)
Kinder sind unglaublich frustrationstolerant, wenn was nicht klappt, probiert man es einfach wieder. Kinder haben nicht das Gefühl für etwas zu dumm oder untalentiert zu sein. So lernen wir laufen, sprechen und machen unglaublich viele Fehler und "Dummheiten".
Irgendwann kommt das Alter, in dem man sich beweisen muss und man frustriert ist, wenn man erkennt, dass man Zeit braucht, um neue Dinge zu lernen.
Du lernst eine "Fremdsprache". Um gut C zu programmieren, wirst Du Jahre brauchen, wie bei einer gesprochenen Sprache. Und das liegt nicht an C, sondern daran, dass Du ein Gefühl dafür bekommen musst. Du musst "geflügelte Worte" lernen, Sprichwörter, Standard-Satzbauten.
Kannst Du mir deutsche Grammatik erklären? Trotzdem kannst Du korrekt formulieren.
Du musst Standard-Fehler lernen, wie den, den Du gemacht hast. Wir haben diesen Fehler alle gemacht, wir haben ihn alle gesucht und darum gucken wir auf den Quelltext und sehen sofort, was da falsch läuft. Wir sehen das ja nicht zum ersten Mal. Kompetenz ist nichts anderes als dass wir uns schon häufiger dumm angestellt haben, als Du.
Die Zeit Fehler zu machen wirst Du Dir nehmen müssen.
Bruno hat geschrieben:Es liegt sicher auch an dem Kompetenz- und Erfahrungsunterschied zwischen uns. Für mich ist C eine notwendige "Nebenkompetenz" in meinem Job, die mir ordentlich Kopfzerbrechen bereitet, für Dich ist es (wenn ich Deinen background richtig einschätze) eher etwas Hauptberufliches.
Gute Programmierkenntnisse sind keine "Nebenkompetenz", wo man ein Buch liest und dann ist alles super. Ich mache das seit 25 Jahren, habe ein Diplom der Informatik und würde mich als deutlich "fortgeschritten" bezeichnen, aber nicht als "fertig".
Ich versuche also seit 25 Jahren das zu lernen und zu begreifen, was Du als "Nebenkompetenz" bezeichnest.
Bruno hat geschrieben:Xin hat geschrieben:Um in Deiner Metapher zu bleiben: Ich habe einen Stadtplan, mit dem ich die Holzstraße erwiesenermaßen erreichen kann, jetzt bin ich hier in dieser Stadt, wieso funktioniert das nicht!?
Jetzt bringst Du was durcheinander: Ich habe mehrere Seminare zum Thema Fremd- und Selbstwahrnehmung, Kommunikation und Gesprächsführung besucht. Daher stammt das Zitat: "Das Mißverständnis ist das normale".
Und was bringe ich nun durcheinander?
Ich hatte zwei Jahre Pädagogik während des Abiturs. Sender und Empfänger einer Botschaft verwenden ein verschlüsseltes Medium - Sprache - auf das beide entsprechend ihrer Stimmung unterschiedlich reagieren. Die Botschaft zu übermitteln ist also von der Stimmung Deines Gegenübers abhängig und Deiner eigenen. Ich kann nur versuchen neutral zu bleiben, um soviel wie möglich meiner Botschaft zu übermitteln.
Du warst derart frustriert, dass Du die mehrfachen Hinweise überlesen hast.
Auch das wirst Du lernen müssen. Ein Compiler sagt Dir, was ihm nicht passt. Manchmal braucht man Stunden, um von seiner emotionalen Überzeugung, dass das so gehen muss wegzukommen und endlich das zu lesen UND wahrzunehmen, was der Compiler einem seit Stunden mitteilt.
Bruno hat geschrieben:Den Quelltext habe ich aus einem Lehrbuch, was mir ein Kollege "vermacht" hat abgetippt, teilweise hatte er die Beispiele auch schon als Datei und sie mir rüberkopiert.
Schmeiß das Lehrbuch weg, wenn es älter als 5 Jahre ist, lösche die kopierten Quelltexte. Du lernst nichts, wenn Du Übungen anderer kopierst.
Kauf Dir ein aktuelles Lehrbuch und schreib Deine eigenen Quelltexte.
Bruno hat geschrieben:Korrekt, wobei der interpretatorische Spielraum auf beiden Seiten recht groß werden kann.
Wir machen hier Software. Es geht um Programmierung.
Interpretation ist genau das, was ein Compiler nicht macht.
Interpretation ist eben das, was Du Dir abgewöhnen musst.
Lies den Quelltext, Du musst ihn nachvollziehen, nicht interpretieren. Wir sind nicht im Deutschunterricht, wo Du Gedichte interpretieren musst. Du kannst mit Programmiersprachen zum Dichter werden, indem Du Algorithmen schreibst, die optisch, wie auch semantisch "schön" sind. Ein Algorithmus ist "schön", wenn er klar und einfach ist und dennoch fehlerfrei, leistungsfähig und fehlertolerant bei den Eingabedaten.
Aber zu interpretieren gibt es hier nichts.
Bruno hat geschrieben:Ich verlange ja gar, daß Ihr meinen Code schreibt!
Ich war nur etwas gefrustet, weil Dir die Lösung des Problems anscheinend sofort klar war und wir quasi einen Tag gebraucht haben das auf die Reihe zu bekommen.
Wie ich schon sagte: gute Programmierkenntnisse sind keine "Nebenkompetenz". Fähige Informatiker, bzw. kompetente Softwareentwickler sind keine schlechte Investition, wenn man gute Software haben möchte.
Ich wurde mal gefragt, warum ich den Wert meiner Ausbildung durch die kostenlose Bereitstellung von Informationen sabotiere. Das sehe ich anders, denn ich kann nur Wissen zur Verfügung stellen, ich verkaufe aber Erfahrung und Kompetenz in der Anwendung des Wissens.
In Deinem Fall ist der Unterschied, dass ein kompetenter Entwickler da einen Blick drauf wirft und weißt, wo es hakt und Du noch auf dem Weg bist, ein kompetenter Entwickler zu werden. Das kostet Zeit, die ich Dir nicht abnehmen kann. Dir mein Wissen zur Verfügung zu stellen, kostet mich also nicht den Wert meiner Ausbildung.
Würde ich Dich des Lernprozesses berauben, wirst Du keine Fortschritte machen. Lernen ist auch das Erkennen von Unannehmlichkeiten und das Austüfteln von Lösungen, damit es angenehmer wird. Du wirst diese Unannehmlichkeit jetzt vermeiden und im Falle dass Du sie wiederholst (und das wirst Du), wirst Du sie schneller wiedererkennen. Irgendwann wirfst Du nur noch einen Blick drauf.
Für Dich (bzw. Deinen Chef) gibt es zwei Lösungen: Dir eine qualitative Ausbildung zu vermitteln, was definitiv nicht unter "Nebenkompetenz" zu führen ist oder die Probleme von Entwicklern lösen zu lassen, die diese "Nebenkompetenz" bereits besitzen.
proggen.org vermittelt Dir gerne und kostenlos die Möglichkeit die Kompetenz zu erlangen, Deine Probleme selbst zu lösen. Darum geht es hier, sich gegenseitig Kompetenz zu vermitteln und Diskussionspartner zu finden. Wir helfe Dir und wenn Du Kompetent bist, hilfst Du anderen Einsteigern und auch uns. Zum Beispiel in dem man über die gemachten Erfahrungen diskutiert. Kerli hat andere Erfahrungen als ich und ich andere als er. Zusammen kann man vielleicht ein Problem lösen, dass ein einzelner nicht schafft-
Wenn ich aber Deine Probleme lösen soll, so möchte ich dafür bezahlt werden. Ich habe nicht 25 Jahre "Nebenkompetenzen" anhäuft, um sie zu verschenken. Die Probleme anderer lösen zu können, ist meine Kompetenz. Dafür habe ich studiert, dafür werde ich bezahlt, dafür sitze ich aber auch 8 Stunden im Büro und löse anderer Leute Probleme.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.