"Wie" programmieren lernen

Riou

Lt. Commander
Registriert
Feb. 2011
Beiträge
1.909
Hallo,

ich hoffe mein Problem/meine Gedanken kann jemand nachvollziehen und mir weiterhelfen.

Ich habe über die Jahre hinweg schon mehrfach versucht, das Programmieren zu lernen, meist mit C++, aber auch mal Python.

Ich hab es mit Büchern, Onlinetutorials, Udemy und Youtube versucht, bisher war noch nicht das richtige dabei, für mich.
Immer wieder blieb das Thema auf der Strecke, obwohl ich es sehr interessant finde und eig die Sachen die ich da so lese auch verstehe... :D

Kurzfassung des folgenden Textes: Ich denk zuviel nach!

Mein Problem (aus meiner Sicht), ich frage mich die ganze Zeit, wie ich aus den Funktionen, Variablen usw dann wirklich ein Programm erschaffe...
Ich hab auch schon einen kleinen Taschenrechner durch ein Tutorial programmiert und diesen eigene Änderungen vorgenommen, die soweit liefen... Aber prinzipiell konnt ich diesen nur programmieren, da das Tutorial den Grundbau vorgab, aber ohne Hilfe würde ich es nicht hinkriegen.
Vermutlich bin ich auch nur zu "ungeduldig" und müsste nur 5 Kapitel weitergehen um es besser zu verstehen(?), aber ich häng dann immer solang an diesen einfachen dingen fest. (Fällt mir schwer zu erklären)

Mir würde es wahrscheinlich gefallen, wenn man Code X präsentiert kriegt und dann diesen in seine Einzelteile zerlegt und erklärt was, was macht und wie die Dinge ineinandergreifen.
Gibts da etwas?

Sprachen mit denen ich es versuchen würde, wären halt C++. Python, Rust und ggf. Go. Die klingeln vom ganzen für mich am interessantesten.

Geht es jemand ähnlich?
Versteht man mich überhaupt? :D
Irgendwelche Tips?

Vielen Dank im Voraus.
 
1. Du musst es wollen
2. Denk dir ein Projekt aus, was du umsetzen willst
3. Fang an

Ganz ehrlich, es gibt keinen Masterplan. Das Internet ist voll von Infos, da lässt sich leicht raus finden, mit welcher Sprache du dein Projekt umsetzen kannst. Und wie. Wer so viel Eigeninitiative nicht aufbringen kann, der lernt es nie, egal wie viele Kurse er besucht.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Skysnake, Zerstoerer, Hayda Ministral und 11 andere
Ich weiß was du meinst, so geht es mir auch schon seit einigen Jahren. Würde auch gerne etwas in Python programmieren aber es will einfach nicht in meinen Kopf reingehen. Dann habe ich teilweise richtige Schübe wo ich lernen will und gebe dann bei der kleinsten Hürde direkt auf.

Du hast ja damals mit C++ angefangen, das ist vielleicht auch nicht gerade die beste Sprache um Programmieren zu lernen.

Vielleicht passt eine Sprache mehr wo man gleich das Ergebnis "sieht", z.B mehr so in Richtung CSS/HTML/js etc.?!?

Hast du vielleicht jemanden in deiner Umgebung der mit dir Lernen könnte?
 
  • Gefällt mir
Reaktionen: new Account()
Am einfachsten ist es Du hast ein konkretes Projekt/Ziel und schaust, dass Du das erstmal irgendwie zusammengebastelt bekommt. Programmieren besteht viel aus Code (Snippets) googlen und dann auf seine eigene Bedürfnisse anpassen, es muss nicht alles ständig neu erfunden werden. Klar Dein Programm wirst Du nirgends so finden, aber für viele kleine Probleme findest Du Code mit Rangehensweisen.

Am Anfang würd ich ruhig nach dem Motto Hauptsache es läuft arbeiten, Du wirst im Laufe der Zeit automatisch feststellen, was schlecht wartbar ist und Dir bessere Modelle suchen...
 
  • Gefällt mir
Reaktionen: Skysnake, Oelepoeto, DerTiger und eine weitere Person
Dein Problem ist, dass du Programmieren lernen willst um Programmieren zu lernen. Du hast kein Ziel vor Augen, du suchst nur einen Weg.

