Название | Keine Panik, ist nur Technik |
---|---|
Автор произведения | Kenza Ait Si Abbou |
Жанр | Программы |
Серия | |
Издательство | Программы |
Год выпуска | 0 |
isbn | 9783833876349 |
Maria setzt nicht nur bei der Partnersuche auf neueste Technik, auch bei ihr zu Hause ist alles digital. Sie liebt ihren Sprachassistenten, eine kleine Box, die sie »Horst« nennt. Sehr zum Bedauern unseres Sohnes wird Horst nie bei uns einziehen, denn ich bin der Meinung, ich gebe bereits so schon viele Informationen über mich preis, da brauche ich nicht auch noch ein Gerät, das unsere Gespräche am Küchentisch mithört. Aber mal sehen, wie lange wir das aushalten, denn irgendwann wird der Nachwuchs es vielleicht verlangen, und dann müssen wir uns damit beschäftigen, welcher Sprachassistent das kleinere Übel ist.
Maria hat dazu, wie gesagt, eine andere Meinung, sie hat ja nichts zu verbergen. Horst ist bei ihr immer auf Empfang, so kann er die Lampen an- und ausschalten, Maria das Wetter für den nächsten Tag voraussagen (und ob sie eine Regenjacke braucht), und auch die Wahrscheinlichkeit einer nächtlichen Werwolfattacke kann sie bei ihm abfragen. Letzteres macht Maria natürlich nur aus Spaß und erheitert unseren Sohn damit sehr. Auch wenn ich dem Gerät durchaus einen gewissen Unterhaltungswert zugestehen muss, bitte ich Maria, Horst auszuschalten, wenn wir bei ihr sind, und sie entspricht meinem Wunsch auch immer. Denn wir sind nicht nur sehr gute Freunde, wir haben sogar einen rechtlichen Anspruch darauf, nicht aufgezeichnet zu werden. Geregelt wird das über die bereits erwähnte Datenschutz-Grundverordnung. Das weiß Maria sehr gut, denn sie ist Anwältin – nur von Technik und Männern hat sie nicht so viel Ahnung …
Nach einer weiteren lustigen Tinder-Geschichte landet unser Gespräch beim Thema Cookies. Maria fragt, ob es Zufall sein kann, dass ihr etwas, das sie per WhatsApp geschrieben hat, ein paar Tage später zum Kauf angeboten wird. Maria war letzte Woche in Brüssel, und in einem Chat mit ihrer Mutter schrieben die beiden über belgische Schokolade. Kurz darauf bekam Maria Werbung für belgische Schokolade in ihr E-Mail-Postfach. Sie hatte nicht online danach gesucht und fragt uns nun, wie es dazu kommen konnte. Das ist natürlich keine einfache Frage. WhatsApp sagt, dass die Nachrichten von Ende-zu-Ende verschlüsselt sind, was bedeutet, dass in diesem Fall nur Maria und ihre Mutter den Inhalt der Nachrichten lesen können, und nicht etwa der Nachrichtendienstanbieter (also WhatsApp selbst beziehungsweise Facebook, zu dem WhatsApp gehört) oder gar dritte Personen. Wie kommt es also dazu, dass die belgische Schokolade ihren Weg in Marias Postfach gefunden hat?
Tja, dazu gibt es keine klare Antwort. Theoretisch ist das nicht möglich, solange die Nachrichten verschlüsselt sind. Praktisch sieht die Realität offenbar anders aus.
Maria ist verwirrt, das kann ich gut verstehen. Um hier etwas mehr Licht ins Dunkel zu bringen, steigen wir an dieser Stelle etwas tiefer ins Thema ein und schauen uns mal an, wie Maschinen überhaupt lernen und wie wir mit ihnen kommunizieren.
DENK DOCH MAL NACH, MASCHINE!
Wie Codes und Algorithmen den Computern auf die Sprünge helfen
Unsere digitale Welt wird von Maschinen betrieben, manchmal sitzen wir selbst am Steuer, aber meistens genießen wir einfach nur den Service, den uns diese Maschinen anbieten. Unsere Bequemlichkeit bezahlen wir mit unseren Daten. In der Technikwelt gilt der Satz: Wenn man nicht für ein Produkt zahlt, dann ist man selbst das Produkt! Das bedeutet: Wir bezahlen mit unseren Daten, und manchmal nicht zu knapp. Wir zahlen also jedes Mal, wenn wir unsere Mobiltelefone nutzen, unsere Smartwatches, unsere Sportarmbänder oder einen der zahllosen Online-Dienste wie Suchmaschinen oder Vergleichsportale. Man könnte sagen, dass uns diese Bequemlichkeit sehr teuer zu stehen kommt, denn wir füttern die Maschinen mit intimsten Geheimnissen, die wir nicht einmal unseren engsten Freunden ungefiltert mitteilen würden. Den Maschinen ist das natürlich egal, sie sammeln ganz einfach Daten, um unsere Bedürfnisse, Wünsche und Gewohnheiten zu ermitteln und uns weitere Angebote für noch mehr Bequemlichkeit zu liefern, damit wir noch mehr konsumieren und noch mehr Daten zur Verfügung stellen. Daten feuern die Motoren der digitalen Maschinen an, sie sind der Treibstoff der KI.
Wie die KI die Daten verarbeitet, was ein Algorithmus ist, wie er programmiert wird und wie die Mathematik eine Maschine in die Lage versetzt, so zu lernen, wie wir es nur von unseren Kindern kennen, das alles schauen wir uns in diesem Kapitel an.
Coden lernen ist wie eine neue Sprache lernen
Mit Coden beziehungsweise Programmieren kam ich zum ersten Mal an der Uni in Berührung. An meiner Schule war das nie ein Thema gewesen, weshalb ich zu Beginn einen Riesennachteil im Vergleich zu einigen meiner Kommilitonen hatte. Denn ein Ingenieursstudium ohne Programmieren ist gar nicht mehr vorstellbar. Schon im ersten Semester stand bei mir die Programmiersprache C auf dem Lehrplan. Am Anfang klang für mich alles wie Chinesisch, aber bald hatte ich die Logik dahinter durchblickt, und dann ging vieles leichter.
Für mich war es der entscheidende Moment, als ich endlich verstand, dass es sich dabei um eine Aneinanderreihung von Befehlen handelt, die die Maschine nach und nach abarbeitet. Je nach Programmiersprache ist der Satzbau ein anderer, aber die Logik bleibt: Befehl und Ausführung. Unter dem Satzbau, also der Syntax einer Programmiersprache, versteht man ein System von Textelementen, mit denen wohlgeformte Programmtexte aus einem grundlegenden Zeichenvorrat gebildet werden müssen. Man muss sich das vorstellen wie eine Fremdsprache, die viele mehr oder weniger feste Redewendungen beinhaltet. Programmiersprache hat immer auch ein System von Regeln, also eine Grammatik, an die sie sich halten muss, während der Zeichenvorrat das Vokabular darstellt. Daraus werden Programmtexte gebildet, um bestimmte Sachverhalte möglichst kurz und knapp zu beschreiben.
Wenn ich in der Sprache C zum Beispiel »int a = 2« schreibe, sage ich der Maschine: »Setze Variable a auf den Wert 2.« In der Regel tue ich das, weil ich später mit der Variable a weiterarbeiten möchte, vielleicht mit einer anderen Variablen addieren möchte, zum Beispiel weil ich die Zutaten aus einem Rezept für zwei Personen nun für fünf Personen berechnen lassen möchte oder Ähnliches. Der Befehl »int a = 2« scheint zwar kurz zu sein, aber dahinter verbirgt sich einiges an Informationen für die Maschine,. Sollte diese Syntax für euch komisch aussehen, keine Sorge – jetzt könnt ihr euch zumindest schon einmal vorstellen, wie ich mich zu Beginn gefühlt habe.
Beim Coden geht es also darum, eine neue Sprache zu lernen, die nicht nur wir Menschen verstehen, sondern auch die Maschinen. Als Programmiererin wird man zu einer Art Übersetzerin. Übersetzen war etwas, das ich gemacht habe, um neben dem Studium etwas Geld zu verdienen. Darin war ich geübt, aber natürlich nur mit menschlichen Sprachen. Jetzt lag die Herausforderung darin, Maschinensprachen zu lernen. Davon gibt es viele, aber sie lassen sich in zwei Kategorien unterteilen: einfache und hohe Programmiersprachen. Die einfachen Sprachen sind in einer Syntax geschrieben, die die Maschinen schnell verstehen können. Dafür sind sie für die Menschen eher schwierig. Die hohen Sprachen sind genau umgekehrt: Sie sind in einer Syntax geschrieben, die für uns einfacher zu verstehen ist, aber für Maschinen so nicht umsetzbar sind. Für die Übersetzung sorgen sogenannte Compiler. Wir werden gleich sehen, was das alles bedeutet. Aber bevor wir über die Unterschiede sprechen, schauen wir uns die Gemeinsamkeiten an.
Abbildung 3: Vom Code zur Ausgabe
Beide Spracharten verbindet dieselbe Logik des Programmierens. In beiden Fällen schreibe ich ein Programm, das am jeweiligen Betriebssystem ausgerichtet ist. Das Betriebssystem bildet die Schnittstelle zwischen mir beziehungsweise meinem Anwendungsprogramm und den Hardware-Ressourcen meines Computers, also zum Beispiel meinem Monitor, meinem Drucker, meiner Kamera oder sonstigen Geräten. Es prüft, ob mein Code/Programm und die darin enthaltenen Befehle richtig geschrieben sind, und wenn ja, dann führt es das Programm durch. Dieses Ausführen bedeutet, dass mein Betriebssystem auf die Hardware zugreift und das tut (anzeigt, druckt, aufnimmt etc.), was ich im Programm befohlen habe.
Jeder von uns wendet solche Befehle zum Beispiel