Programmieren lernen – Wie fange ich an? Kostenloses Tutorial

Programmieren lernen

Du willst das Programmieren lernen?

Eigene Apps schreiben und geniale Games coden? Dann bist Du bei diesem Tutorial genau richtig.

Steige ohne Vorwissen mit diesem Tutorial ein.

Beginnen wir!

Warum soll ich Coden lernen?

Programmieren ist die Schlüsselfähigkeit des 21. Jahrhunderts.

Eine Software kann wiederholende Arbeitsschritte automatisieren und diese regelbasiert erledigen. Wer coden kann, kann seine Aufgaben schneller erledigen. Wenn Du eine gute, fehlerfreie Automation schreibst, multipliziert sich Deine Arbeitskraft um das millionenfache Vielfache.

Du denkst jetzt „millionenfach“ ist übertrieben – aber früher haben Buchhalter Monate damit verbracht einen Jahresabschluss anzufertigen, indem diese Werte per Hand aufsummiert haben. Ein Computer kannst die gleiche Aufgabe in Sekunden erledigen!

Weitere Vorteile: Du verstehst, wie Software funktionieren und kannst Software an Deine Bedürfnisse anpassen. Du kannst Deine Computer-Probleme leichter beheben und hast mehr Verständnis für die Fehler in der Software anderer.

An bunten Bildschirmen - Farben für bessere Orientierung
Die Farben dienen für bessere Orientierung im Code

Brauche ich Vorwissen?

Wenn Du lesen und schreiben kannst, dann kannst Du diesen Skill erlernen.

Du kannst diesen Skill schneller lernen, wenn Du abstrakt denken kannst (kein Muss). Du musst keine 1,0 in Mathematik in der Schule haben oder Informatik studiert haben. Viele Profis haben ihre Fähigkeit über kostenlose Tutorials wie dieses erworben (und nicht in der Uni).

05 Commandline Interface - Steffen Lippke Coding Lab
Eingaben tätigen Coder häufig mit einem Command Line Interface

Lerne jede Sprache und -technik im Internet kostenlos. Entwickler stellen die Dokumentation und Tutorials in vielen Computersprachen frei zugänglich zur Verfügung.

Welcher PC / Welcher Laptop brauche ich?

Im Gegensatz zum Gaming brauchst Du beim Coden keinen schnellen und leistungsstarken Computer.

Du kannst auf einem 10 Jahre alten Notebook oder Desktop PC coden. Dir reicht für 95 % der Aufgaben ein Notebook oder Desktop PC mit Windows, Linux oder macOS aus, der mindestens 4 GB RAM verwendet. Als Anfänger brauchst Du keinen besseren Computer, weil Deine erste Software Deinen Computer kaum ans Limit bringen.

Wenn ein Browser auf Deinem Rechner läuft, steht Dir nichts mehr im Weg heute noch Dein erstes funktionierendes Programm zu schreiben.

Einfache Regel

Die Grundlagen – Einstieg ohne Vorwissen

Computer-Programme sind wie Kochrezepte.

Steffens Erklärung

Eingabe: Rohe, ungeschälte Kartoffeln

  1. Kartoffeln schälen
  2. Wasser auffüllen
  3. Salz hinzu
  4. Kochplatte 4 anschalten

Ausgabe: Gekochte Kartoffeln

Du bist der Kochbuchautor (Programmierer) und sagst, was wann der Gehilfe (Computer) machen soll, damit das Ergebnis am Ende stimmt.

Über fest definierte Koch-Anweisungen (Computer-Befehle) erklärst Du Deinem Gehilfen (Computer) den Ablauf, sodass ein gutes Gericht herauskommt.

Der dumme Gehilfe (Computer) arbeitet minutiös Deine Befehle ab. Wenn Du vergisst in Dein Kochrezept zu schreiben, dass der Gehilfe (Computer) die Kochplatte 4 anschalten soll (Befehl), wirst Du später mit rohen Kartoffeln abgestraft (Bug).

Als Kochbuchautor stellst Du oft dem Gast verschiedene Alternativen zur Verfügung. Entweder bevorzugt der Gast die Kartoffeln als Bratkartoffeln oder im Salzwasser gekocht. Der Gast sagt, welche Variante er bevorzugt (Input). Dein Rezept braucht eine Verzweigung:

Input: Garmethode: braten

  1. Kartoffeln schälen
  2. Wenn: braten –>
    1. In Scheiben schneiden
    2. Öl in den Topf
  3. Wenn: nicht braten –>
    1. Wasser auffüllen
    2. Salz hinzu
  4. Kochplatte 4 anschalten

Output: gekochte Kartoffeln oder Bratkartoffeln

Wenn Du mehr als eine Kartoffel essen möchtest, schreibst Du in Dein Kochrezept z.B. Bitte springe zu Schritt 1 (Schleifen):

  1. Kartoffeln schälen
  2. Wenn: braten –>
    1. In Scheiben schneiden
    2. Öl in den Topf
  3. Wenn: nicht braten –>
    1. Wasser auffüllen
    2. Salz hinzu
  4. Springe zu Schritt 1 bis Kartoffelanzahl = 5
  5. Kochplatte 4 anschalten

Output: gekochte Kartoffeln oder Bratkartoffeln

Die Kartoffelanzahl stellt für den Computer eine Variable dar. Eine Variable ist ein Speicherplatz, der Zahlen, Texte, Gruppe von Zahlen und Texten (Arrays) beinhalten kann. Wenn Du die „Kartoffelanzahl“ abrufst, erhältst Du den Wert, der abgespeichert ist. Du kannst den Wert überschreiben oder löschen.

Jetzt haben wir alles zusammen. Der Computer …

  1. … arbeitet nacheinander Befehle ab
  2. … nimmt Eingaben auf, verarbeitet diese und gibt Ausgaben aus
  3. … merkt sich Werte mit Variablen
  4. … und ist mit Verzweigungen und Schleifen steuerbar

In 10 Schritten zum Software Eningeer

Für Dich habe ich 10 Schritte zusammengestellt, wie Du von einem Anfänger (ohne Vorwissen) zu einem Geek wirst.

#1 Motivation aufsaugen

Bevor du beginnst, wild auf deiner Tastatur rum zu hacken, brauchst Du eine gute Portion Motivation für das Coden.

Hier sind die TOP 6 Vorzüge, wenn Du programmieren lernst:

  1. Reich werden: In der Softwareentwicklung sind Margen von 40 % bis 70 % realistisch. Du entwickelst einmal eine Software und die kostenlosen Kopien verkaufen sich Millionenfach im besten Fall.
  2. Schneller Fehler am Computer lösen: Statt zu verzweifeln, wenn der Computer spinnt, findest Du die Lösung zu Deinem Problem strukturiert und zügig.
  3. Kreatives Hobby für die Freizeit: Tobe Dich, wie bei Holz-DIY-Projekten in den Tools künstlerisch aus. Entwickle eigene Features und die Benutzeroberflächen von morgen.
  4. Hohe Gehälter in der IT-Branche: Als Software-Engineer verdienen selbst als Quereinsteiger oder mit Mittlerer Reife ein sehr gutes Gehalt. Die Spitzengehälter für Experten liegen bei 250.000+ Euro Jahres-Brutto ohne eine Personalverantwortlichkeit (mit genügend Skill).
  5. Nach Deinen Bedürfnissen Apps entwickeln: Dir gefällt etwas an Deiner Lieblings-App nicht? Ändere die App Deinen Skills, wenn diese Open-Source ist.
  6. Unabhängigkeit von Geeks: Der Telekom Techniker kommt nicht. Der Apple Support antwortet nicht. Dein Laptop hängt sich ständig auf. Du bist mit den neuen Fähigkeiten unabhängiger von den Informatikern, die mit dem Computer umgehen können.
Software besitzt von Natur aus eine Hohe Marge
Software besitzt von Natur aus eine Hohe Marge

Das Coden besitzt wie jede Tätigkeit eine Licht- und Schattenseite. Fehler, die Du nicht sofort lösen kannst, sind nicht immer angenehm. Wenn Du Dich vertippst oder einen Logik-Fehler in Dein Software einbaust, zeigt der Computer eine Fehlermeldung an.

Viele Anfänger schmeißen nach 10 Minuten das Handtuch und behaupten:

„Habe kein Talent dafür.“ – „Den Mathe-Kram versteh ich nicht.“ – „Ich bin einfach zu dumm.“