Deshalb Schritt 1: Setze dir Ziele. Wenn du ein Ziel hast, dann kannst du es verfolgen.

Das war es schon. Mehr Schritte gibt es nicht, der Rest ergibt sich von alleine.

Speziell im Umgang mit C++ bietet es sich an, auch folgende Konzepte zu verstehen:
  • Zeiger
  • Memory Management
  • Objektorientierte Programmierung

Den perfekten Leitfaden "how to lern programming in 5 minutes" gibt es nicht. Da steckt viel Verstehen und Wollen dahinter, das ist nichts, was man schnell lernt.
Ansonsten, was bestimmt auch gut gibt: Viele Universitäten stellen ihre Informatik-Scripte online, sodass man die durchgehen kann. Objektorientierte Programmierung ist ein Modul, was dir sicherlich viel beibringen kann.
 
Du kannst ja mal einen anderen Ansatz wählen, indem du "explizit" Hardware programmierst und damit lernst.
Bspw. Rasperry Pi, paar LEDs und andere Sachen oder halt C/C++ bei Arduino.

Micropython wäre auch noch drin. Da gibt es schon ne Menge, was du halt zum Anfassen programmieren kannst.
 
Ähnlicher rat von mir: Just do it.
Fang am besten mit python / go / js an. C++ erfordert, dass du deutlich mehr Konzepte lernst.
Wenn du noch nicht in der Lage bist dir selbst ein projekt zu überlegen: Auf udemy gibt es auch kurse, die dir die Grundlagen in wenigen Stunden mit übungen näherbringen und dich dann bei der Umsetzung von Projekten an die Hand nehmen.

Schau dir auch mal freecodecamp an :)
 
Zuletzt bearbeitet:
Ich drücke es mal so aus: Um Programmieren zu können bzw. zu lernen, muss man sich eine gewisse Denkweise aneignen. Funktionen, Variablen und Co sind nur das Werkzeug wie zB die verschiedenen Meißel eines Bildhauers. Während ein Bildhauer sein Gesamtwerk vor dem inneren Auge sieht und es Schritt für Schritt aus dem Stein haut, arbeitet ein Programmierer effektiv andersherum. Er zerlegt ein Problem in seine Bestandteile und baut sich so die Lösung zusammen.

Diese Denkweise, das zielorientierte Zerlegen eines Problems, kann dir kein Buch, kein Tutorial und auch kein Forum beibringen. Das geht meiner Meinung nach sogar so weit, dass einige Menschen für's Programmieren schlicht und ergreifend nicht gemacht sind - wie zB meine Schwester, die so gar nichts von strukturierter Problemanalyse versteht....


Um den Faktor Syntax, also das penible und vor allem sprachenspezifische Korrektschreiben des Codes, aus der Rechnung zu streichen, könnte man ggfs noch in Richtung grafischer Programmierung gehen. Dabei kann man sich mehr auf das eigentliche Thema konzentrieren und muss sich nicht mit etwaigen Syntaxfehlern rumärgern. Labview wäre so eine Sprache oder auch Node Red.


So oder so reicht es aber nicht, nur zu wissen wie man ein Werkzeug anwendet, sondern man muss eben auch das Verständnis für das große Ganze haben. Da führt kein Weg dran vorbei...
 
  • Gefällt mir
Reaktionen: Skysnake, TheCadillacMan und Aduasen
Riou schrieb:
Ich habe über die Jahre hinweg schon mehrfach versucht, das Programmieren zu lernen, meist mit C++, aber auch mal Python.
Und wieso willst du programmieren lernen? Wie @ghecko schon schrieb: solltest du dir etwas raussuchen, dass du programmieren willst.
Eine Programmiersprache können, aber dann nichts damit anfangen, ist ja auch wenig hilfreich; v.a. weil man das alles schnell wieder vergisst, wenn man es nicht trainiert.

Ich wollte vor 20 Jahren mal eine Webseite erstellen, und habe dann parallel zu meiner Aufgabe PHP mit einem Buch gelernt. Das wars.

Und wenn ich heute mal was Neues programmieren will, weiß ich auswendig schon fast nicht mehr, wie bspw. die korrekte Syntax für eine DB-Verbindung ist.
 
