Lerne Coding
Programmieren lernen - Was muss ich wissen? 📚

Wie lerne ich Programmieren?

Inhaltsverzeichnis
[[TABLE OF CONTENTS]]

In diesem Artikel möchte ich dir gerne die Einstiegsfragen beantworten, die man sich stellt, wenn man das Programmieren anfangen möchte. Das sind zum Beispiel:

  • Warum soll ich das Programmieren lernen?
  • Welche Programmiersprache soll lernen?
  • Diverse weiterführende Fragen

Was ist Programmieren überhaupt?

Programmieren ist die Entwicklung von Software? Nein. Die Entwicklung der Software ist ein ganzer Prozess. Wer die Idee für ein Programm hat, muss nicht zwingend derjenige sein, der es dann auch programmiert. Es gibt kluge Köpfe, die sich darüber Gedanken machen, welche Software man entwickeln könnte; diese Leute können aber oft selbst keine Zeile programmieren. Erst ein Programmierer entwickelt aus den Ideen bzw. Anforderungen, die an ihn gestellt werden, einen Code, der die Ursprungsidee dann in eine fertige Software übersetzt.


Ich habe zum Beispiel die Idee, eine Software zu schreiben, die erkennen soll, ob eine Person alt genug ist, um ein bestimmtes Produkt zu bestellen. Aus dieser Information kann man bereits ein Programm machen.


Das könnte wie folgt aussehen:

Der Nutzer gibt sein Alter ein und erhält die Information zurück, ob er das Produkt kaufen darf oder nicht.

Hier das Ganze einmal als Pseudo-Code:

AlterDesNutzers = Nutzereingabe seines Alters

wenn AlterDes Nutzers > 20, dann darf das Produkt gekauft werden. 

Und jetzt das Ganze mal in Python als Programmiersprache:

AlterVomNutzer = input("Wie alt sind Sie?")
if AlterVomNutzer > 20:
	print("Produkt darf Gekauft werden")
else:
	print("Produkt darf nicht Gekauft werden")

If-Abfragen sind ein grundlegendes Prinzip beim Programmieren, um zu Prüfen, ob etwas zutrifft oder nicht zutrifft.
Alternativ hier das Ganze noch einmal in Cobol geschrieben; ihr seht, es gibt einen Unterschied zwischen einfachen und komplexen Sprachen, weshalb ihr euch am Anfang für eine einfache Sprache entscheiden solltet. Ihr könnt später zu komplexeren wechseln, da die Programmier-Konzepte sehr ähnlich sind. Im unteren Beispiel findet ihr auch wieder die If-Abfrage.

Code Beispiel Cobol
Code Beispiel Cobol

Was ist ein Hello World Programm?

Eine Hello World Programm ist das typische Programm, das man zu aller erst in einer neuen Sprache schreibt, wenn man diese lernt. Dabei geht es darum, nur die Worte "Hello World" im Terminal oder im Browser oder einem programmiersprachentypischen Interface auszugeben.

Im nachfolgenden Beispiel, beim Vorstellen der Programmiersprachen, zeige ich euch immer ein Hello World Programm, damit ihr die Syntax sehen könnt.

Welche Programmiersprache soll ich lernen?

Die Frage muss sich jeder am Anfang stellen, so auch ihr, wenn ihr das Programmieren lernen wollt. Es gibt verschiedene Sprachen, die sich für verschiedene Zwecke eignen.

Eine kleine Auflistung von Programmiersprachen und Zweck-Zuordnung will ich euch hier geben. Natürlich sind diese Zwecke nicht nur bestimmten Programmiersprachen zugeordnet.

In meiner Auflistung ordne ich den Sprachen nur die gängigsten Zwecke zu. Wenn eine Sprache Turning-vollständig ist, lässt sich im Prinzip alles damit programmieren. Ich kann auch mit PHP, was ursprünglich nur zur Webentwicklung gedacht war, eine Terminal-Anwendung programmieren.

Python

