Der Wille, eine Programmiersprache zu lernen, ist da – Glückwunsch! Doch in welche der unzähligen Programmiersprachen sollten Sie nun Ihre wertvolle Zeit und Mühe investieren? Klären Sie zunächst: Wollen Sie Apps für Smartphones und Tablets entwickeln? Oder lieber Webseiten bauen? Oder Embedded Chips programmieren – also Mikrocontroller, die sich in Ihrem Fernseher oder Auto befinden?
Wir stellen Ihnen einige Programmiersprachen vor, mit denen Sie den Einstieg in die Welt des Codens wagen können.
Programmieren in Blöcken
Eine der am häufigsten in (Grund-)Schulen gelehrten Programmiersprachen, ist Scratch – entwickelt von der Lifelong Kindergarten Group am MIT Media Lab. Im Gegensatz zu anderen Sprachen entstehen Scratch-Programme durch das Zusammenfügen von Blöcken auf dem Bildschirm. Dadurch lernen Schüler nicht nur die Struktur von Anwendungen kennen, sondern auch das Konzept von Algorithmen, ohne dabei die Syntax erlernen zu müssen – das heißt ohne einen Text in der jeweiligen Sprache schreiben zu müssen. Die Blöcke repräsentieren Puzzleteile. Wie bei einem echten Puzzle ist es demnach unmöglich, zwei Teile zusammenzufügen, die nicht zusammenpassen – das heißt, wenn das Ergebnis der Zusammenführung keinen Sinn machen würde.
Trotz der unkonventionellen Herangehensweise ist Scratch tatsächlich eine prozedurale Programmiersprache, wie viele andere, beliebte Computer-Sprachen. Mit anderen Worten: Sie erlaubt es dem Programmierer, eine Sequenz von Operationen festzulegen, die der Computer am Ende ausführt. Scratch wird oft an Grundschule verwendet, doch es wäre wenig weise zu sagen, die Sprache wäre nur für Kinder geeignet. Wer noch nie in seinem Leben eine Zeile Code geschrieben hat, ist mit Scratch für den Anfang vielleicht sogar sehr gut bedient.
Scratch gibt es kostenlos – Sie können entweder eine Version herunterladen, um diese dann offline zu benutzen, oder Programme direkt auf der Webseite programmieren.
Die BASIC-Alternative
Auch BASIC zählt zu den Programmiersprachen, die besonders gern im Informatik-Unterricht an der Schule gelehrt werden – mit zwiespältigen Meinungen. Die einen sagen, dass BASIC eine so veraltete Sprache ist, dass der Lernende Mühe haben wird, sich später in eine neuere, modernere Sprache einzuarbeiten. Andere hingegen meinen, weil BASIC so unkompliziert sei, bietet sie beste Einsichten in die Arbeit eines Prozessors und erleichtert dank dieser Einsichten die spätere Arbeit mit anderen und auch das Verständnis anderer Programmiersprachen.
In den nunmehr 50 Jahren, die BASIC bereits existiert, haben sich zahlreiche „Dialekte“ gebildet. Neuere Versionen von BASIC beinhalten sogar Konzepte wie Blockstruktur und Objekt-Orientierung. Für den Anfang lässt sich mit einer Version namens SmallBASIC , mit entsprechenden Erweiterungen für Grafikprogrammierung, gut arbeiten. Sie können diese Sprache kostenlos herunterladen.
Beachten Sie, dass sich Microsofts Visual Basic trotz des ähnlichen Namens im Grunde stark vom ursprünglichen BASIC unterscheidet. Die aktuelle Version von Visual Basic ist objektorientiert (mehr dazu im nächsten Abschnitt) – ein weiterer möglicher Kandidat, falls Sie sich in diesem Bereich weiterbilden wollen.
Objektorientierte Programmiersprachen
Platz 2 in der Rangliste der beliebtesten Programmiersprachen im Schulunterricht belegt Python. Im Gegensatz zu BASIC greift Python schon aktuellere Denkstrukturen der Programmierung auf – etwa die Blockstruktur und Objektorientierung. Damit ähnelt es eher bekannten Sprachen wie Java, C++ und C#, die in der Industrie weit verbreitet sind. Dabei gilt Python aber als einfacher erlernbar.
Wir werden an dieser Stelle nicht darauf eingehen, was Objektorientierung eigentlich bedeutet, das werden Sie ohnehin schnell lernen, wenn Sie sich mit Python befassen. Nur so viel sei gesagt: Fundierte Kenntnisse in einer objektorientierten Programmiersprache sind eine sehr nützliche Fähigkeit. Einen Python-Interpreter können Sie sich kostenlos herunterladen.
Wenn Sie Python lernen wollen, gibt es dafür zahlreiche Online-Kurse, etwa das „ Complete Python Bootcamp “ und „ The Complete Python Developer Course “.
Beim derzeitig explosionsartigen Marktwachstum von Android-Smartphones und -Tablets könnten Sie aber auch den Wunsch hegen, Ihre eigenen Apps zu entwickeln. Ein Großteil aller Apps ist in Java geschrieben (das ist nicht das gleiche wie JavaScript, dazu später mehr). Auch in puncto Karrierechancen könnte das Erlernen von Java hilfreich sein, denn Android gewinnt weiterhin an Popularität. Auch Java zählt zu den objektorientierten Sprachen – der Schritt über Python zu Java wäre also logisch. Wenn Sie Java lernen wollen, haben Sie mehrere Möglichkeiten: Das Java Developers Kit (JDK) ist kostenlos erhältlich und läuft auf Ihrem PC.
Alternativ gibt es auch verschiedene Online-Anbieter, bei denen Sie den Code online schreiben und auf einer Webseite ausprobieren können – CompileJava ist einer davon.
Wenn Sie es ganz spezifisch au f Android-App-Entwicklung abgesehen haben, brauchen Sie Android Studio und – zusätzlich zur Java-Sprache – eine gute Einarbeitung in die Entwicklungsumgebung von Android. Überstürzen Sie also nichts und konzentrieren Sie sich vorerst besser nur auf Java.
Heutzutage sind die meisten Programmiersprachen objektorientiert. Zwar variiert die Syntax zwischen den einzelnen Sprachen, trotzdem fällt es Ihnen nach Erlernen einer objektorientierten Sprache leichter, zu einer anderen zu wechseln. Wenn Sie wissen wollen, welche Programmiersprachen in der Industrie am häufigsten benutzt werden, werfen Sie einen Blick in den Ttiobe Index.
Web-Programmierung mit HTML und CSS
Fürs Web zu programmieren ist grundlegend anders als alles, was wir bisher angesprochen haben. Trotzdem lohnt sich der Aufwand, die Webprogrammierung zu lernen. Für das Erstellen eher einfacher Webseiten benutzt man in aller Regel HTML „HyperText Markup Language“ ,am besten in der aktuellsten Version HTML5 . Als eine „Markup Language“ stellt HTML keine Liste an Anleitungen und Befehlen zusammen, die in Sequenz ausgeführt werden, sondern beschreibt, wie Text und Bilder auf dem Bildschirm dargestellt werden sollen. Der Großteil eines HTML-Dokuments besteht daher auch oft aus dem Text, den Sie auf der Webseite sehen – allerdings durchsetzt von sogenannten Tags. Steht vor einem Text also zum Beispiel der Tag
Validierungs-Tools für HTML, CSS und Javascript
Um HTML zu erstellen reicht die Software aus, die sich in aller Regel schon auf Ihrem PC befindet. Ein HTML-Dokument lässt sich beispielsweise in einem normalen Texteditor wie Notepad schreiben – solange der Dateiname auf .htm oder .html endet. Denn dann öffnet sich das Dokument als eine Webseite in Ihrem Standard-Browser. Die meisten Browser zeigen Ihnen mittlerweile außerdem den HTML-Code einer Webseite an, die Sie gerade aufgerufen haben. Professionellere Tools – etwa der CoffeeCup Free HTML Editor – bieten erweiterte Funktionen, wie das Einfärben von Tags im Dokument zur besseren Übersicht.
HTML bildet das Grundgerüst einer Webseite, doch ein ansprechendes Layout bekommen Sie erst mit CSS (Cascaded Style Sheets). Ein Beispiel dafür, wie CSS arbeitet: Mit HTML lässt sich ein normaler Text in eine Überschrift verwandeln. Im besten Fall benutzt der Browser, mit dem die Seite aufgerufen wird, dann seine Standard Schriftart, -größe und –farbe für jede Ebene der Überschrift. Mit HTML lassen sich diese Eigenschaften zwar manuell einzeln anpassen – CSS macht es aber noch einfacher. Denn ein separates CSS-Dokument kann exakt festlegen, wie jede Ebene der Überschrift aussehen soll. Und wenn einmal eine Änderung nötig ist, tauscht man einfach nur das CSS-Dokument aus, statt den gesamten HTML-Code zu überarbeiten. Mit einem CSS-Dokument kann beispielsweise auch jeder Unterseite einer Firmenseite der gleiche Firmenlook verpasst werden, ohne jedes Mal die Formatierungsoptionen neu eingeben zu müssen.
Webmaster-Tools für HTML, CSS, Javascript und Web-Apps
Eine auf HTML und CSS basierende Webseite ist statisch – erst eine zusätzliche Programmiersprache lässt Sie auch dynamische Inhalte einbauen. Sie müssen also Code einzufügen, der auf die Aktionen des Benutzers reagiert. Eine solche Art von Code wird beispielsweise ausgeführt, wenn Sie sich auf einer Seite einloggen. Typischerweise wird JavaScript für Code zur Ausführung im Browser beziehungsweise auf dem Client-Rechner und PHP zur Ausführung auf dem Server verwendet.
Online-HTML-Kurse gibt es Hunderte, darunter Build Responsive Real World Websites with HTML5 and CSS3 , Learn to Build Beautiful HTML5 and CSS3 Websites in One Month und Learn Web Designing & HTML5/CSS3 Essentials in Four Hours .
Weitere Lehrquellen
Natürlich müssen Sie sich der Herausforderung, eine neue Programmiersprache zu lernen, nicht allein stellen. Hilfe von außen gibt es quasi überall – auch und vor allem für diejenigen, die nicht in Vollzeit lernen wollen. Empfehlenswert ist beispielsweise Codecademy . Sehr hilfreich, und definitiv einen Blick wert sind auch die Programmier-Kurse von Udemy .
Vor allem für Code-Anfänger und Kinder ab 9 Jahren (mit guten Englischkenntnissen) geeignet sind die Online-Kurse (genannt Projekte) des Code Club . Wer lieber live mit anderen unter Anleitung lernen und programmieren möchte, findet im CoderDojo immer ein Dojo in seiner Nähe. Die App „ Apps for Good “ hilft jungen Leuten bei der Programmierung eigener Apps.