Programmieren setzt ein gewisses Mindestmaß an Intelligenz und Kreativität voraus.
Man lernt mit seinen Aufgaben. Am Anfang ist es z.B. nur ein Programm, das mir das Wechselgeld richtig rausgibt.
Später kommen weitere Funktionen hinzu.
Einen langen Atem solle man schon haben. Programmieren ist nichts für Sprinter, eher was für Marathonläufer.
Das ist wie im Studium, nur die mit Ausdauer werden am Ende Erfolgreich sein.
 
  • Wie alt bist Du?
  • Was hast Du studiert/gelernt?
  • Was ist Dein Hauptzeitvertreib?
 
Riou schrieb:
Ich denk zuviel nach!

Das ist dein Problem. Mach halt einfach mal was. Interessiert doch niemanden was es ist und was dabei heraus kommt. Ich habe z.B. mal was über Steganographie gelesen und dann war ich für ein paar Stunden "weg" ;) Am Ende hatte ich ein kleines Programm mit dem ich das grundsätzlich umgesetzt hatte und Textnachrichten in einem Bild verstecken konnte - mehr wollte ich gar nicht, aber es hat eine Menge Spaß gemacht das umzusetzen.

Ohne solche Dinge die dich einfach interessieren wird es schwierig. Ich bleibe aber bei "Einfach machen.". Ich selbst habe Programmieren durch Spieleprogrammierung gelernt, da hatte ich das Problem einfach gar nicht, weil es immer etwas gab, dass man ausprobieren wollte und dann direkt vor Augen hatte.

Oder um noch einen Vergleich zu ziehen: Ich würde mich so wie du fühlen, wenn ich jetzt anfangen wollte zu malen nur um die Malerei zu können. Ich habe da aber absolut keine Fantasie für und würde frustriert scheitern ;)
 
  • Gefällt mir
Reaktionen: eXenZ
Wenn man ohne Ziel programmieren lernen will, sind sicher Sachen am besten, die am wenigsten Barriere vor einem aufbauen. Da bietet sich das olle Javascript echt an, keine riesigen Programme installieren, keine großen Formalien vorweg, man sieht sehr schnell Ergebnisse, das Netz ist voller Beispiele. Einfach Browser und Texteditor nehmen und los gehts.

Viele Sprachen ähneln sich dann auch sehr stark, da lernt man in 2 Tagen um, falls man dann echt an eine gezielte Sache will (Javascript, Java, C, C++, Perl, PHP liegen alle nah beieinander).
 
Ich habe nicht mit sovielen Antworten so schnell gerechnet!

Danke schonmal vorab an jedem!
Ich Antworte später, da ich noch auf Arbeit bin. :)

Nur fix zu meiner Person.

blöderidiot schrieb:
  • Wie alt bist Du? 29
  • Was hast Du studiert/gelernt? Informationselektroniker. Arbeite jetzt aber im 1 Level Sup
  • Was ist Dein Hauptzeitvertreib? Arbeiten? :D Sonst bissl zocken usw.
 
  • Gefällt mir
