C lernen --> Dauer
-
Hallo,
mache z.Z eine Ausbildung als FI-AE. Jedoch komme ich nach einem Monat im Betrieb nur noch schwer mit...
Erst habe ich 2 Wochen lang Tutorial Aufgaben zur Programmiersprache C gemacht (hatte so gut wie gar keine Vorkenntnisse im Bereich Programmieren)
Als ich so gerade mit den Grundfunktionen von C klar kam, musste ich schon mit GTK GUI's programmieren und das auch schon auf einem relativ hohen Niveau (wie ich jedenfalls finde) ich sollte mittels Pipe (Linux Funktion) Daten aus einer Internetseite auslesen und in meinem Code verwenden, mit sehr viel Hilfe habe ich es dann irgendwie hinbekommen. Mein Ausbilder fand das nicht so lustig, dass ich es nicht komplett alleine hinbekommen habe..Nachdem das Projekt abgeschlossen war, ging es nun richtig ans eingemachte --> Hardwareprogrammierung.
Ich bekam einen Schaltplan einer Platine ausgedruckt, er erklärte mir wie dieser funktioniert (wovon ich vielleicht 10% verstanden, habe wenn überhaupt) und sollte nun einem bereits fertigen Quellcode eine weitere Funktion hinzufügen. Dazu sollte ich mir das Datenblatt des zugehörigen Microcontrollers ansehen und es dann selbst erledigen. Ab diesem Punkt steig ich dann gar nicht mehr durch, Bitverschiebung, Pins setzen etc. noch NIE gemacht, wie soll ich dann gleich eine (schwierige) Funktion dazu schreiben, ohne erstmal 3 Tage Tutorials des gesamten Themengebietes durchzuarbeiten? Ich verstehe da meinen Ausbilder nicht wirklich.
Ich habe wirklich Lust die "Kunst" des Programmierens zu erlernen, jedoch bin ich mir gerade nicht sicher, ob das jetzt immer so weiter geht, dass ich kaum verstehe was ich da eigentlich gerade tue...
Außerdem lernen wir in der Schule Java, die natürlich Objektorientiert ist, im Gegensatz zu C, das bringt mich noch zusätzlich durcheinander...
Was meint ihr, fehlt mir einfach das Talent zum programmieren, oder ist es normal das man anfangs relativ lange braucht um "reinzukommen"?
Gruß.
-
bitfenix schrieb:
Erst habe ich 2 Wochen lang Tutorial Aufgaben zur Programmiersprache C gemacht (hatte so gut wie gar keine Vorkenntnisse im Bereich Programmieren)
Als ich so gerade mit den Grundfunktionen von C klar kam, musste ich schon mit GTK GUI's programmieren und das auch schon auf einem relativ hohen Niveau (wie ich jedenfalls finde) ich sollte mittels Pipe (Linux Funktion) Daten aus einer Internetseite auslesen und in meinem Code verwenden, mit sehr viel Hilfe habe ich es dann irgendwie hinbekommen. Mein Ausbilder fand das nicht so lustig, dass ich es nicht komplett alleine hinbekommen habe.Wechsel die Firma. Dein Ausbilder hat die verdammte Aufgabe, dich auszubilden. Wenn er nicht lustig findet, dass du so lange brauchst, hat er das Arschloch, welches er morgens im Spiegel sieht, dafür verantwortlich zu machen.
bitfenix schrieb:
Was meint ihr, fehlt mir einfach das Talent zum programmieren, oder ist es normal das man anfangs relativ lange braucht um "reinzukommen"?
Ich würde pauschal von 10 Jahren ausgehen, die man benötigt, bis man den Code, den du produzierst, als verwertbar ansehen würde. Klar hat man am Anfang keine Ahnung. Deswegen nimmt man sich Zeit. Lernt Sprachen und Konzepte. Macht eine Menge Fehler.
Wenn dein Ausbilder davon nichts wissen will, dann sollte er kein Ausbilder sein.
-
Wenn du wirklich täglich 8 Stunden lernst, kannst du in ein paar Wochen ein brauchbares Niveau erreichen. Der Code, den du dann schreibst, ist natürlich lächerlich schlecht, aber du wirst zumindest einen Plan haben, was du tust und wirst eigenständig programmieren können.
Außerdem lernen wir in der Schule Java, die natürlich Objektorientiert ist, im Gegensatz zu C, das bringt mich noch zusätzlich durcheinander...
Auch C programmiert man, wenn es über absolutes Anfängerniveau hinaus geht, fast immer objektorientiert. Die Sprache kommt einem bloß nicht entgegen, man muss die Konzepte selber umsetzen.
Aber ja, das klingt, deiner Schilderung nach, schon ziemlich krass. Aber das ist fast immer so, wenn man nur eine Seite hört.
-
bitfenix schrieb:
Was meint ihr, fehlt mir einfach das Talent zum programmieren, oder ist es normal das man anfangs relativ lange braucht um "reinzukommen"?
das ist von mensch zu mensch unterschiedlich.
denk auch dran, dass schulen/unis gern aussieben. die wollen nur die besten und demzufolge wird euch der stoff komprimiert und in hohem tempo reingedrückt.
so wie sich das anhört, musst du wohl einen teil deiner freizeit opfern um mitzuhalten. sonst wird das nix.
-
bitfenix schrieb:
...
Nachdem das Projekt abgeschlossen war, ging es nun richtig ans eingemachte --> Hardwareprogrammierung.
...
Ich habe wirklich Lust die "Kunst" des Programmierens zu erlernen, jedoch bin ich mir gerade nicht sicher, ob das jetzt immer so weiter geht, dass ich kaum verstehe was ich da eigentlich gerade tue...Du bist leider an einen hardwarefokussierten Bitfrickler als Ausbilder geraten.
Da hast du halt Pech gehabt.
Es gibt aber (gerade auch für Einsteiger) viel besser geeignete Themenbereiche um das C-Programmieren zu erlernen (eben ohne Hardwarefrickelei).
Wenn dich das tröstet...Und wenn du mit deinem Ausbilder offen redest?
Vielleicht gibt es ja für dich in der Firma auch noch andere Möglichkeiten bzw. andere Ausbilder?
-
In deiner Schilderung kommen gleich mehrere Lernbereiche zusammen
- C-Grundlagen
- GUIs
- Internetseiten
- Hardware-SpecialsFür einen Anfänger ist das tatsächlich viel auf einmal. Die Reihenfolge zum Lernen
scheint durchaus richtig. Nach SeppJ darfst du für jeden Bereich 8 Wochen für den
Einstieg veranschlagen.Was ist das für ein Ausblider, wenn er dich das überwiegend im Selbststudium machen lässt?
-
Ulala, ich habe Jahre gebraucht, um mich wohl mit diesen Gebieten fühlen zu können, das ist ja hart, was du da erlebst.
Ich weiß nicht so recht, was du hören willst. Die Wahrheit ist, dass Programmieren mehr als nur Code tippen ist. Du kannst recht schnell die Basics einer Sprache lernen, z.B C, weil es nur ein beschränkte Anzahl an Operatoren und Funktionen gibt. Aber Programmieren ist nicht nur die Schlüsselwörter zu kennen und diese in die richtige Reihenfolge zu tippen, sondern Programmierparadigmen kennen und diese effizient anzuwenden. Und das wirst du nicht in 2 Wochen lernen, egal welches Buch du liest oder Tutorial du verwendest, die Erfahrung bildet sich erst mit der Zeit, nachdem man hunderte von Programmen geschrieben hat, auf den Holzweg gewesen bist, Fehler gemacht hast.
Was meine ich mit Paradigmen? Das ist die grundsätzliche Denkweise und Strukturierung des Codes. Sagen wir mal du musst eine Reihe von Objekten speichern (die können Zahlen, Strings, structs, usw. sein). Du hast mehrere Möglichkeiten: du könntest sie in ein Array fester Länge speichern, oder in Array mit dynamischer Länge, oder ein Stack verwenden, oder eine Queue (FIFO, LILO, FILO, usw.), oder ein Hash, oder einen binären Baum, oder oder oder. Der Punkt ist, dass es viele Möglichkeiten gibt, Serien von Daten zu speichern, aber es kommt auf die Spezifikation an, welche Datenstruktur man nimmt.
Meine Empfehlung: wenn es andere Ausbilder gibt, könntest du mit versuchen den Ausbilder zu wechseln, du kannst ja zeigen, dass du motivierst bist und nicht aufgeben willst, aber dass du mit deinem Ausbilder nicht klar kommst.