Wie "lerne" ich zu programmieren (brauche Rat von einem Experten)?
Hallo,
..."lerne"... = damit meine ich, dass ich mich konkret auf Spieleentwicklung (Unity) konzentrieren, aber auch "casual" machen möchte. Also ich möchte mich zurzeit mit Programmiersprachen wie C, C++, C#, vllt. auch Python beschäftigen.
Deshalb brauche ich einen Rat für die Zukunft.
Also, zurzeit bin ich dabei, mit einem Buch C und C# zu erlernen. Der Grund warum ich mich mit Programmieren beschäftige ist, weil es mein Lebensweg/Beruf sein könnte. Aber ich experimentiere gerade, da ich mir nicht sicher bin, ob ich erfolgreich werden kann. Deshalb ist es zurzeit nur mein Hobby zum Lernen.
5 Antworten
Um profesionell Programmieren zu lernen würde ich dir empfehlen einfach anzufange, installiere dir eine Entwicklungsumgebung (Visual Studio Code, Pycharm, Intellijei) und die entsprechende Sprache wobei ich dir Python sehr empfehlen kann, spreche aus Erfahrung. Nachdem das erledigt ist gucke dir ein Tutorial auf YouTube an, zum beispiel Python Grundkurs und mache das nach, kann dir sehr den Kurs von dem Kanal Programmieren Lernen empfehlen.
Download Visual Sudio Code: https://code.visualstudio.com
Download Python. https://www.python.org/downloads
Also, zurzeit bin ich dabei mit einem Buch C und C# zu erlernen.
Ich würde dir raten, dich erst einmal nur auf eine Programmiersprache zu konzentrieren. Andernfalls besteht die Gefahr, dass du dich selbst ausbremst, weil Syntax, Verhaltensweisen, u.ä. plötzlich durcheinandergebracht werden.
Ob du dich nun für C entscheidest oder C#, ist meiner Ansicht nach egal. Beide Sprachen eignen sich für einen Einstieg. Konkret für Unity wirst du allerdings C# benötigen.
Wie "lerne" ich zu programmieren (...)?
Parallel zum Anlesen der Theorie ist es wichtig, sich praktisch an dem Gelernten auszuprobieren. Es ist so wie beim Fußball spielen: Ein Buch oder ein Video kann dir zwar beschreiben, wie die perfekte Körperhaltung für einen Innenspannstoß aussehen muss, doch ohne es selbst auszuprobieren und zu üben, wirst du es nie wirklich lernen.
Richte dir also gleich von Beginn an eine Entwicklungsumgebung ein, mit der du Programmcode kompilieren und in der Konsole ausführen lassen kannst. Ein geeignetes Programm für die Entwicklung wäre Visual Studio (Community), doch es gibt natürlich noch viele weitere Alternativen (für C#: Rider, VS Code; für C/C++: CLion, Eclipse CDT, NetBeans IDE, QtCreator; VS Code).
Für den Anfang ist es dabei nicht so wichtig, das der Code, den du schreibst, einen praxisrelevanten Sinn ergibt. Wichtig ist da vorerst, die Syntax zu verinnerlichen und ein Verständnis für die Grundelemente (Variablen, Arrays, Operatoren, Kontrollstrukturen) zu bekommen. Setze dich dabei nicht selbst unter Druck und haste auch nicht durch die Themen.
Es lohnt sich auch, sich nach Übungsaufgaben umzuschauen. Ein paar hilfreiche Webseiten dazu wären CodingBat, Edabit, Exercism oder Projekt Euler. In Foren oder hier auf GF wurde ebenso schon öfter nach Übungsaufgaben gefragt und Herangehensweisen gefragt. Ein paar meiner älteren Beiträge dazu kann ich folgend verlinken:
- https://www.gutefrage.net/frage/wie-kann-man-c-besser-verstehen#answer-420073525
- https://www.gutefrage.net/frage/wie-lerne-ich-am-besten-java-2#answer-498820617
- https://www.gutefrage.net/frage/kann-die-syntax-java--aber--kann-nicht-nutzen-sinnvoll-verwenden#answer-435838160
- https://www.gutefrage.net/frage/wie-so-bin-ich-so-schlecht#answer-484153988
In diesen gehe ich auch mehrmals darauf ein, mit welchen Mitteln man vorgehen/lernen kann, Lösungswege für Probleme zu finden. Zumindest den erstverlinkten Beitrag würde ich dir als Lesestoff empfehlen, da das Bilden von Algorithmen ein zentraler Aspekt bei der Programmierung ist, der nicht von allein über Nacht hineinschneit. Vielmehr ist eine gewisse Umstellung der üblichen Denkweise notwendig - ein Computer versteht die Anweisung gehen beispielsweise erst, wenn du ihm Schritt für Schritt beschreibst, wie er das tun kann.
Bei einem Studium würde man anfangs davon ausgehen, dass du noch nie programmiert hast und daher bei den Grundlagen beginnen. Mit Vorkenntnissen würde dir das Studium folgendermaßen leichter fallen, da mehrere Themen erst einmal nur wiederholt werden. In der vorlesungsfreien Zeit hättest du daher Raum für andere (studienrelevante) Themen. Das kann dir schlussendlich Zeitdruck nehmen und bei der Wiederholung der Themen kannst du durch dein bestehendes Wissen womöglich noch einmal neue Details entdecken oder Zusammenhänge neu / besser verstehen.
" C " ist idR eine sehr mächtige Sprache, zugegeben. Andererseits ist " C " und all seine engen Verwandten schwer, und nicht gerade einfach zu lernen/verstehen.
Gerade Anfänger werden sich wahrscheinlich schwer tun. Es gibt, zu Beginn, einfachere Sprachen. Später kann immer noch nach " C " gewechselt werden, sobald man Grob verstanden hat, wie es läuft.
Ganz einfach: nach:
- dem Try and Error Prinzip.
- Beschäftige dich mit Objektorientierter Programmierung (OOP) -> bspw. C++.
- Lies die Quellcodes von anderen Programmierern durch, damit du verstehen (und sie auch lesen) kannst, wie sie funktionieren
- Schaue dir Videos im Netz an
- Habe Spaß am programmieren
Pkt. 5 plus ein Ziel/konkrete Aufgabe/kleines Projekt, halte ich für den wichtigsten Schritt; dann Pkt. 3 + 4 und dann der Rest...
Projecte sind bei mir am schwierigsten. Es muss halt etwas sein wo ich lernen-, meine Zeit nutzen- und spaß haben kann. Ich habe aber leider keine Ideen, ein Spiel wäre dann schon was größeres...
Fange einfach klein an. Es sollte am Anfang auch kein Spiel sein. Programmiere bspw. eine Einkaufsliste oder was datenbankbasiertes (sql, mysql, sqllite, etc.). Und wenn doch, prgrammiere Tik-Tak-Toe.
Jeder Programmierer hat mal klein angefangen.
Und Ideen findest du überall in der Welt. Halte nur die Augen und Ohren offen und finde eine (Alltags)Lösung für ein Problem. Selbst dann, wenn es bereits für das Problem eine Lösung gibt.
Also ich kann dir Codeacademy empfehlen, finde das viel einfacher als mit einem Buch und man lernt definitiv besser/mehr als im Studium. Das brauchst du eh nur zu Anfang.
Später kannst du dann auch GameMaker nutzen, das kostet zwar etwas, aber macht die Spieleentwicklung gerade für Anfänger wirklich einfach .
Hallo, scheinbar studierst du auch Informatik. Darf ich fragen was man da alles Oberflächlich lernt? Und hast du schon Berufe für die Zukunft gewählt? Ich bin nämlich auch in Informatik interessiert, deshalb auch mein jetziger Post.
Ich möchte an der Stelle einmal anmerken, dass die Aussage
(...) und man lernt definitiv besser/mehr als im Studium.
eher andeutet, dass die Studienzeit dann wohl nicht richtig genutzt wird. Die besteht nämlich aus mehr als nur Vorlesungen oder angebotenen Praxistutorials, sondern schließt auch einen großen Teil eigenständiger Einarbeitung in die jeweiligen Themenbereiche ein. Ob man dann dafür auf Quellen zurückgreift, die die Hochschule anbietet (Bücher, Zugang zu bestimmten Lernplattformen, u.ä.) oder externe Quellen wie Codecademy, bleibt jedem selbst überlassen.
In einem Informatikstudium ständen Mathematik, Grundlegende Themen der Informatik (z.B. Aufbau und Arbeitsweise eines Computers), die theoretische Informatik (Automatentheorie u.ä.), ein Einstieg in die Programmierung (häufige Kandidaten sind C, C++, Java) sowie Softwareentwicklung auf dem Vorlesungsplan. Das kann noch durch weitere Themen ergänzt werden (Datenbankdesign, Webentwicklung, mobile App-Entwicklung, ...) und variiert je Hochschule etwas. Im besten Fall schaust du auf den Studienplan der Hochschulen, die dich interessieren. Den findest du in der Regel auf der Webseite der jeweiligen Einrichtung. Ansonsten würde ich stets empfehlen, Schnuppertage u.ä. zu nutzen, um dir ein besseres Bild vor Ort zu machen.
Ich wollte vor allem darauf hinaus, dass man durch die Vorlesungen nicht richtig programmieren lernt. Natürlich kann (und sollte) man das noch durch eigenständiges Lernen ergänzen, aber meine Erfahrung zeigt, dass viele Studenten mit einem B.Sc. in Informatik dastehen und kaum programmieren können.
Um selbst mit Codeacademy/Büchern zu lernen, braucht man kein Studium.
Informatik zu studieren, erleichtert höchstens den Einstieg in die Berufswelt bzw. ermöglicht ein Master-Studium. Wirklich sinnvoll fand ich das Studium aber nicht, zumal ich die Grundlagen eh schon konnte.
Informatik zu studieren, erleichtert höchstens (...)
Ein Studium erleichtert es, Kontakt zu anderen Leuten mit gleichem Interessensgebiet zu knüpfen und gegenseitig Wissen auszutauschen. Ebenso erleichtert es den Zugriff auf verschiedene Ressourcen, die für eine Privatperson sonst nicht so günstig oder leicht erwerbbar wären (Zugriff auf eine Vielzahl an Literatur, kommerzielle Software, Lernkurse, u.ä.).
Danke für die ganzen Ratschläge und Übungen! Da wäre mir eine Frage eingefallen: Wie sehr kann mir C,-#,-++ oder python, Java im Studium helfen wenn ich jetzt anfange zu lernen? (Vlt auch eine relevante Frage zum User xSimonx3, weiter unten in den Antworten)