Am besten und effektivsten programmieren lernen?
Hellooo,
ich bin Schüler und möchte später beruflich Web Development machen. Erstmal: Was für eine Ausbildung macht man dafür? Fachinformatiker für Anwendungsentwicklung?
Bin jetzt noch 2 1/2 Jahre in der Schule, bis ich mein Abi habe. Studieren möchte ich trotzdem nicht :D Deswegen Ausbildung.
Welche Programmiersprache soll ich am besten wie und in welcher Reihenfolge lernen? Was sind coole Projekte an die ich mich setzen kann? Ich nehme gerne alle Tipps :)
aktuell lerne ich Python, da es sehr anfängerfreundlich ist und ich glaube, dass es mir einen guten Einstieg bringt. Ich glaube aber, bei Web Dev. braucht man Python nicht wirklich (?)
Joe, wie gesagt, ich nehme alle Tipps, außer "geh studieren" :D das werde ich selbst für mich entscheiden.
Mit freundlichen Grüßen
3 Antworten
Am besten und effektivsten programmieren lernen?
Die ganz genaue Herangehensweise (Wo/Wann/Wie oft/...) musst du selbst ergründen. Das sind auf das Individuum ausgerichtete Faktoren. Selbst bei der Lernquelle kann es gut sein, dass du mit bestimmten Typen (Buch/Kurs/Video/...) und Autoren besser zurechtkommst, als mit anderen.
Meines Erachtens ist es effektiv, wenn man sich zusätzlich zur Lernquelle zu Beginn auch schon eine Entwicklungsumgebung einrichtet, um in dieser parallel zur Theorie auch schon experimentieren/üben zu können.
Zwischen Lerneinheiten sollten (vor allem anfangs) keine zu großen Pausen liegen (z.B. Wochen), zuvor Gelerntes sollte man ab und an wiederholen (sei es separat oder wenn möglich, in Kombination mit Neuem).
Von jeglichen Crashkursen (Lerne Programmieren in X Minuten/Stunden/Tagen/...) rate ich definitiv ab, denn sie sind oft oberflächlich und vermitteln einen falschen Eindruck von Komplexität. Nimm dir stattdessen tatsächlich die Zeit, die du je Themengebiet persönlich brauchst. Weder Programmierung, noch Softwareentwicklung lassen sich in ein paar Wochen lernen.
Ebenso würde ich dir empfehlen, Videos/Tutorials abzubrechen, wenn du merkst, dass es sich mehr um Abtippübungen ohne wirkliche Erklärungen handelt. Die nützen dir nicht viel.
Was für eine Ausbildung macht man dafür? Fachinformatiker für Anwendungsentwicklung?
Das wäre ein passender Ausbildungsweg.
Welche Programmiersprache soll ich am besten wie und in welcher Reihenfolge lernen?
Bevor du dich einer Programmiersprache widmest, solltest du im Hinblick auf das Web HTML und CSS lernen. Hilfreiche Quellen findest du hier:
- MDN
- MediaEvent (Einstieg)
- SelfHTML (Einstieg)
- web.dev
Eine Webseite für sich ist ein Dokument und HTML die Sprache, mit der die Struktur dieses Dokuments festgelegt wird. CSS wiederum dient dazu, die äußerliche Darstellung der einzelnen Elementen im Dokument zu definieren. Webanwendungen für übliche Webseiten streben im Grunde daraufhin, ein HTML-Dokument zusammenzubauen oder dessen geladenen Zustand zu verändern.
Dabei spalten sie sich in einzelne Teile auf, die auf unterschiedlichen Ebenen laufen. Ein Applikationsteil (die tatsächliche Webseite) wird im Webbrowser ausgeführt. Wenn dort eine Interaktion mit dem Nutzer stattfinden soll, braucht es derzeit JavaScript oder Wasm. Ersteres lohnt sich nach aktuellem Stand mehr. JavaScript ist im Web die meistgenutzte Programmiersprache.
Weitere Teile der Webanwendung werden im Backend (Serverseite) ausgeführt. Sie dienen der Verwaltung und Bereitstellung der Daten. Sei es die Berechnung eines Produktpreises auf einer Shopseite, der Speicherung von Accountdaten eines Nutzers oder das bloße Ausliefern der jeweiligen Informationen, die auf Seite XY angezeigt werden sollen.
An der Stelle bieten sich für den Bau eine Vielzahl an Programmiersprachen an, wobei Python dazugehört. Deswegen würde ich dir empfehlen, auf dem aktuell gewählten Weg zu bleiben. Wenn du mit Python (und den Konzepten der OOP) einigermaßen sicher umgehen kannst, könntest du dich in ein Webframework (Bottle/Django/Flask/Pyramid/...) einarbeiten, um mit dem erste dynamische Webanwendungen zu bauen.
Für die berufliche Zukunft empfehle ich dir, dich dennoch irgendwann noch mit anderen Optionen vertraut zu machen. Sehr populär sind unter anderem C#, Java, JavaScript/TypeScript (auf Basis von Node.js oder Deno), PHP und Ruby. Neben der jeweiligen Programmiersprache wirst du dich ebenso mit einem passenden Webframework auseinandersetzen müssen.
Was sind coole Projekte an die ich mich setzen kann?
Nur für Python: Mit Processing.py oder Pygame kann man leicht kleine Spiele (Asteroids, Breakout, Pong, Snake, Space Invaders, Pacman, Tetris, u.ä. Klassiker) umsetzen.
Für einen Webeinstieg: Bau dir Webseiten zu irgendwelchen von dir gewählten Themen zusammen. Ob das nun ein Portfolio ist oder die Bewerbung eines imaginären Produkts.
Mit etwas mehr Übung: Ein Gästebuch, ein kleiner Shop, ein Spiel, eine Bilderverwaltung, ein Analysetool (Webcrawler sammelt irgendwelche Daten, die Webanwendung generiert dazu Statistiken/Diagramme), ...
Sei selbst kreativ.
Der Fachinformatiker für Anwendungsentwicklung ist aus meiner Sicht die beste Ausbildung für deine Pläne. Achte auf ein Betrieb, der auch Webentwicklung nutzt. Mit einem falschen Betrieb wirst du eventuell gar keine Webentwicklung sehen.
Da Webentwicklung i.d.R. JavaScript bzw. TypeScript benutzt, solltest du auch mit dieser Programmiersprache anfangen. JavaScript ist die primäre Programmiersprache für den Webbrowser. TypeScript wird in JavaScript kompiliert und bietet dir Typensicherheit an.
Wenn du derzeit gut mit Python zurecht kommst, solltest du dort vorerst dran bleiben. Ein wichtiger Skill ist, dass du die Konzepte hinter dem Programmieren verstehst. Also z.B. Datentypen, objektorientiert und Kontrollstrukturen (if, Schleifen, ..) und diese auch entsprechend zur Lösung des Problems anwenden kannst.
Wenn man das alles verstanden hat, ist der Wechsel der Progammiersprache nicht zu schwer. Ja, man sich den neuen Syntax und die Eigenheiten der Programmiersprache anschauen, aber die meisten Konzepte gibt es jeder Sprache.
Python könntest du im Zusammenhang der Webentwicklung als Backend (Server) Programm nutzen. Dort kannst du z.B. Nutzerdaten verwalten.
Zu deinem Vorgehen würde ich, wie schon gesagt, erstmal mit Python fortfahren, um das grundsätzliche Programmieren zu verstehen.
Dann solltest du dir auch die Webtechnologien wie HTML, CSS und JavaScript anschauen und erste kleine Projekte umsetzen.
Mit vielleicht auch nicht zu lange Warten, solltest du dir auch ein Web-UI Framework wie z.B. React, VueJS, Angular und wie sie nicht alle heißen, anschauen. Damit lassen sich viel leichter größere Projekte umsetzen.
Ich würde dann wahrscheinlich auch eher TypeScript nutzen, da man eben feste Typen hat. Es bringt dir Sicherheit und du lernst damit auch die feste Typisierung kennen. Python und JavaScript sind dynamisch typisiert.
Konkrete Projekte zum Umsetzen fallen mir nicht. Auch wenn du nicht studieren möchtest, könntest du dein Glück auch bei Unterlagen von Unis oder Hochschulen versuchen. Mit den Folien/Scripten könntest du Infos erhalten und eventuell sind auch Übungsaufgaben dabei. Wahrscheinlich wirst du mehr Unterlagen zur Programmiersprache Java (nicht JavaScript) als zu Python finden. Programmieren 1, Programmiermethodik 1/Programmiertechnik werden gute Begriffe für die Suche sein.
In der Webentwicklung macht eigentlich nur noch Backend Sinn. Das Front end wird bereits durch ki und wysiwyg abgelöst. Da machen Sprachen wie java / js, python, php, sql, ruby, rust etc Sinn für den Anfang.