Python ist eine Programmiersprache, die primär zur Automatisierung eingesetzt wird. Es werden verschiedene Konzepte unterstützt, wie zum Beispiel Objekt-Orientierung und funktionale Programmierung. Eine Besonderheit von Python ist, dass es ohne Klammern und Semikolon auskommt. Ein Zeilenumbruch steht für das Ende der Zeile. Eine Funktion ist dann geschlossen, wenn man die Einrückung verlässt.

Hello World Programm in Python:

print("Hello World")

Ausführlicher Artikel zum Thema Python: Python programmieren lernen - das Programmieren verstehen

PHP

PHP ist eine die Sprache, die primär in der Webentwicklung eingesetzt wird. Zum Beispiel lassen sich ein Login-System oder das Versenden von Formularen mit PHP bewältigen.

Viele bekannte Content Management Systeme sind in PHP geschrieben, da die meisten Webhoster PHP als primäre Sprache unterstützen; das sind unter anderem:

  • Wordpress
  • Drupal
  • Joomla

Ein Content Management System ist dazu da, Texte und Inhalte in einer grafischen Benutzeroberfläche verwalten zu können. Das eignet sich vor allem für die schnelle Bearbeitung von Text. Diese ist besonders für Kunden nützlich.

Hello World Programm in PHP:

<?php echo "Hello World"; ?>

Java

Java ist eine Sprache, die auf allen Betriebssystemen läuft. Ihre Stärke ist vor allem ihre Verbreitung. Was die Performance angeht, hält sich diese Sprache eher im Mittelfeld auf. Das bekannteste Spiel auf Basis von Java wird vermutlich Minecraft sein mit 176.000.000 verkauften Exemplaren.

Quelle: https://de.wikipedia.org/wiki/Liste_der_erfolgreichsten_Computerspiele

Java eignet sich aber nicht nur für Apps und Spiele; in der Wirtschaft wird es gerne für größere Software eingesetzt. Es verwundert deshalb kaum, dass Java im TIOBE Index die Programmiersprache ist, die regelmäßig die höchste Popularität aufweist.

Hello World Programm in Java:

public class HelloWorld {
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}

Kotlin

Kotlin kann als Nachfolger von Java und JavaScript verstanden werden. Ja, richtig verstanden: Obwohl Java und JavaScript nichts miteinander zu tun haben, gibt es eine Sprache, die mit beiden arbeiten kann; das ist Kotlin.

Kotlin kann zum Einen in der JVM (Java Virtual Machine) laufen. Die JVM ist dafür da, den Bytecode von Java auszuführen. So kann dieser auch Kotlin-Bytecode, der für die JVM geschrieben wurde, ausführen. Der Vorteil ist, dass Kotlin im Vergleich zu Java eine einfachere Syntax hat und nicht 100% objektorientiert ist.

So kann man zum Beispiel auch eine Main Function ohne einen zusätzlichen Klassenwrapper schreiben, wie es zum Beispiel Java benötigt.

Hello World Programm in Kotlin:

fun main() {
    println("Hello World!")
}

Des Weiteren ist es aber auch möglich, die selbe Funktion nach JavaScript zu transpilieren, dazu kann ich euch die folgende Seite mit einem umfassenden Beispiel empfehlen:

https://kotlinlang.org/docs/tutorials/javascript/kotlin-to-javascript/kotlin-to-javascript.html

Swift

Swift ist eine von Apple hausgemachte Programmiersprache. Es kann daher nur auf Apple-Geräten kompiliert werden. Das heißt, man benötigt einen Apple Computer, um die Sprache wirklich nutzen zu können. Sie eignet sich vor allem für Anwendungen, die nur auf Apple-Geräten laufen sollen. Man kann mit ihr für jedes Apple-Gerät Apps entwickeln - vom Mac Book bis hin zur Apple Watch oder Apple TV.

Hello World Programm in Swift:

print("Hello World");

Scratch

