try-catch: Was ist eigentlich Code?

Das Wort „Code“ klingt für viele ein wenig mysteriös. Liebespaare haben Codes für ihre Geheimnisse, in das Versteck der Mafia kommt man nur, wenn man den vereinbarten Code kennt und mit dem richtigen Code öffnet man den Safe, in welchem die Millionen schlummern. Wir wollen in diesem Artikel das Geheimnis des Codes ein für alle mal lüften! 

Code ersetzt immer etwas

Schauen wir uns zunächst an, was das Wort „Code“ überhaupt bedeutet. Ganz allgemein gesprochen, ist ein Code immer ein Ersatz-Ausdruck für etwas anderes. Das oben genannte Liebespaar könnte vereinbaren, dass das einfache Zwinkern mit dem rechten Auge „Ich liebe dich!“ heißt. Schon hat man einen Code. Indem man die Vereinbarung nur mit denen Teilt, die den Code wieder decodieren können sollen, sorgt man für „geheimen“ Code. Dabei kann Code beliebig kompliziert sein. Einmal Zwinkern, das kann man sich leicht merken, aber wenn man viel mehr Ausdrucksmöglichkeiten haben möchte, dann muss man schon mit dem rechten und linken Auge Buchstaben morsen. Mit dem Morse-Alphabet kann man jeden Satz so codieren, dass er korrekt decodiert und somit verstanden werden kann. Merken Sie etwas? Wir sind schon mitten im Thema Informationsverarbeitung! 🙂

Welche Gründe gibt es für Codierung?

Es gibt viele Gründe, warum man Daten bzw. Informationen codieren sollte. Aus obigem Beispiel kennen wir schon die Geheimhaltung. Das Ceasar-Verschlüsselungsverfahren ist ein weiteres Beispiel. Hier wird ein Buchstabe mit einem – sagen wir – im Alphabet drei Plätze hinteren ersetzt. Aus „Adam“ wird „Dgdp“. Das ist bereits ganz simple Kryptographie.
Manchmal möchte man aber einfach nur Informationen in eine andere Form umwandeln. Indem man beispielsweise einen Text digitalisiert, kann man ihn ganz leicht auf einem USB-Stick speichern, per E-Mail verschicken und zur Datensicherung vervielfältigen. Aus „Adam“ wird dann „1000001 0010011 1000011 1011011“ (man merkt, wenn man weniger Zeichen zur Codierung hat, wird der entstehende Code länger).
Vielleicht möchte ich aber auch meine Dateien verkleinern, sprich komprimieren. Ich lege einfach mal fest, dass a=1, d=00 und m=01 sind. Wenn ich diese Regel in meinem Komprimierungs- und Dekomprimierungsprogramm hinterlege, wird aus „1000001 0010011 1000011 1011011“ nun „100101“ – viel kürzer! Natürlich kann mein Textprogramm „100101“ nicht lesen, weshalb ich den Text vor dem Öffnen wieder zurück codieren muss. Man sieht: Kein Vorteil ohne Nachteil.
Ein weiterer Grund für Codierung ist Vereinheitlichung. Ein Jurist würde den Fall des Nachbarschaftsstreits derart durch Rechtssprache ersetzen, dass niemand – außer Anwälte und Richter – mehr versteht, worum es überhaupt geht. Wo manche nur Schikane vermuten, geht es eigentlich darum, das man die sehr ungenaue und missverständliche Alltagssprache so umformuliert, dass jeder Fach-Experte sofort ganz genau versteht, was Sache ist. Und jeder Experte versteht im juristischen Text auch haar genau das gleiche, ohne dass man viel erklären muss. Man kann sich also kurz fassen und es gibt keine Missverständnisse.

Was haben nun Codierung und Programmierung miteinander zu tun?

Das Blöde ist jetzt, dass Programm-Code oft als „Geheimhaltung“ empfunden wird. Vielleicht mag der ein oder andere sogar denken, dass sich Informatiker einfach nur unersetzlich machen möchten und es deshalb so kompliziert machen. Dabei kann eigentlich jeder ohne Probleme jede Programmiersprache kostenlos im Internet lernen.
Der eigentliche Grund für Programm-Codierung ist aber, dass man die Programm-Beschreibung einheitlich aufschreibt, damit der Computer ganz genau, aber auch wirklich exakt auf den Punkt, weiß, was er machen soll. Die Maschine ist in dem, was sie versteht, sehr eingeschränkt. Da gibt es Null Toleranz. Deshalb muss man sich an feste Regeln halten, die die Programmiersprache ausmachen. Man versucht zwar immer mehr, es dem Menschen einfacher zu machen, aber letztlich wird man sich der kalten, sachlichen Ausdrucksweise nicht entledigen können.

Irgendwann wird aber jeder aus seinen Gedanken eine Software machen können, oder?

Ein Computer braucht zum Erstellen eines Programms eine Beschreibung. Egal wie diese Beschreibung aussieht, der Codierer ist stets die Person, die dem Computer diese Beschreibung formuliert und mitteilt. Darum wird es wohl für immer Programmierer geben. Dieser Mensch ist in der Lage, solche Beschreibungen vollständig und strukturiert zu gestalten. Er erkennt mögliche Probleme und Definitionslücken. Außerdem kann er die Beschreibung so optimieren, dass der Computer damit besser zurecht kommt (z.B. dass er schneller ist), dass man Teile der Beschreibung leicht wiederverwenden kann und dass andere Menschen gut mit der Beschreibung klar kommen.
Wie Sie sehen sind diese Aufgaben komplett unabhängig davon, wie die Beschreibung letztlich aussieht. Sie könnte also auch in alltags-verständlicher deutscher Sprache verfasst sein. Trotzdem braucht es einen geschulten Coder, um zwischen Mensch und Maschine zu vermitteln. 

Wie soll ich als Nicht-Programmierer mit Code umgehen?

Sie könnten damit anfangen, Programmiersprachen zu lernen. Kleiner Witz 🙂 Niemand zwingt Sie dazu, die Arbeit des Codierers zu machen, wenn sie eigentlich gar keiner sind. Auf der anderen Seite sollten Sie besser Abstand von der Programmierung halten, wenn Sie kein Programmierer sind. Die Lehre des Codierens besitzt einige sehr komplexe Konzepte, die Sie womöglich noch nicht kennen und die selbst erfahrene Programmierer nicht immer auf Anhieb verstehen. Schlimmer als jemand, der sich nicht auskennt, ist jemand, der sich nicht auskennt, aber denkt, er könne schon alles. Es braucht nämlich Übung, Übung, Übung, um ein guter Programmierer zu werden und selbst dann ist das Lernen niemals zu Ende!
Als Außenstehender brauchen Sie über Code eigentlich nicht mehr zu wissen, als dass er sehr unflexibel und strikt arbeitet. Sie können hier helfen, indem sie dem Programmierer eine möglichst vollständige Beschreibung des Software-Verhaltens liefern. Dazu gehört die Abdeckung jedes erdenklichen Falles und auch, was das Programm nicht machen soll.
Sich ständig ändernde Vorgaben und Unwissen darüber, was man eigentlich möchte, sind genau das, was der Programmierer nicht braucht, ihm die Arbeit schwer macht und letztlich zu einen schlechten Produkt führt (hinter diesen Satz kann man eigentlich nicht genug Ausrufezeichen machen)
Wenn Sie das alles jedoch beachten, dann werden Sie und der Codierer sich vielleicht auch eines Tages fröhlich zuzwinkern 😉

Schreibe einen Kommentar

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