Reaktionen: blöderidiot
... es gibt keine 'Blaupause', das ist aber kein Nachteil, sondern DIE Gelegenheit für Dich Deinen Weg zu suchen (und zu finden). Jeder Programmierer (ähm, Entwickler) hat einen anderen Zugang gefunden.
Es hat sehr viel mit Kreativität zu tun. Und die ist nicht lernbar. Du hast sie oder Du hast sie eben nicht, finde es heraus. Daher, wie @ghecko schon oben sagte: fang einfach an.
Und: analysiere zu Beginn nicht den Code anderer, welche eine andere Art von Kreativität haben, welche Dir nicht entspricht und daher nicht zusagt, sondern finde Deine Faszination für eine bestimmte Herangehensweise und gehe dieser nach.
Dich fasziniert die Funktionsweise eines Prozessors ? Auf Du und Du mit den Bytes, Prozessorregistern und Speicherinhalten ? Dann lege ich Dir Gehversuche mit C (nicht C++) ans Herz. Oder sogar Assembler.
Wenn Dich Webserver und -Dienste (allles was irgendwie mit http und TCP/IP) zu tun hat ? Dann schau' Dir einmal Java an und exoerimentiere mit einem -sagen wir- Tomcat Webserver.
Oder Dir ist das alles viel zu 'low-level', Du willst direkt schöne bunte Ergebnisse sehen, dann probiere ein SDK (für Android, Windows, whatever) aus.
Überhaupt: probiere vieles aus, wenn die 'Interessanz' geweckt ist merkst Du das schon, dann gehst Du dem nach ... und richte Dich anfangs nicht so sehr danach wie andere was gemacht haben
Good luck.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Riou
Am einfachsten wäre es, wenn du nicht zu viel nachdenken würdest, sondern einfach stumpf Videotutorials nachprogrammierst, also Video laufen lassen, Code nachtippen und versuchen nachzuvollziehen, soweit es geht. Klingt recht unspannend, hat aber eine geringe Einstiegshürde und einen guten Lerneffekt.
Die Sprache ist dabei erstmal zweitrangig womit du anfängst, also egal ob Java, Python, JavaScript, C# etc. Dabei lernst du dann die Grundlagen der Programmierung und ein paar Kniffe, wie man bestimmte Standardprobleme angeht und die Standardbibliotheken kennen. Wenn man die Bibliotheken nicht kennt, dann wird man mit teils den einfachsten Sachen Schwierigkeiten bekommen (z.B. wie lese ich eine Datei ein? Wie verbinde ich Strings? etc.)
Erst danach kannst du versuchen eigene kleinere Projekte umzusetzen.
Ansonsten stehst du da wie ein Ochse vor dem Berg, weißt nicht wie du anfangen sollst und hörts wieder auf, bis dann der nächste Motivationsschub kommt.
 
Zuletzt bearbeitet:
Raijin schrieb:
Labview wäre so eine Sprache oder auch Node Red.

Ich werfe mal das Scratch mit rein. Es ist zwar dazu gedacht Kindern das Programmieren beizubringen, für einen Erwachsenen, der bisher keine Erfahrung hat, ist das meiner Meinung nach auch gut geeignet.

Vor allem aber fällt es einem leichter sich ein Spielscenario zu überlegen, als z.B. mit Python ein Neuronales Netz zu programmieren welches z.B. die lieblings Omi auf dem Bild erkennt ;).
Ergänzung ()

bananen_admiral schrieb:
Am einfachsten wäre es, wenn du nicht zu viel nachdenken würdest, sondern einfach stumpf Videotutorials nachprogrammierst, also Video laufen lassen und Code nachzutippen.
Kann dem nicht zustimmen.. Sobald du den Kurs durch hast und das erlernte nicht an einem Projekt umsetzen kannst, ist das ganze innerhalb von paar Tagen weg. Auch würde ich sehr stark bezweifeln, dass man sich an so einen Kurs ran setzt ohne davor ein eigenes Projekt/Ziel definiert zu haben.
 
  • Gefällt mir
Reaktionen: Raijin
G-Red schrieb:
Kann dem nicht zustimmen.. Sobald du den Kurs durch hast und das erlernte nicht an einem Projekt umsetzen kannst, ist das ganze innerhalb von paar Tagen weg. Auch würde ich sehr stark bezweifeln, dass man sich an so einen Kurs ran setzt ohne davor ein eigenes Projekt/Ziel definiert zu haben.

Dem würde ich widersprechen. Es sollte schon ein Grundlagenkurs sein, das ist richtig, am besten nur die nativen Sprachfeatures abdecken ohne den Einsatz von zusätzlichen Libraries oder Frameworks.
Aber man muss zu Beginn einfach ein paar Grundtechniken vermittelt bekommen, sonst kann man nicht mit einem eigenen Projekt starten.
Dass man seine Probleme in kleinere Teilprobleme zerlegen muss, das muss man auch erstmal verstehen und das lernt man anhand von vorgegeben Beispielen.
Es kann auch ein schriftliches Tutorial sein. Wichtig ist nur, dass man Anfangs eine Problemstellung hat und dann Schritt für Schritt zur Lösung geführt wird und die einzelnen Schritte dabei erklärt werden.
 
  • Gefällt mir
Reaktionen: TriggerThumb87 und new Account()
Zurück
Oben