Diese Sprache besteht aus einem grafischen Nutzer-Interface. Man schreibt sei nicht, sondern baut per drag-and-drop alles zusammen. Scratch eignet sich besonders, um Basis-Elemente, wie zum Beispiel Schleifen und If-Abfragen, zu verstehen. Oft ist Scratch auch im Informatik-Unterricht an Schulen die erste Sprache, in der kleine Programme gebaut werden, bevor es an eine rein textbasierte Programmiersprache geht.

Hello World Programm in Scratch:

Scratch Desktop Hello World
Scratch Desktop Hello World

Javascript

JavaScript macht das Web dynamisch, kann aber auch deutlich mehr. Durch NodeJS kann es sehr gut auch für alles andere eingesetzt werden. JavaScript war lange Zeit auf Browser beschränkt. Durch NodeJS hat es sich allerdings auch in viele andere Bereiche geschlichen. Durch NodeJS ist es möglich, JavaScript direkt auf dem Webserver auszuführen. So können Webseiten zum Beispiel auch Content Management Systeme nutzen, die auf JavaScript basieren.

Hello World Programm in Javascript:

alert("Hello World");

Was ist der TIOBE Index?

Der TIOBE Index gibt die Popularität der Programmiersprachen wieder. Der Index wird jeden Monat geupdated.
Die genauen aktuellen Zahlen könnt ihr hier finden: https://www.tiobe.com/tiobe-index/


Die TOP 5 im TIOBE Index belegen zur Zeit:

  • Java
  • C
  • Python
  • C++
  • C#

Was ist Turing-Vollständigkeit?

Mit einer Turing-vollständigen Sprache ist es theoretisch möglich, jede Turing-Maschine zu schreiben. So könnte man zum Beispiel einen Compiler für die Sprache in der Sprache selbst schreiben. Ein Compiler ist das Programm, das den Text ließt und diesen in für den Computer lesebare Befehle umwandelt. Da es aber den Speicher, den eine echte Turing-Maschine braucht, nicht gibt (denn dieser ist unendlich),ist eine Turing-Maschine nur ein theoretisches Konzept.

Ausführliche Informationen zum Begriff Turing-Vollständigkeit könnt ihr diesem Wikipedia-Artikel entnehmen: https://de.wikipedia.org/wiki/Turing-Vollständigkeit

Wichtig ist grundsätzlich, dass die Sprache die Turing-Vollständigkeit erfüllt. Von vielen werden Sprachen erst bei Turing-Vollständigkeit als Programmiersprache beschrieben. Zum Beispiel ist HTML nicht Turing-vollständig, da HTML selbst nicht aktiv ist. Erst der Browser oder JavaScript lassen es aktiv werden.

Welche Programmiersprache würde ich für den Einstieg wählen?

Meine persönliche Auswahl beim Lernen einer neuen Programmiersprache würde definitiv auf Python fallen wenn ich sie nicht schon beherrschen würde, da diese Sprache sehr nah am Englischen ist, ohne viele “Kunstwörter” zu verwenden, die man nicht kennt. Des Weiteren ist es in Python elementar, sauber mit Einrückungen zu arbeiten. So trainiert man sich dieses Prinzip sehr gut an. Ein weiterer Grund ist definitiv, dass es sehr viele Einsteiger-Ressourcen im Internet gibt, die dabei helfen, Python zu lernen.

Mehr zu Python: Python programmieren lernen - das Programmieren verstehen

Bücher zum Programmieren-lernen?

Sollte ich mir Bücher kaufen, um das Programmieren zu lernen? Ich würde sagen: jain. Auf der einen Seite gibt es Personen, die gut mit Büchern lernen können. Allerdings ist beim Programmieren das Ausprobieren und aktive Arbeiten deutlich wichtiger.

