DotNet (06.10.2022), Herox (05.10.2022), Manipulate (05.10.2022), raspberryfan (05.10.2022)
-
04.10.2022, 11:17 #1
Programmieren lernen - Anfänger sucht Hilfe (C#)
Hallo liebe Leute,
mir ist bewusst das es hier schon einige Themen zum Lernen von Programmiersprachen gibt, diese sind jedoch sehr veraltet (z.B. Verweise von Sky.net auf Video 2 Brain).
Ein bisschen was über mich:
Ich bin 28 Jahre alt und habe eine Ausbildung zum Informatikkaufmann (Kaufmann für Digitalisierungsmanagement) hinter mir. Die Ausbildung war für mich leider wenig zielführend, was Programmieren angeht. Bis auf „bastel einen Taschenrechner in VB.Net“ und „Zinsrechner“ war leider nichts dabei.
Ich habe mich auch sehr lange damit gequält welche Programmiersprache ich lernen möchte und habe mir Gedanken gemacht, was ich damit machen möchte. Entschieden habe ich mich für C#, jedoch bin ich zeitlich durch viele Faktoren eingeschränkt (Familie, Arbeit, Aufträge…). Daher ist eine Buchempfehlung eher suboptimal und ich käme nicht dazu mir dieses in Ruhe anzuschauen.
Video 2 Brain fand ich damals sehr ansprechend, jedoch finde ich einfach nichts vergleichbares mehr und einen kompletten Kurs mit Lehrer kann ich mir ebenfalls nicht leisten.
Was kann ich?
Die Grundlagen der Programmierung beherrsche ich und ich habe mir bedingt durch meine Unschlüssigkeit auch mehrere Sprachen mal angeschaut. Klassen und Variablen sind mir daher nicht neu. Bedingt durch meine Vorliebe zum einfachen habe ich lange mit Autoit gearbeitet. Autoit ist eine Scriptsprache selbst geschrieben in C++ und sie eignete sich bisher gut um kleinere Sachen zu automatisieren.
Was brauche ich?
Ich bin auf der Suche nach einem guten Videotutorial welches mich von Zero to Hero begleitet. Ich möchte wirklich das Programmieren lernen, habe jedoch nicht die Zeit für ein Buch da ich zeitlich zu sehr eingeschränkt bin und ich einem Video bzw. einer Person deutlich besser folgen kann. Natürlich darf sich auch gerne jemand mit Zuviel Freizeit als Lehrer anbieten.
Wo liegt das Problem?
Einerseits finde ich nichts mehr im Video 2 Brain Sinne, andererseits bleibe ich oft an Dingen hängen, die ich nicht verstehe. Als Beispiel: Ich möchte gerne in einem bestimmten Fensterbereich Aktionen ausführen (Textfelder ausfüllen, Mausklicks simulieren) ohne dass der Fokus einer Vollbildanwendung verloren geht. Durch solche Probleme neige ich oft zum Aufgeben, da ich bisher niemanden als Ansprechpartner bei solchen Problemen habe.
Was möchte ich machen?
Wie schon erwähnt habe ich mir viele Gedanken gemacht. Ich möchte eher Richtung Anwendungsentwicklung gehen und hauptsächlich Dinge automatisieren. Eine GUI die einfach gestaltet werden kann war mir dabei wichtig, so bin ich letztlich bei C# stehen geblieben. Da man wohl mittlerweile auch mit C# relativ Plattformunabhängig arbeiten kann, würde sich diese Programmiersprache erstmal anbieten.
Projekte im Kopf habe ich genug, von simple Sendtexte, über Makroprogramme, Steuerung unsichtbarer Browserfenster, Abfrage offener Termine auf Webseiten, Automatisches ausfüllen von Formularen, Erstellung eigener Captcha-Abfragen, bis hin zur Automatisierung meiner Grafikaufträge, Entwicklung von Onlinespieleumgebungen mittels Unreal Engine, Entwicklung kleinerer Spiele für mich und meinen Freundeskreis…
Abschluss:
Vielen Danke an alle die bisher hin gelesen haben und ich freue mich sehr auf eure Rückmeldungen mit Vorschlägen, oder sogar das Anbieten von Hilfen. Wer etwas anbieten kann, darf mich natürlich auch gern privat anschreiben für das ein oder andere Lernmaterial. 😉 Programmieren war bisher immer mein größter Wunsch, jedoch war ich immer von kleineren Sachen enttäuscht. Kleineren Sachen? Ja, so etwas wie AntMe und die kleinere Programmier-/Scriptsprache Autoit konnten mir leider nicht das Maß an großer Programmierung bieten das ich gerngehabt hätte.
Nicht alles was glänzt ist Gold, manchmal muss man Dinge hinnehmen wie sie nunmal sind.
-
04.10.2022, 22:53 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 5.300
- Blog Entries
- 5
Thanked 9.007 Times in 2.905 PostsAW: Programmieren lernen - Anfänger sucht Hilfe (C#)
Hi,
von der Vorstellung, dass man eine Ausbildung oder ein Studium absolviert und anschließend zum Softwareentwickler "geschlagen" wird wie bei einem Ritterschlag, sollte man sich verabschieden. Wobei schon alleine die Frage, wann man Programmieren "kann" sehr diskutabel ist. Ich habe auch eine Ausbildung gemacht (FiAE) und war enttäuscht, weil ich davor im Selbststudium mit U-Labs & co. weitaus mehr gelernt habe. Von den Inhalten her waren das die Grundlagen der Grundlagen: Funktionen, Klassen, Methoden, Objekte, Variablen und zum Abschluss Vererbung - das wird dann mit minimaler Logik angewendet, maximal ein paar hundert Codezeilen. Ein halbwegs richtiges Projekt wurde genau zweimal umgesetzt, einmal als Übung für die Abschlussprüfung und einmal die Prüfung selbst. Wobei auch das nur bedingt realistisch war, da ein erheblicher Teil Theorie enthielt. Im Unternehmen war es teils besser, das hing stark von der Abteilung ab. Da das keine reine IT-Firma war, hatten die eher das kaufmännische im Fokus und es gab daher auch Monate, in denen man betrieblich nur ein paar Stunden mit organisatorischen Themen am PC verbracht hat.
War in meinen Augen noch gut Luft nach oben, aber andere waren da noch deutlich schlimmer dran. Trotzdem hat in der Ausbildung etliches gefehlt, was für einen Softwareentwickler mMn essenziell bis mindestens wichtig ist: Beispielsweise Quellcodeverwaltung, Git & co waren nie ein Thema. Docker auch nicht, obwohl es das damals schon ein paar Jahre lang gab, konnten die Lehrer wenig damit anfangen und wollten, dass man händisch VMs aufsetzt, um einen Testserver aufzusetzen. Von DevOps-Themen wie CI/CD gar nicht erst anzufangen. Ausführlichst wiederholt wurden dagegen Themen wie z.B. Subnetting, natürlich alles von Hand in binär berechnet. Den dualen Studenten ging es etwas besser, da die zumindest manche Themen in den Vorlesungen vertiefen konnten. Da hat sich dann aber gezeigt, dass die Qualität davon stark von den Profs abhing: Bei manchen war das ganz vernünftig, andere kamen eher aus der theoretischen Informatik und behandelten daher eher die technische Funktion. Oder anders gesagt: Teils lernten die Studenten wie das theoretisch funktioniert, hatten aber trotzdem nicht wirklich Ahnung, wie man das in der Praxis sinnvoll einsetzt. Programmieren lernen die natürlich auch nicht vernünftig, da ist das eher Mittel zum Zweck (z.B. Mathematischen Algorithmus implementieren). Dementsprechend ist die Codequalität auch nicht unbedingt die Beste - wichtig ist eher, dass es funktioniert und im Zweifel haben die Profs selbst nicht so viel Erfahrung in der SW-Entwicklung, um das beurteilen zu können. Nicht alle, das kommt wie gesagt drauf an und gilt auch eher für die Informatik-Studiengänge.
Aus heutiger Sicht würde ich sagen, ist der in meinen Augen sinnvollste Weg für den Einstieg folgender: Zuerst braucht man die absoluten Grundlagen. Sei es durch Videos, Blogbeiträge oder wenn man das Geld hat auch Kurse. Die scheinst du mittlerweile ja zu haben. Dann habe ich im Grunde primär versucht, Software zu entwickeln, die ich wollte/brauchte. DirectUploader ist ein Beispiel: Ich wollte eine einfache Möglichkeit haben, Screenshots zu erstellen und die dann gleich per Messenger zu verschicken. Tools wie ShareX die das mittlerweile perfektioniert haben, gab es damals nicht. Das war z.B. ein Projekt, bei dem ich mich intensiv mit dem HTTP-Protokoll oder erstmalig der Windows-API auseinandergesetzt habe. Oder eine verbesserte Plugin-Schnittstelle. Die erste habe ich davor für einen Knuddels-Bot entwickelt, durch die Erfahrung ist die von DirectUploader besser geworden. Primär ging es mir also darum, Probleme zu lösen. Ich hatte dabei aber auch offene Augen in beide Seiten, so nach dem Motto: Ich könnte die Bilderhoster zwar einbauen, aber als Erweiterung wären die doch viel flexibler - geht das? So kommt man dann zu Klassenbibliotheken, Modularisierung, Schnittstellen usw.
Zitat von Herox
Hier braucht es einen gewissen Ehrgeiz in Kombination mit Durchhaltevermögen. Gerade als Einsteiger wird dir das oft passieren, bis du mit der Zeit mehr Erfahrung sammelst. Wenn du ein Problem nicht findest, mach z.B. für den Tag Schluss statt aufzugeben und schaue es dir am nächsten Tag noch mal an. Dann bist du wieder frisch und wenn du keine Lösung findest, kannst du wie schon gesagt das Problem vernünftig aufschreiben und hier oder in anderen Foren posten. Jemanden zu suchen der dir zu jedem Problem sofort eine Lösung findet, ist nicht zielführend - denn dabei lernst du ja nichts. Auf der anderen Seite kann es viel Zeit Kosten, wenn man nach Stunden oder Tagen immer noch keine Lösung hat. Rückwirkend ist das Gespür für einen Mittelweg das Beste: Erst mal selbst probieren, um deine Fähigkeiten zu testen und zu trainieren. Wenn du damit trotz eigener Anstrengungen nicht weiter kommst, poste es. Das kostet natürlich Zeit, aber dabei lernst du zu lernen.
Videotrainings oder auch Bücher sehe ich nur für die Grundlagen als sinnvoll an, oder zur Vertiefung eines bestimmten Themas. Außerhalb davon hilft dir das für ein konkretes Projekt wenig bis gar nichts. In einem Projekt solltest du die Grundlagen anwenden können und für alles weitere lernen, das Web zu nutzen: Im besten Falle gibt es eine Dokumentation, zu vielen Dingen haben andere schon mal einen Blogbeitrag/Forumspost geschrieben, heutzutage gibt es ja auch viel mehr OS-Projekte, die ggf. bereits eine Lösung für ein Teilproblem gefunden haben bis hin zum Posten eigener Fragen, falls man gar nichts findet oder eben nicht weiter kommt. Und das ist in der IT mMn eine der wichtigsten Fähigkeiten: Informationen beschaffen, Transferwissen, überlegen wie ein unbekanntes Problem entstanden sein kann und womit es sich lösen lässt. Als Entwickler wirst du auf gewisse Dinge wie z.B. eine Benutzerauthentifizierung immer mal wieder stoßen. Aber du machst ja nicht immer das Gleiche, sondern auch neue Dinge. Selbst bei den vorhandenen gibt es Veränderungen - etwa 2FA beim Beispiel der Authentifizierung. Wenn du mit Videos besser lernen kannst und für ein spezielles Thema entsprechende Angebote findest, warum nicht. Das sollte aber nicht der einzige Weg sein. Neben den Kosten wirst du nicht zu jedem Thema ein Videotraining finden, bzw. zumindest keines von hoher Qualität.
Zitat von Herox
Zitat von Herox
Ist solide und seit das ganze OS/Plattformunabhängig geworden ist, auch wieder spannende Technologie mit nützlichen Erweiterungen wie z.B. Dependency Injection. Das Einzige was ich noch vermisse, ist ein GUI-Framework, dass überall läuft. Gibt es leider bislang noch nicht offiziell, allerdings interessante OS-Projekte aus der Community, die in meinen Tests unter GNU/Linux und Windows bisher einen guten ersten Eindruck gemacht haben. Wobei ich Desktop-Anwendungen nur da einsetzen würde, wo es technisch sinnvoll oder nötig ist. Mit einer Web-Anwendung ist man ansonsten automatisch unabhängig von der Plattform, kann das ggf. auch mal am Laptop/Handy unterwegs nutzen und speichert die Daten gleich zentral, sodass man sich gar nicht erst um die Synchronisation von ggf. mehreren Geräten kümmern muss. Wie bei so vielem ist das nicht die beste Lösung für alles, aber mMn eine sinnvolle Frage, die ich mir bei Neuentwicklungen stellen würde.
Das Wichtigste ist aber erst mal, dass du Anfängst und dran bleibst. Beschäftige dich nicht zu sehr mit Details, ich habe auch schon Projekte mehrfach neu geschrieben. Das ist vor allem am Anfang völlig normal - wie gesagt, bei aller Motivation gibt es nicht den Ritterschlag, der einen zum Experten macht. Die Erfahrung kommt mit der Zeit. In 2 Jahren wirst du Dinge besser machen als heute und in weiteren 2 Jahren besser als davor. An der Stelle viel Erfolg dabei
-
The Following 4 Users Say Thank You to DMW007 For This Useful Post:
Ähnliche Themen
-
Android Apps programmieren lernen
Von Snees im Forum AndroidAntworten: 20Letzter Beitrag: 09.02.2014, 17:47 -
Freundin sucht Job in ein Tierheim, Hilfe benötigt!
Von Bazs im Forum ZwischenmenschlichesAntworten: 1Letzter Beitrag: 15.12.2012, 18:09 -
[Ubuntu] Am besten programmieren lernen
Von !lkay im Forum LinuxAntworten: 4Letzter Beitrag: 07.03.2012, 19:20 -
[Hilfe,Frage,Lernen] Programmieren
Von Iomega im Forum Internet und TechnikAntworten: 5Letzter Beitrag: 02.02.2012, 10:11 -
Programmieren
Von Marcel1992 im Forum Knuddels ProgrammierungAntworten: 14Letzter Beitrag: 10.08.2011, 15:01
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.