Der ungeduldige Anfänger

Motiviere Dich und suche Dir einen Motivations-Vorteil oben aus der Liste heraus. Frage andere um Hilfe, wenn Du nicht weiterkommst (Foren, StackOverflow). Gebe nicht nach 30 Minuten auf. Schaue Dir die Anleitung genauestens nochmal an und vergleiche diese mit Deinem Code!

Ohne Stackoverflow gehts nicht
Ohne Stackoverflow gehts nicht

Erfahrene Coder starren an vielen Tagen 60 Minuten auf Ihren Code, um zu bemerken, dass sie ein Semikolon vergessen haben (Anfänger-Fehler). Das ist menschlich, normal und gehört zum Coden dazu.

Die Realität spricht

#2 Erstes Hello World schreiben

00 JavaScript Hello World
00 JavaScript Hello World

Traditionell nennt sich das Einstiegsprojekt in die Codierung in jeder Sprache „Hello World“. Du versuchst, dass auf Deinem Bildschirm ein „Hello World“ erscheint, wenn Du Deine Software ausführst.

01 Ergebnis des Hello Wolds
So starten viele in die Welt der Informatik – Ergebnis des Hello Worlds

Wenn der Computer ein „Hello World“ anzeigt, kannst Du bereits die Tools installieren und kennst die Struktur, wie eine Software aufgebaut ist. Das Installieren der Umgebung ist oft schwerer als das eigentliche Coden des Hello-World-Projekts. Für Anfänger habe ich viele Schritt-für-Schrittinstallationsanleitungen für beliebte Sprachen und Frameworks zusammengestellt.

  • TypeScript (JavaScript nur besser)
  • Python
  • Java

#3 Nach Anleitung schreiben

08 Anleitungen zum Lernen
Die Anleitungen zum Lernen von Java

Du willst mehr als nur „Hello World“ coden?

Mehr Features! Mehr Buttons! Mehr Ausgaben!

Um Deine Wunsch-Features zu bauen, musst Du die Grundlagen und Datenstrukturen aus der Programmierung verstehen. Du musst Dir nicht alles aus den Fingern saugen. Ich habe für Dich Grundlagen-Tutorials geschrieben, mit den Du nützliche Anwendungen bauen kannst.

z.B.

#4 Dokumentation lesen lernen

Dokumentation lesen lernen ist die beste Methode
Dokumentation lesen – nicht immer leicht verständlich

Nachdem Du die Grundlagen einer Sprache im Groben verstanden hast, solltest Du Stück für Stück die Dokumentation der Sprache lesen.

Jede Sprache und Framework sollte eine technische Dokumentation mit Fließtext-Kommentaren bieten. Diese Informationen kommen aus erster Hand von den Entwicklern und sind am aktuellsten. Viele Dokumentationen nutzen eine Versionierung für die Releases der Sprache oder des Frameworks. Viele Dokumentationen sind im Gegenzug nur schwer zu erfassen und zu verstehen.

Wenn Du nach einer Coding-Frage googelst, landest Du zu 80 % auf Stack Overflow. Stack Overflow ist eine Plattform, wo Unerfahrene Fragen stellen können und (hoffentlich) die Profis antworten.

Bedenke bei Stack Overflow: Viele Antwortende …

  • … schreiben ineffizienten Code
  • … glänzen nur mit Halbwissen
  • … aktualisieren nicht ihre Antworten bei der Änderungen bei der Codierung

Ein schnelles Copy-Paste von einer Stack Overflow Lösung funktioniert in den meisten Fällen, aber …

  1. Du hast nicht verstanden, was der Code macht
  2. Die Benennungen sind oft grauenvoll (siehe Clean Code)
  3. Du kennst die Zusammenhänge nicht

Nutze Stack Overflow. Aber behalte meine Warnungen im Hinterkopf.

Steffen Lippke

#5 Clean Code verfassen

Was ist Clean Code? Sauberer Code? Ja, stimmt.

Du solltest Dir angewöhnen eine hohe Code-Qualität mit Deiner ersten Zeile Code zu produzieren:

  1. Benenne die Dateien, Variablen und Funktionen mit sprechenden Namen.
  2. Schreibe kurze und viele Funktionen
  3. Du nennst Ähnliches ähnlich und unterschiedliches unterschiedlich.
  4. Keep it stupid, simple: Je einfacher und kürzer der Code ist, desto besser ist die Qualität (Ausnahme Benennung der Variablen und Funktionen).