Das andere Problem ist an Büchern die Aktualität. Es gibt Programmiersprachen, wo sich regelmäßig bestimmte Funktionen ändern können. Diese Fehler vor allem am Anfang seiner Programmierlaufbahn zu finden, ist äußerst mühsam. Daher ist es eigentlich besser, ohne Bücher zu arbeiten. Ich besitze auch einige Bücher, die ich aber nicht primär zum Erlernen einer Programmiersprache nutze, sondern nur, um sie aufzuschlagen und Neues zu sehen, das man vielleicht noch nicht kannte. Grundsätzlich fand ich die meisten Bücher vom Rheinwerk Verlag immer sehr hilfreich und interessant.

Eins meiner Lieblingsbücher vom Rheinwerk Verlag ist definitiv das Python3 Handbuch. Das Buch habe ich vor allem am Anfang genutzt, um mich in Python zurecht zu finden.

Warum soll ich das Programmieren lernen?

Die Frage könnte ich wirtschaftlich beantworten. Es lohnt sich, da immer mehr Firmen Prozesse automatisieren wollen - und wo etwas zu automatisieren ist, braucht es meistens auch einen fähigen Programmierer. Auf der anderen Seite kann es sehr viel Spaß bereiten, Lösungen für Probleme zu finden, die zuvor von einem Menschen komplett händisch bearbeitet werden mussten.

Wichtig ist, dass man beim Lernen ein Ziel vor Augen hat. Das macht es ungemein einfacher.

Welche Quellen kann ich nutzen, um das Programmieren zu lernen?

Es gibt einige Quellen, um das Programmieren zu lernen. Ich kann euch folgende aus eigener Erfahrung empfehlen. Zuerst wäre da natürlich der Blog HelloCoding. Hier werden regelmäßig bestimmte Bereiche rund um das Thema Programmierung behandelt. Aus diesen Artikeln lässt sich viel Neues lernen. Andere Quellen, die sich gut bis sehr gut eignen, sind:

  • Youtube. Dort sollte man vor allem aufs Datum der Veröffentlichung achten und auf die Bewertungen anderer Nutzer. Zum Teil sind Videos einfach zu alt, um noch auf die aktuelle Version einer Sprache Anwendung zu finden.
  • Udemy eignet sich hervorragend, wenn man auch bereit ist, etwas Geld zu investieren. Wobei eine Geld-Investition nicht notwendig ist, um eine Programmiersprache zu lernen. Es kann einem aber ggf. Videos von einem für sich besser geeigneten Mentor zur Verfügung stellen. Zu beachten ist bei Udemy: Es gibt keine Guidelines, die besagen, dass Videos nicht in zwei Kursen verwendet werden dürfen. So musste ich auch schon die Erfahrung machen, dass sich 60-70% eines Kurses mit einem anderen überschneiden, den ich aber bereits gekauft hatte.
  • Die Orginal-Dokumentationen der Programmiersprache. Zu beachten ist: Es gibt gute und schlechte Dokumentationen. PHP.net zum Beispiel ist für mich eine der besten Dokumentationen.
  • Für bestimmte Probleme kann StackOverflow sehr hilfreich sein. Dort werden konkrete Fragen zu Problemen gestellt und diese beantwortet. Antworten mit einer hohen Qualität werden von anderen Nutzern geupvotet und schlechte Antworten dementsprechend gedownvoted.

Fazit

Für mich ist das Wichtigste, wenn ich eine neue Sprache lerne, dass ich ein konkretes Projekt habe, das ich umsetzen will. Ohne dieses fällt es mir ungemein schwerer, etwas zu lernen.

Setze dir ein Ziel, das du erreichen willst. Ich hatte zum Beispiel als Ziel, als ich PHP gelernt habe, ein Content Management System zu schreiben und habe dabei sehr viel gelernt. Natürlich ist man am Anfang etwas überfordert, aber aus der Überforderung lernt man. Man sucht nach Wegen, Probleme zu lösen.

Kommentare zum Artikel

Es sind noch keine Kommentare vorhanden? Sei der/die Erste und verfasse einen Kommentar zum Artikel "Programmieren lernen - Was muss ich wissen? 📚"!

Kommentar schreiben

Verwante Beiträge
close