Trojaner

Programmiersprachen entmystifiziert

09.04.2024

Moderation & Redaktion: Dimitri Fankhauser, Mathias Niggli 


Pro-gram-mie-ren. Vier Silben, die wir jeden Tag hören und doch fällt es schwer, sich etwas darunter vorzustellen. Was sind Programmiersprachen? Was machen Programmierer? Ist Programmieren schwierig? 

Diesen und vielen weiteren Fragen, gehen wir mit der heutigen Digitaldosis auf die Spur.  

Computer verstehen Null und Eins. Das weiss jedes Kind. Doch heisst das, dass Programmierer den ganzen Tag nur Null und Eins anschauen? Nein. Menschen sind sehr schlecht darin kilometerweise Folgen von Null und Eins zu verstehen. Aus diesem Grund gibt es Programmiersprachen. Programmiersprachen schlagen die Brücke zwischen Menschlicher Sprache und Maschinensprache, vereinfacht gesagt, den Nullen und Einsen, die der Computer versteht. Code liest sich in der Regel wie etwas abstraktes Englisch. Programmieren bedeutet reale Probleme in eine Programmiersprache zu übersetzen. Klingt abstrakt, aber das macht bald mehr Sinn. 

Ein paar bekannte Programmiersprachen sind Python, Java, C und PHP. Viele Programmiersprachen eignen sich für diverse Zwecke und haben ganze Ökosysteme in den unterschiedlichsten Bereichen. Da unterschiedliche Sprachen auf Unterschiedliches Wert legen, gibt es auch starke Nischen. Cobol beispielsweise ist aus dem Bankenwesen nicht wegzudenken, C für Systemprogrammierung oder Python für Automatisierungen und Scripting für die Wissenschaft.  

 

Ein Beispiel 

Ich möchte mir ein Game kaufen und kenne drei Händler, die es verkaufen. Jedoch bin ich nicht dazu bereit, mehr als 20fr. dafür auszugeben. Ein Problem wie dieses lässt sich mit Programmiersprachen wie Python sehr einfach automatisieren.  

 

Woraus bestehen Programmiersprachen? 

Programmiersprachen setzen sich, ebenso wie natürliche Sprachen aus Syntax und Semantik zusammen. Syntax bezeichnet die Stellung der einzelnen Elemente in Beziehung zueinander. Auf deutsch: Wo darf ich ein Komma setzen? Wo muss ein Verb hin? 

Semantik bezeichnet die Bedeutung der einzelnen Wörter. Also: Was passiert, wenn ein Befehl ausgeführt wird? 

Programmiersprachen bestehen aus diversen, logischen Sprachkonstrukten. Das wohl einfachste ist das die Verzweigung, auch bekannt als if-statement. Ein if-statement sagt schlicht und einfach «Wenn diese Bedingung zutrifft, mach das.» Was dann passiert, kann eine Rechnung sein, ein Vergleich, eine Anfrage oder gar etwas viel Komplexeres. Allgemein ist zu sagen, dass hier erst der Spass losgeht. Es gibt selbstverständlich viel mehr Sprachkonstrukte, wodurch die Möglichkeiten (und manchmal auch Unmöglichkeiten) endlos sind.  

In unserem Beispiel wäre eine Folge von Befehlen in etwa:  

  • Geh auf diese Seite 

  • Check den Preis 

  • Schreib mir eine E-Mail, wenn der Preis unter 20fr. ist 

(Bild erstellt von Dimitri Fankhauser) 


Doch was passiert anschliessend mit dem Code? 

Er wird kompiliert. Kompilierung bezeichnet den Prozess, in dem der Programmcode in ein binäres Format, dass das System versteht, umgewandelt wird. Sprachen wie C kompilieren, direkt auf die Plattform, also Windows oder Linux.  Java beispielsweise wird immer in ein spezielles Bytecode Format (sogenannte Class-Files) kompiliert. Um diesen Code auszuführen, braucht es ein spezielles Programm, das Java Virtual Machine (JVM) heisst. Kompilierter Java-Code kann somit im Normalfall einmal kompiliert und anschliessend auf jeder möglichen Plattform ausgeliefert werden.  

 

Ist programmieren denn nun schwierig? Wie kann man das lernen? 

Wie man an unserem Beispiel sieht, ist die Schwierigkeit oft davon abhängig, wie schwierig das Problem, das man lösen möchte, ist und was für Hilfsmittel einem zur Verfügung stehen. Wer programmieren lernen möchte, dem/der lege ich ans Herz einmal auf Youtube zu beginnen und etwas Python oder Java zu lernen. Schon mit sehr wenig, kann man sehr viel erreichen. Und wenn es dich jetzt dann packt, freut sich die HSLU über deine Anmeldung.  

Weitere Episoden

Alle Episoden anzeigen →
Wir verwenden Cookies um die Performance unserer Website zu messen. Möchtest du diese Cookies akzeptieren?