Warum soll ich den Aufwand für Clean Code betreiben?

Andere Personen wollen Deinen Code lesen. Wenn Du die Variablen mit x, y, z, k oder n benennst, dauert es deutlich länger bis eine andere Person den Code versteht (oder Du in 6 Monaten). Wenn Du die Textfeld-Variable für den Kontonummer txtfieldAccountNumber nennst, dann findet sich der andere Kollege schneller zurecht.

Lese-Tipp: Meine Clean Code Guides mit vielen Praxisbeispielen

#6 Im Team zusammenarbeiten

09 Im Team mit GIt arbeiten
Im Team mit Git arbeiten

Wenn Du alleine coden kannst, hast Du die Stufe 5 erreicht.

Die nächste Herausforderung ist die Entwicklung einer Software im Team. Ein Team besteht aus mehreren Codern, die einen unterschiedlichen

  • Ausbildung
  • Wissensstand
  • Hintergrund
  • und Präferenzen

… haben. Ihr müsst Regeln für den Clean Code aufstellen, euch Gedanken über die Strukturierung des Projekts und Architektur machen. Eine sinnvolle Aufgabenverteilung nach Stärken gehört dazu.

Jedes Team durchläuft Phasen der Zwietracht. Die Software zeigt viele unerwartete Fehler auf, die die Kollegen sich gegenseitig in die Schuhe schieben.

Die Zusammensetzung des Codes übernimmt ein Versionierung (z. B. Git). Die Software vergleicht Deine Änderungen am Code mit den Änderungen der anderen und fügt diese zu einem Projekt zusammen (merge).

Digitale Tools wie Todoist, Trello oder Jira nutzen viele Teams, um sich zu organisieren. Die Dokumentation des Projekts erfolgt in der Codebasis, die eine Software später heraus extrahiert (Swagger).

#7 Fortgeschrittene Techniken lernen

Wenn Du im Team codest, lernst Du schnell neue Techniken kennen. Andere Profis empfehlen Dir Tricks und Tipps, die Dich voranbringen.

Ein sogenannter „Code Review“ ist für die Anfänger Gold wert. Andere erfahrene Superprofis gehen mit Dir in einem Meeting Deinen Code durch. Sie suchen nach schlechten Code, Strukturen und geben Dir (hoffentlich) konstruktive Kritik und Verbesserungsvorschläge zum Code.

Fortgeschrittene Themen behandele ich auf diesem Blog:

#8 Selbstvermarktung und Coding-Effektivität

Der beste Coder fällt nie als der beste Coder auf, wenn er seine Leistungen nicht vermarktet. Ich meine nicht, dass Du wie ein Marktschreier herumbrüllen sollst, sondern in Deinen Meetings, Präsentationen und Code Reviews auf Deine gut erledigte Arbeit aufmerksam machen sollst.

Achtung: Versuche nicht die meisten Zeilen Code zu coden oder Todos zu erledigen, sondern eine hohe Coding-Effektivität zu schaffen.

  • Effizient – eine Sache gut machen, z. B. konzentriert ein Feature schnell fertigstellen.
  • Effektiv – die richtigen Sachen machen, z. B. überlegen, welches Feature der Kunde wirklich braucht und dieses umsetzen.

Suche Dir die Kernherausforderungen des Projekts heraus und erledige diese. Suche Dir die Schlüsselbausteine des Produkts heraus und erledige sie gut!

Beispiel Aufgabenliste: Die App soll zuverlässig die Aufgaben zwischen den Geräten synchronisieren. Ein schlechter Entwickler baut zuerst die Features wie den Dark Mode und die Internationalisierung ein. Ein guter Entwickler baut zuerst den Synchronisierungs-Algorithmus und achtet darauf, dass die App nie eine To-do frühzeitig löscht.

#9 Neue Technologien in der Realität umsetzen

Die Medien praktizieren im Zusammenhang mit Software und dem Silicon-Valley ein Buzzword-Bingo:

