2. Programmiersprache

Programmieren oder programmiert werden


"Der erste Schritt, um in einer programmierten Umgebung seine Autonomie zu bewahren, besteht darin, sich bewusst zu machen, dass eine Programmierung stattfindet. Es ist so einfach, wie zu verstehen, dass Werbung dazu dient, Dinge zu verkaufen. Und dass Fernsehsendungen dazu da sind, um Werbung zu verkaufen, und so weiter.

(Douglas Rushkoff, Wired Interview 2011)


Die Sprache der Digitalisierung mag zunächst aus 0en und 1en bestehen. Aber keine Sorge: Wenn wir Digitalisierung selbst mitgestalten wollen, müssen wir keine Abfolgen aus 0en und 1en in den Computer tippen. So sind vielmehr Programmiersprachen die eigentlichen Sprachen, mit denen Digitalisierung gestaltet wird. 


Aber was ist eine Programmiersprache?

Ein Algorithmus ist die konzeptionelle Lösung für ein Problem. Erst durch eine Programmiersprache wird ein Algorithmus zum Leben erweckt.

Eine Programmiersprache ist eine Sprache, die verwendet wird, um Computerprogramme zu schreiben, die dann in Maschinensprache übersetzt werden. Die Umwandlung eines Algorithmus in eine Programmiersprache wird Implementierung genannt. 


Ein Programm implementiert also einen Algorithmus.

Es gibt verschiedene Programmiersprachen.
  • Blockbasierte, eine Form von visuellen Programmiersprachen, verwenden interaktive grafische Benutzeroberflächen. Die Benutzer können die Programmteile grafisch miteinander verbinden z.B. per Drag & Drop. Beispiele hierfür sind Snap! und Scratch. In den nächsten Kapiteln werden wir Blockly als Beispiel verwenden.
  • Bei textbasierten Programmiersprachen handelt es sich um Programmiersprachen, die keine grafischen Elemente (Blöcke) enthalten; stattdessen sind sie hauptsächlich auf Text ausgerichtet. Die Benutzer müssen sich bestimmte Syntaxen oder Grammatiken merken, die für jede Programmiersprache spezifisch sind, aber ein gut ausgebildeter Programmierer kann in einer textbasierten Programmiersprache vielseitigeren Code schneller schreiben als in einer visuellen Programmiersprache. Beispiele hierfür sind Python, Java, JavaScript, C++ und C. Wir werden Python in den nächsten Kapiteln als Beispiel verwenden.



Übersicht der wichtigsten Begriffe
Ein Algorithmus is eine Menge von eindeutigen Anweisungen, die beschreiben, wie ein Problem gelöst werden kann. 

Ein Programm ist eine Abfolge von Anweisungen, die in einer Programmiersprache geschrieben wurde, sodass ein Computer diese ausführen kann. 

Eine Maschinensprache ist eine Menge von Anweisungen, die direkt von einem bestimmten Typ von Computerhardware ausgeführt werden kann. 

Eine Programmiersprache ist eine Sprache, die genutzt wird, um Computerprogramme zu schreiben, die in Maschinensprache übersetzt werden kann. 


Warum lernen Sie die Grundkonzepte des Programmierens?


In den kommenden Modulen dieses Kurses zeigen wir Ihnen Beispiele dafür, wie Algorithmen aus der Data Science und dem Maschinellen Lernen bei der Lösung verschiedener Probleme helfen können. Die Beispiele werden in Python präsentiert.

Da dies ein Einführungskurs ist, müssen Sie selbst noch nicht programmieren. Ein grundlegendes Verständnis der wichtigsten Programmierkonzepte wird Ihnen aber helfen, die Beispiele besser nachzuvollziehen. Deshalb führen wir Sie zunächst in grundlegende Themen der Programmierung ein – etwa Variablen, Bedingungen, Schleifen, Funktionen und Listen in Python. Diese Kenntnisse sind wichtig: Sie helfen dabei, Daten so aufzubereiten, dass sie verständlich und nutzbar werden – ein zentraler erster Schritt in jedem Projekt im Bereich Datenwissenschaft und Maschinelles Lernen.


Da visuelle Programmiersprachen als besonders hilfreich für Programmieranfänger gelten, werden wir auch Blockly einsetzen, um den Lernprozess zu unterstützen.Dafür nutzen wir gelegentlich eine Umgebung, in der Blockly und Python automatisch ineinander übersetzt werden. So können Sie leichter nachvollziehen, wie Programmierlogik in beiden Sprachen aussieht und besser verstehen, wie Python funktioniert. Unser Ziel ist es, Ihnen den Einstieg in Python zu erleichtern – eine der wichtigsten Programmiersprachen für die Entwicklung von Modellen im Bereich Maschinelles Lernen.



Der Computer macht nie das, was wir ihm sagen? Ab jetzt schon! Wir machen gemeinsam die ersten Schritte in zwei Programmiersprachen – und Sie werden sehen: Programmieren muss weder trocken noch langweilig sein. Sie können das Gelernte jederzeit selbst ausprobieren und kreativ werden. In den nächsten Abschnitten schreiben Sie Ihre ersten eigenen Programme – sowohl in einer visuellen Programmiersprache (Blockly) als auch in einer textbasierten Sprache (Python).