Grundsatzfrage bzgl. der Eignung für die Programmierung



  • Am wichtigsten ist, dass du Spaß am Programmieren hast.
    Hab damals mit C angefangen und hab für Mikrocontroller, selbstgebastelte Roboter, Schultaschenrechner und für die Konsole kleine (nutzlose 😉 ) C Programme geschrieben.
    Du glaubst nicht, wie oft ich Scheiße gebaut habe, und irgendwelche dubiosen Fehler gemacht habe. Aber dann gabs auch die Momente, als endlich alles geklappt hat. Die von mir programmiere künstliche Intelligenz von 4 Gewinnt mich endlich besiegen konnte. Oder ein Bildverarbeitungsalgorithmus endlich das richtige Ergebnisbild ausgespuckt hat. Usw...

    Aber ich hab eigentlich immer wieder Spaß daran gehabt, neue Dinge zu probieren, und nach einigen Jahren bin ich jetzt ein halbwegs brauchbarer Programmierer.
    Arbeite inzwischen als C++ Entwickler für embedded systems, und komme eigentlich sehr gut klar. Gerade weil ich eben Programmieren immer als Spaß gesehen habe, und nicht nur rein aus der Ausbildung (Schule + Uni) kennengelernt habe.
    Dort habe ich natürlich auch einiges gelernt, aber das meiste habe ich selber gelernt, wenn ich z.B. eine Nacht lang darüber gedüftelt habe, wie ich einen PID Regler dazu bekomme, meinen Roboter auf einer geraden Linie fahren zu lassen.

    Vielleicht wäre es gut, mit weniger abstrakten Dingen wie std::string anzufangen. C++ legt auf C nochmal eine Abstraktionsebene drauf. Vielleicht wäre es besser, du siehst dir die C Strings mal an, denn mit denen arbeitest du direkt am Speicher, das kannst du dann auch sehr gut debuggen und dir anschauen, was da genau passiert. Und zum Stringvergleich schreibst du dir deine eigene Funktion, die zwei C Strings annimmt, und einfach Zeichen für Zeichen vergleicht.
    Denn letztlich passiert in C++ genau das gleiche, nur dass die Dinge etwas versteckter, hinter der Hülle einer oder mehrerer Klassen, ablaufen.
    Und wenn du dann str1.compare(str2) aufrufst, dann weißt du wenigstens genau, was da im Hintergrund tatsächlich abläuft.

    Also spiel weiter mit C und C++, und hab Spaß daran. Gerade in der Softwareentwicklung stößt man immer wieder auf Problemstellungen, von denen man davor nicht mal noch gehört hat. Man ist also auch als Profi immer wieder Anfänger - auf einem neuen Fachgebiet. Doch ist nicht das gerade das spannende am Programmieren?



  • silent_max schrieb:

    Hättet ihr etwas dagegen, wenn ich weiterhin hier etwas poste?

    Nein. Warum sollte?

    Überleg dir VOR jeder Aufgabe, ob du sie jemand anderen erklären kannst. Dann hast du die Aufgabe verstanden und kannst dich an die Lösung machen 🙂



  • und lass dich auch nicht vom teils rauen Ton im Forum abschrecken.
    Man wird belehrt und manchmal sogar als dumm dargestellt, aber wenn man dann mal drüber nachdenkt was der eine oder andere so geschrieben hat kann man sehr viel dabei lernen!

    programmierer sind halt keine softies 😃



  • programmierer sind halt keine softies

    Genau genommen schon ;). Die Techniker sind schon eher die "harten Jungs" 🤡



  • So wie ich Dich verstanden habe kleiner Troll, sollte man sich schon vorher Gedanken machen, wie man einen Programmcode aufsetzt??

    Ja, ja und ja! Du erinnerst dich vllt an den anderen thread, wo gefragt wurde warum du x machst. Das ziehlte in etwa genau darauf ab. So ein strukturiertes Vorgehen machen die meisten irgendwann mehr oder weniger "automatisch", aber wohl scheinbar nicht jeder.
    Das heißt nicht, das man so keine Fehler man macht, aber man versteht dann schnell, warum etwas falsch ist.



  • Selber nachdenken macht schlau. Hat mein Mathelehrer immer gesagt.
    Ich laufe öfters in Probleme, dann fange ich an hier einen Beitrag zu schreiben. Da muss erst das Ziel drin stehen was ich machen will,
    dann der Ansatz wie ich das löse und dann was daran nicht funktioniert. Und während ich so meine Frage formuliere fallen mir alle
    Schlaumeierantworten ein die hier so gegeben werden (oder die ich selber geben würde). Die Frage muss also so gestellt werden, dass
    ich all diese Schlaumeierantworten schon bedacht und durchprobiert habe. Und nachdem ich meine Frage mittelmäßig idiotensicher
    gestellt habe ist sie so einfach, dass ich selbst auf die Antwort komme.
    Dieses Forum hilft mir sehr, weil ich hier Fragen entwerfe, die ich dann nicht abschicke, die aber trotzdem beantwortet sind (ein
    magisches Forum ist das) (Ich drücke auch ungefähr 20 mal auf Vorschau bevor ich was abschicke.
    do drüberlesen(); while (fehlergefunden);).
    Das ist ungefähr dasselbe, was Troll meinte. Beim Frage stellen strukturiere ich meine Gedanken und analysiere das Problem, was der
    Schlüssel zur Problemlösung ist. Du wirst sicherlich deine eigene Form der Problemanalyse finden.

    Noch ein paar Tipps:
    Unbedingt den Debugger benutzen. Du hast ein Programm, es tut nicht was es soll. Du kannst Schritt für Schritt durch das Programm gehen
    und vergleichen, ob sich das was das Programm tut mit deinen Erwartungen deckt und genau die Stelle finden, wo das nicht mehr der Fall
    ist. Das setzt natürlich voraus, dass du weißt, was du willst. Und das Ziel ist nicht "Die Aufgabe lösen" sondern "Diese Funktion tut
    X".

    Kenne deine Grenzen. Ich habe festgestellt, dass ich an guten Tagen ungefähr 1000 Zeilen selbst geschriebenen Code überblicken kann.
    Danach setzt mein Hirn aus und es kommt nur noch Blödsinn raus. Wie schreibe ich ein 3000 Zeilen langes Programm? Ich muss dafür
    sorgen, dass ich mindestens 3 Teile habe, die unabhängig voneinander verständlich sind. Dann gibt es eine einfache Funktionsstruktur,
    wo ein Teil jeweils andere Teile benutzt. Wenn irgendwo irgendwas schief geht, muss sofort klar sein, welcher Teil schuld hat, sonst
    bin ich in den 3000 Zeilen verloren. Das ist ungefähr das, was man mit Kapselung/Strukturierung/Objektorientiertheit/Wasauchimmer
    bezeichnet, allerdings für mich verständlicher.



  • silent_max schrieb:

    Ich hätte einmal eine Grundsatzfrage...
    Was haltet ihr denn davon?? Hat es überhaupt denn Sinn, weiter zu kämpfen wenn man so ungeeignet und untalentiert ist wie ich?? Oder macht es nicht mehr Sinn, nach was anderem zu suchen?

    Hat es also Sinn, wenn man im Kopf so unstrukturiert und so untalentiert wie ich an die Sache rangeht und die Leute hier im Forum schon weitestgehend geschrieben haben, dass man 0,0 "Talent" hat und es besser sein lassen soll, weiterhin zu kämpfen??

    aach egal. untalentiert sind 99,9% aller user hier auch, das fällt nicht weiter auf, guck dir mal Sone an z.b.
    wenn du spass dran hast(an deinen proggies die nicht laufen), einfach weitermachen! 👍



  • Ich les hier nicht genug, um mir irgendein Urteil über silent_maxs Talent erlauben zu können. Hier nur ein paar Gedanken zum Thema "Talent und Training", auf die ich Hauptsächlich durch meine Trainertätigkeiten im Sport gekommen bin, von denen sich aber vielleicht auch einige Sachen aufs Programmieren übertragen lassen:
    - Um Weltklasse in irgendwas zu werden müssen meistens Talent und Fleiß zusammenkommen.
    - Extrem gute Leute (zb. Shade Of Mine?) behaupten gerne, man bräuchte kein Talent und sie wären nur durch ihre Lern-Einstellung dahin gekommen. Das scheint mir aber genau wie das Gegenteil (schlechte Leute, die sagen, es läge nur an ihrer Veranlagung) eine Form vom Self-serving bias (http://de.wikipedia.org/wiki/Selbstwertdienliche_Verzerrung) zu sein.
    - Durch harte Arbeit lässt sich trotzdem (auch mit durchschnittlichem Primärtalent) viel erreichen, vorallem wenn die eigenen Stärken und Schwächen erkannt, und dementsprechend die Trainingsmethoden schlau gewählt werden. (Metakognition?)
    - Talent ist nicht binär. Es gibt viele verschiedene Facetten und Abstufungen.
    - Lernkurven verlaufen stark unterschiedlich. Es gibt Leute, die werden anfangs schnell ziemlich gut und steigern sich dann kaum noch weiter. Andere krüppeln anfangs nur rum, werden dann mit den Jahren aber kontinuierlich immer besser und überholen irgendwann viele der "Schnellstarter".
    - Training/Arbeit/Lernen ist wesentlich ergiebiger wenns Spaß macht. Ich tippe drauf, dass es dafür auch eine tolle neurochemiesche Erklärung gibt. 😉



  • silent_max schrieb:

    Ich hätte einmal eine Grundsatzfrage...

    Wie ihr alle mitbekommen habt, habe ich mit der Programmierung Probleme.

    Hast du bis jetzt nur mit C++ programmiert? Als erste Sprache solltest du was einfacheres lernen, z.B. Python.



  • 98iu8iu7z6 schrieb:

    ... Als erste Sprache solltest du was einfacheres lernen, z.B. Python.

    Schnickschnack.
    Man kann auch in C++ einfache Sachen machen. Aber dafür fehlt ihm im Augenblick das rechte Verständnis.

    Die meisten Sachen (Variablen, Kontrollstruckturen, Funktionen) sind in den meisten Programmiersprachen gleich.



  • DirkB schrieb:

    98iu8iu7z6 schrieb:

    ... Als erste Sprache solltest du was einfacheres lernen, z.B. Python.

    Schnickschnack.
    Man kann auch in C++ einfache Sachen machen. Aber dafür fehlt ihm im Augenblick das rechte Verständnis.

    Die meisten Sachen (Variablen, Kontrollstruckturen, Funktionen) sind in den meisten Programmiersprachen gleich.

    In Python muss man sich schon mal sogut wie garnicht um Variablentypen kümmern. Listen und Schleifen darüber sind auch viel einfacher...



  • Dobi schrieb:

    - Um Weltklasse in irgendwas zu werden müssen meistens Talent und Fleiß zusammenkommen.
    - Extrem gute Leute (zb. Shade Of Mine?) behaupten gerne, man bräuchte kein Talent und sie wären nur durch ihre Lern-Einstellung dahin gekommen. ...

    So etwas wie Talent gibt es nicht. Du kannst Shade Of Mine ruhig glauben. Es zählt das Interesse an einem Thema, die investierte Zeit und ein gute Förderung. Mit Förderung meine ich alles von einem Verwandten der einem etwas erklärt, über gute Bücher mit deren Hilfe es einem wie Schuppen von den Augen fällt und natürlich braucht man auch das entsprechende Umfeld und die Möglichkeiten.

    Ausnahmslos alle die eine gewisse Weltklasse erreicht haben oder sogar als Genies gelten (in Sport, Musik, Wissenschaft usw. ...) haben immens mehr Zeit in ein Thema gesteckt als der Rest der Welt. So einfach ist das Leben. 😉



  • silent_max schrieb:

    ...Hat es also Sinn, wenn man im Kopf so unstrukturiert und so untalentiert wie ich an die Sache rangeht und die Leute hier im Forum schon weitestgehend geschrieben haben, dass man 0,0 "Talent" hat und es besser sein lassen soll, weiterhin zu kämpfen??

    Ich würde an deiner Stelle schlicht nicht so viel im Forum posten. Das ist Zeitverschwendung. Quäl dich durch die Aufgaben, sprich mit deinen Mitschülern und frag den Lehrer. Erarbeite 100%ig eigene Lösungen und vergleiche erst dann mit der Musterlösung.

    Wenn dir bei einem Programm wie deinem Stringvergleich so viele Gedanken durch den Kopf schießen, dann setze halt ein paar davon um und überleg dir die Vor- und Nachteile der jeweiligen Lösung bzw. überleg dir ob überhaupt alle Varianten das Problem auch wirklich lösen.

    Der Schlüssel ist, sich von Beginn an selbst um die Aufgaben zu kümmern, vielleicht zusammen mit einem Mitschüler. Nur wenn es wirklich absolut nicht weitergeht wendest du dich an das Forum.

    Was du hier versuchst wird nicht funktionieren. Wenn du in 2 Wochen eine Abschlussprüfung in c++ hast, dann such dir eine Lerngruppe aus Mitschülern die das Fach beherrschen und bereit sind dir alles zu erklären. Das Forum hier wirft dich nur zurück.



  • So ein Schmarrn, natürlich gibt es "so etwas wie Talent".
    Und es ist auch überhaupt nicht egal ob man es hat oder nicht hat.

    Die Vorstellung jeder könne zu einem wirklich guten Programmierer werden ist genau so absurd wie die Vorstellung jeder könne zu einem wirklich guten Schriftsteller/Tänzer/Skateboardfahrer/... werden.

    Das mag vielleicht nicht fair sein, aber es ist einfach so. Es zu verleugnen bringt keinem was. Ausser vielleicht denen, die gerne glauben möchten dass alle die weniger erreicht haben als sie selbst einfach nur faule Säcke sind.



  • hustbaer schrieb:

    So ein Schmarrn, natürlich gibt es "so etwas wie Talent".
    Und es ist auch überhaupt nicht egal ob man es hat oder nicht hat.

    Erzähl keine Märchen.

    Bei manchen Sportarten mag es sein, dass sie zu einer gewissen körperlichen Eigenschaft (wie Größe) besser passen. Das magst du dann Talent nennen.

    Aber bei Programmierern oder Schriftstellern von Talent zu sprechen ist absoluter Nonsens. So etwas gibt es nicht und es hat auch keinen Sinn es herbeischwatzen zu wollen.



  • Mitleid schrieb:

    Dobi schrieb:

    - Um Weltklasse in irgendwas zu werden müssen meistens Talent und Fleiß zusammenkommen.
    - Extrem gute Leute (zb. Shade Of Mine?) behaupten gerne, man bräuchte kein Talent und sie wären nur durch ihre Lern-Einstellung dahin gekommen. ...

    So etwas wie Talent gibt es nicht. Du kannst Shade Of Mine ruhig glauben. Es zählt das Interesse an einem Thema, die investierte Zeit und ein gute Förderung. Mit Förderung meine ich alles von einem Verwandten der einem etwas erklärt, über gute Bücher mit deren Hilfe es einem wie Schuppen von den Augen fällt und natürlich braucht man auch das entsprechende Umfeld und die Möglichkeiten.

    Ausnahmslos alle die eine gewisse Weltklasse erreicht haben oder sogar als Genies gelten (in Sport, Musik, Wissenschaft usw. ...) haben immens mehr Zeit in ein Thema gesteckt als der Rest der Welt. So einfach ist das Leben. 😉

    Du kannst noch so viel Zeit ins Programmieren stecken, wenn du zu dumm und nicht kreativ genug bist, wirst du es nicht zu mehr als zum Codetipper schaffen. Intelligenz (für Logik) und Kreativität sind Begabungen/Talente die man haben muss um in angemessener Zeit ein guter Programmierer zu werden. Man kann vielleicht alles irgendwann lernen, wenn man unendlich viel Zeit hat, aber das hat keiner.



  • ++hustbaer
    Wobei es bei silent_max nicht um Talent geht. Da ist einfach die Fähigkeit von oben nach unten Schritt für Schritt durch eine Funktion zu gehen und dabei zu wissen was passiert nicht vorhanden. Es findet einfach kein Übergang zwischen "was steht im Code" und "was macht das Programm" statt. Das sollte allerdings jeder (auch ohne Talent) nach zwei Tagen schaffen, deshalb sind viele hier ja auch so verwirrt über die Fragen. Und @silent_max niemand hat etwas dagegen, dass du hier postest. Wenn Leute dir raten aufzuhören, dann wohl eher weil sie denken dass du deine Zeit verschwendest. Jeder kann deine Posts einfach ignorieren, wenn er keine Lust mehr hat.



  • keeponturning schrieb:

    Du kannst noch so viel Zeit ins Programmieren stecken, wenn du zu dumm und nicht kreativ genug bist, wirst du es nicht zu mehr als zum Codetipper schaffen. Intelligenz (für Logik) und Kreativität sind Begabungen/Talente die man haben muss um in angemessener Zeit ein guter Programmierer zu werden. Man kann vielleicht alles irgendwann lernen, wenn man unendlich viel Zeit hat, aber das hat keiner.

    Wenn das Denkorgan (das Gehirn) gesund ist gibt es so etwas wie Dummheit schlicht nicht. Und eine Art eingebauter Vorsprung in Sachen Logik und Kreativität gibt es auch nicht. Seit Laszlo Polgar sollten diese Thesen eigentlich auf dem Müllhaufen der Psychologie gelandet sein. Offenbar ist das Thema aber zu reizvoll um es aufzugeben. Jeder wäre halt gern ein Genie. 🙂



  • Mitleid schrieb:

    Wenn das Denkorgan (das Gehirn) gesund ist gibt es so etwas wie Dummheit schlicht nicht. Und eine Art eingebauter Vorsprung in Sachen Logik und Kreativität gibt es auch nicht. Seit Laszlo Polgar sollten diese Thesen eigentlich auf dem Müllhaufen der Psychologie gelandet sein. Offenbar ist das Thema aber zu reizvoll um es aufzugeben. Jeder wäre halt gern ein Genie. 🙂

    Er hat also ein Argumeent gegen Genetik gefunden? Er hat also widerlegt, das bei adoptierten Kindern der IQ völlig unkorreliert mit dem IQ der erziehenden Eltern, aber fast vollständig durch den IQ der leiblichen Eltern erklärbar ist?

    WÜrde mich wundern.



  • Mitleid schrieb:

    ...

    Willst Du auch angeborene Intlligenzunterschiede bestreiten?
    Die Umwelt hat ganz bestimmt einen großen Einfluss, aber angeborene "Talente" zu zerreden ist albern. D.h. nicht, dass ein Mensch geboren wird und mit Pointern jonglieren kann, sondern dass er/sie das Potential hat, solche Dinge besser und schneller zu verstehen als viele andere.
    Selbstverständlich existiert Talent. Es wirkt sich darauf aus, wieviel Lern- und Übungsaufwand betrieben werden muss um ein bestimmtes Level zu erreichen. Und es definiert die maximale Leistung, die ein Mensch in einer Disziplin erreichen kann, bevor eine Sättigung eintritt und keine spürbaren Leistungssprünge mehr möglich sind.


Anmelden zum Antworten