Die hoch-angepriesenen Technologien, die die Welt ändern sollen, funktionieren, nur die meisten Coder wenden sie nicht an. In der Universität lernen junge Coder die neusten Technologien kennen.

Für Deep Learning brauchst Du kein 1 in Mathe
Für Deep Learning brauchst Du kein 1 in Mathe

„Kann ich eine Blockchain für die Zuverlässigkeit unserer Lieferkette einprogrammieren?“

Frisch gebackener Kollege

„Gute Idee. Schreib es mal ganz hinten auf die Todo-Liste (und vergiss es gleich wieder)“

Chef (45 Jahre, zwei quengelnde Kinder)

Viele Unternehmen wollen keine Zeit und Geld für „unbekannte“ Technologien ausgeben, weil dies oft eine hohe Anfangsinvestition mit wenig Output mit sich bringen.

Versuche privat die Technologien in Deine Projekte einzubauen, zu verstehen, zu testen und damit zu spielen. Das Privat-Projekt ist ein gutes Argument, welches Dir hilft, Deinen Chef davon zu überzeugen.

#10 Neuartiges schaffen und brauchbar machen

Wenn Du die neusten Technologien in der Praxis anwenden konntest, überlege wie Du neuartige Implementierungen umsetzt. Verwende die neuesten abstrakten Konzepte und Probleme der Mathematik, Physik oder Naturwissenschaften, um diese mit Code zu lösen.

Gehe neue Wege. Teste aus und teile Deine Idee als Open-Source-Projekt.

Weitere Fragen

Wie lange brauche ich um eine App zu schreiben?

Knappe Antwort: Eine einfache Beispielsoftware oder eine App kannst Du ohne Vorwissen in 10 bis 40 Minuten erstellen.

Steffen Lippke

Für eine simple Taschenrechner-App braucht ein Anfänger im Schnitt 1 – 2 Stunden (unter Anleitung).

03 Objektorientierte
03 Objektorientiert

Die Zeit bis Deine App fertig ist, hängt ab von der …

  • Gewählten Sprache
  • Dauer der Installation der Umgebung
  • Deine Anforderungen an die App
    • Funktion – Was soll die App an Features aufweisen?
    • Stabilität – Was passiert, wenn ein Depp die App bedient?
    • Aussehen – 0815-Baukasten-Design oder kreatives Game?
  • Anzahl der Codierungsfehler

Was ist besser fürs Coden? Mac vs. Windows?

Ist Mac, Windows oder Linux besser zum Coden geeignet? Diese Frage behandeln viele Profis und Amateure sehr subjektiv. In meinen Augen ist das eine Glaubensfrage und kein objektiver Vergleich.

Meine Antwort: egal!

Du kannst mit allen Betriebssystemen coden. Ich habe mit allen eine Zeit lang gearbeitet und habe alle getestet. Mit allen Betriebssystemen kannst Du die meiste Software gleich schnell und gleich aufwendig entwickeln, z. B. Java, Python oder PHP.

Mein Tipp: Nutze das Betriebssystem, welches Dir gefällt bzw. welches Du die meiste Zeit nutzt.

Steffen Lippke

Welche Sprache muss ich lernen, um X zu machen

Viele Anfänger fragen, was sie lernen müssen, um X zu coden, hier die Auflösung:

Ich möchte eine … codenDu lernst Du …mit der folgenden Software …
Android App / GameKotlin / JavaAndroid Studio
iPhone App / iPad App / GameSwift / Objective-CXcode
Windows ToolC / C++ / .NETVisual Studio Code
WebseiteHTML, CSS, JavaScriptVisual Studio Code
Game für Xbox / PlayStation / ComputerC / C++Gamestudio, Unreal Engine
Apps für Apple und AndroidIonicVSCodium
DatenbankenSQLphpMyAdmin, postgress
Künstliche IntelligenzPython / R / TensorFlowJupiter Notebooks
  

Wenn Du nach dem Erwerb einer Sprache tendenziell mehr verdienen willst, lerne …

  • Python mit numpy – Machine Learning usw.
  • Cobolt – für Versicherungen und Banken
  • GOlang – für Hacker bei Google (von Google entwickelt)
  • ABAP – Business-Anwendungen in SAP

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!

Die Webseite nutzt nur technisch notwendige Cookies.