Wie kann man als Laie programmieren lernen?
Wie kann ich, wenn ich mich zwar in Windows 10 (fast) perfekt zurechtfinde, aber von programmieren nur bis zu ScratchMitEdu-Skills komme, richtiges coden lernen?
2 Antworten
Uff, da musst du wohl einen Programmierer fragen, da bin ich raus. Ich überlege, wie würde ich an die Frage herangehen an deiner Stelle … erst einmal musst du wissen, WAS du programmieren willst. Eine Banking-Software wird man jetzt nicht in der Unreal Engine oder in Unity programmieren. Wenn du jetzt sagst, du willst Spiele programmieren, dann würde ich mich fragen WELCHE Spiele du programmieren willst. Reichen dir 2D-Jump-and-Runs oder soll es ein 3D-Egoshooter werden? Und dann würde ich erst einmal ein paar Spiele recherchieren, die dir in den Sinn kommen, die in die Sparte fallen an Spielen, die du programmieren willst, und dann schaust du nach mit welcher Software bzw. Engine die erstellt wurden. Und dann versuchst du diese Software zu lernen. Du kannst Bücher darüber lesen, YouTube-Tutorials schauen, du kannst Kurse belegen ob in echt oder online (z.B. bei Skillshare oder Udemy). Ich denke mal, wenn es dich interessiert und programmieren dir liegt, dann wirst du auch nach und nach stetig Lernerfolge haben, deine Fähigkeiten verbessern, größere Projekte anfangen, das wird dann im besten Fall eine positive Feedbackspirale. Aber überfordere dich nicht gleich, es ist noch kein Meister vom Himmel gefallen. Also was ich sagen will, das nächste große MMO wirst du jetzt nicht von heute auf morgen komplett alleine programmieren. Aber das macht auch wirklich niemand, da braucht man echt große Teams an Programmierern für. Das ist also vollkommen okay.
ScratchMitEdu-Skills
Was auch immer das heißen mag....
In den Tags hast du C#, Unity, Java usw. drin. Damit programmierst du als kompletter Neuling nur eines: Frust! Finger weg von Frameworks und komplexen Strukturen, wenn du noch nicht weißt, was der Unterschied zwischen einem Int und einem String ist.
Programmieren lernen heißt zuerst: Den Anfang finden. Überhaupt erstmal reinschnuppern.
Dazu sollte die Programmiersprache so einfach wie möglich sein, weil du sonst frustriert aufgibst.
Einfach wie mögliche Programmiersprache heißt:
- Du kannst die Entwicklungsumgebung (IDE) ohne Kenntnisse installieren und sie ist sofort einsatzbereit. Idealerweise ist alles, was du benötigst, in einer Installationsdatei enthalten
- Du klickst auf "neues Projekt" und kannst direkt loslegen.
- Es gibt nur eine Sourcecode-Datei
- Nicht-objektorientierte Programmierung möglich
Ich habe damals meine ersten Schritte in Basic gemacht. Leider inzwischen angestaubt, da es nicht mehr wirklich weiterentwickelt wird, aber ich kann es zum Lernen immer noch in einer etwas neueren Fassung empfehlen: https://www.purebasic.com/german/. Da ist sogar eine kleine Game-Engine dabei.
Wenn dir das zu altmodisch ist, soll Python eine gute Sprache für Anfänger sein. Die wird auch produktiv, also im realen Leben, eingesetzt.
Und dann heißt es: Loslegen und üben. Schaue dir kleine Beispielprojekte an und versuche, zu verstehen, wie sie funktionieren. Versuche im nächsten Schritt, sie zu verändern und gewisse kleine Funktionen zusätzlich einzubauen.
Irgendwann wirst du zunehmend verstehen, wie ein Computer eigentlich funktioniert.
Keine Sorge: Das dauert natürlich seine Zeit.
Versuche im nächsten Schritt, irgendwie* aus einem neuen leeren Projekt ein nützliches kleines(!!) Tool zu bauen (z.B. ein Image-Viewer).
Wenn du irgendwann so ein gewissen Grundverständnis für das Programmieren hast, überlegst du, welchen Weg du einschlagen möchtest und probierst vorsichtig, mit einer komplexeren oder auch objektorientierten Programmiersprache zurecht zu kommen, die für deine Zwecke geeignet ist.
Wenn du weiter fortschreitest, lernst du Sachen, wie:
- Die Programmiersprachen selbst unterscheiden sich nur in der Syntax und vielleicht ein paar Besonderheiten und Alleinstehungsmerkmale. Wenn du ein paar kannst, lernst du schnell weitere dazu. Beispiel: "if", "for" und "while"-statements funktioniert eigentlich immer gleich.
- Der Sprung von imperativer Programmierung auf Objektorientierung ist etwas gewöhnungsbedürftig aber wenn du einmal auf dem Zug drauf bist, hast du vielleicht keine Lust mehr auf imperative Programmierung, weil dir das zu umständlich ist.
- Die wahren Unterschiede liegen im Einsatzzweck: Manche Sprachen sind besonders gut geeignet für für Webentwicklung, manche für Konsolenanwendungen und andere wiederrum treiben es "bunt".
- Man sollte sich an gewisse Strukturen und Regeln halten, damit ein Projekt bei wachsendem Funktionsumfang fehlerfrei und übersichtlich bleibt (Code-Qualität und - Conventions)
*Du wirst nach ein paar Jahren Erfahrungen einen Schock erleben, wenn du deine ersten Projekte nach langer Zeit mal wieder hervorkramst: Mensch, was habe ich denn da bloß zusammengeschustert? Das ist ja eine absolute Katastrophe! Das geht doch viel besser... Keine Sorge, ganz normal und ein sicheres Zeichen, dass du inzwischen gut was gelernt hast :)
Ok, also die ganzen Begriffe verwirren mich noch sehr, aber ich gehe stark davon aus, dass das mit der Erfahrung kommt.
Zur Info: Scratch mit Edu ist so ein Kinderprogramm für einfache 2D-Spiele, wo man so einzelne Blöcke, die aussehen wie Puzzleteile, zusammenbauten kann. Z.B. gibt es da Blöcke wie „gehe 10er Schritt“ oder „drehe dich um 90°“ , wobei man die Werte natürlich anpassen konnte…