Bewegen Sie sich über den Patch Tuesday – es ist Ada Lovelace Day! PlatoBlockchain-Datenintelligenz. Vertikale Suche. Ai.

Bewegen Sie sich über den Patch Tuesday – es ist Ada Lovelace Day!

Der zweite Dienstag im Monat ist Microsofts regulärer Tag für Sicherheitsupdates, den fast jeder noch unter seinem inoffiziellen Spitznamen „Patch Tuesday“ kennt.

Aber der zweite Dienstag im Oktober ist auch Ada Lovelace-Tag, feiern Ada, Gräfin von Lovelace.

Ada war eine echte Pionierin nicht nur der Informatik, sondern auch der Informatik und gab der Programmiersprache Ada ihren Namen.

Die Ada-Sprache ist interessanterweise aus einem Projekt des US-Verteidigungsministeriums hervorgegangen, das darauf abzielte, die Welt der Regierungscodierung zu „entbabeln“, bei der jede Abteilung eine andere Sprache oder einen anderen Sprachdialekt zu bevorzugen schien, was es schwieriger, teurer und teurer machte weniger zuverlässig, um sie zur Zusammenarbeit zu bewegen.

Ada hatte zahlreiche syntaktische Funktionen, die darauf abzielten, die Lesbarkeit zu verbessern und häufige Fehler zu vermeiden. Im Gegensatz zu Kommentaren in C, die mit beginnen /* und bis zum nächsten laufen */, vielleicht viele Zeilen später, ignoriert Ada einfach alles danach -- in einer Zeile, sodass Kommentare nicht versehentlich weiter laufen können, als Sie beabsichtigt haben. Anstatt alle mehrzeiligen Codeblöcke in verschnörkelte Klammern einzuschließen ({...}, auch bekannt als Hosenträger), Ada hat einen eindeutigen Terminator für jede Art von mehrzeiligen Blöcken, z end record, end loop und end if. Wir vermuten, dass Ada Lovelace die Klarheit ihrer gleichnamigen Sprache begrüßt hätte, aber Ada-die-Sprache hat sich nie wirklich durchgesetzt, und die Syntax der verschnörkelten Klammern von C hat sich weitgehend durchgesetzt, wobei Python vielleicht die einzige Sprache ohne verschnörkelte Klammern ist weit verbreitete Nutzung. Verschnörkelte Klammern sind ein wesentlicher Aspekt von C, C++, C#, Go, Java, JavaScript, Perl, Rust und vielen anderen gängigen Sprachen.

Ada Lovelaces Ära

Sie werden vielleicht überrascht sein, wenn man bedenkt, wie stark Adas Name mit den Anfängen der Informatik verbunden ist, dass sie in der ersten Hälfte des XNUMX. Jahrhunderts lebte, lange bevor es irgendetwas gab, was wir heute als Computer oder gar Taschenrechner kennen .

(Ada starb 1852 im Alter von nur 36 Jahren an Gebärmutterkrebs.)

Aber obwohl Computer im modernen Sinne im 1800. Jahrhundert noch nicht existierten, waren sie fast tat.

So wäre es beinahe passiert.

Charles Babbage entwickelte in den frühen 1800er Jahren ein berühmtes mechanisches Rechengerät namens The Difference Engine das könnte zumindest theoretisch Polynomgleichungen sechsten Grades automatisch lösen, zB indem man Werte für X findet, die erfüllen würden:

aX6 + bX5 +cX4 +dX3 +ex2 + fX + g = 0

Die britische Regierung war interessiert, weil man mit einem solchen Gerät genaue mathematische Tabellen wie Quadratwurzeln, Logarithmen und trigonometrische Verhältnisse erstellen konnte.

Und jede Maschine, die gut in trigonometrischen Berechnungen ist, wäre auch praktisch, um Dinge wie Artillerietabellen zu berechnen, die die Genauigkeit der Artillerie zu Land und zu Wasser revolutionieren könnten.

Aber Babbage hatte zwei Probleme.

Erstens konnte er nie ganz die technische Präzision erreichen, die erforderlich ist, um die Differenzmaschine zum ordnungsgemäßen Funktionieren zu bringen, da sie ausreichend viele ineinandergreifende Zahnräder umfasste, die ein Spiel (winzige, aber kumulative Ungenauigkeiten, die zu „Schlampereien“ im Mechanismus führen) blockieren würden.

Zweitens scheint er das Interesse an der Difference Engine verloren zu haben, als er erkannte, dass sie eine Sackgasse war – modern ausgedrückt kann man sie sich als Taschenrechner vorstellen, aber nicht als Tablet-Computer oder Laptop.

Also sprang Babbage mit dem Design eines noch komplexeren Geräts voran, das er das nannte Analytical Engine, die viel allgemeinere wissenschaftliche Probleme lösen könnte als eine Art Polynomgleichung.

Vielleicht nicht überraschend, wenn auch bedauerlicherweise im Nachhinein. die Regierung war nicht sonderlich daran interessiert, Babbages fortgeschritteneres Projekt zu finanzieren.

Angesichts der Tatsache, dass es ihm nicht gelungen war, den Mechanismus zu bauen, der für einen viel einfacheren Gleichungslöser benötigt wurde, welche Chance hatte ein riesiger, dampfbetriebener Allzweckcomputer, jemals nützliche Ergebnisse zu liefern?

Die europäische Konferenzschaltung

In einer merkwürdigen Wendung internationaler, mehrsprachiger Zusammenarbeit reiste Babbage nach Italien, um einen Vortrag zur Förderung seiner Analytical Engine zu halten.

Unter den Zuhörern befand sich ein Militäringenieur namens Captain Luigi Menabrea, der dadurch inspiriert wurde, mit Babbage zusammenzuarbeiten, um 1842 ein Papier zu produzieren, das die Maschine beschrieb.

Obwohl er Italiener war, veröffentlichte Menabrea seine Arbeit auf Französisch…

…und es war Ada Lovelace, die dann Menabreas Artikel übersetzte in Englisch.

Auf Babbages Drängen hin fügte Ada auch eine Reihe von hinzu Anmerkungen des Übersetzers, der sich nicht nur als mehr als doppelt so lang wie Menabreas ursprünglicher Bericht herausstellte, sondern auch einsichtiger, indem er mehrere wichtige Merkmale dessen erklärte, was wir heute als Allzweckcomputer bezeichnen würden.

Walter Isaacson, in seinem hervorragend lesbaren Buch Die Innovatoren, erschienen 2014, beschreibt, wie Ada „erkundete vier Konzepte, die ein Jahrhundert später, als der Computer endlich geboren wurde, historische Resonanz finden würden“:

  • Ada erkannte, dass die Analytical Engine im Gegensatz zur Difference Engine wirklich ein Allzweckgerät war, weil es nicht nur für eine Sache programmiert werden konnte, sondern auch und vergleichsweise leicht für eine völlig andere Aufgabe umprogrammiert werden konnte.

In Adas eigenen Worten (das war eine Zeit, in der die wissenschaftliche Literatur noch etwas mehr Kontakt mit der Literatur hatte als vielleicht heute):

Die Difference Engine kann in Wirklichkeit (wie teilweise bereits erklärt wurde) nichts anderes tun als addieren; und alle anderen Prozesse, ausgenommen die einfachen Subtraktionen, Multiplikationen und Divisionen, können nur in dem Maße durchgeführt werden, in dem es möglich ist, sie durch vernünftige mathematische Anordnung und Kunstgriffe auf eine Reihe von Additionen zu reduzieren. Die Methode der Differenzen ist in der Tat eine Additionsmethode; und da es eine größere Zahl von einfach durch Addition erzielbaren Ergebnissen enthält als jedes andere mathematische Prinzip, wurde es sehr passend als Grundlage für die Konstruktion einer Addiermaschine gewählt, um die Fähigkeiten einer solchen Maschine zu nutzen die größtmögliche Bandbreite. Die Analytical Engine hingegen kann mit gleicher Leichtigkeit entweder addieren, subtrahieren, multiplizieren oder dividieren; und führt jede dieser vier Operationen direkt aus, ohne die Hilfe einer der anderen drei. Diese eine Tatsache impliziert alles; und es ist kaum notwendig, darauf hinzuweisen, dass zum Beispiel die Differenzmaschine nur tabellieren kann und nicht entwickeln kann, die analytische Maschine entweder tabellieren oder entwickeln kann.

  • Ada erkannte, dass die Analytical Engine nicht auf das Kodieren und Rechnen mit Zahlen beschränkt war. Obwohl digital und auf der Fähigkeit zur Durchführung numerischer Berechnungen beruhend, könnten diese digitalen Operationen, erklärte sie, theoretisch logische Aussagen darstellen (wie wir sie heute in if ... then ... else ... end if Aussagen), Musiknoten usw.

Wie Ada es ausdrückte:

[Die analytische Maschine] könnte auf andere Dinge außer auf Zahlen wirken, wenn Objekte gefunden würden, deren gegenseitige grundlegende Beziehungen durch die abstrakte Wissenschaft der Operationen ausgedrückt werden könnten, und die auch für Anpassungen an die Wirkung der Betriebsnotation und des Mechanismus von empfänglich sein sollten der Motor. Angenommen zum Beispiel, dass die fundamentalen Beziehungen von Tonhöhen in der Wissenschaft der Harmonie und der musikalischen Komposition solchen Ausdrucks und Anpassungen zugänglich wären, könnte die Engine kunstvolle und wissenschaftliche Musikstücke von jedem Grad an Komplexität und Umfang komponieren. Die Analytical Engine ist eine Verkörperung der Wissenschaft der Operationen, die mit besonderem Bezug auf die abstrakte Zahl als Gegenstand dieser Operationen konstruiert wurde.

  • Ada entwickelte das Konzept, Teile dessen, was wir heute Programme nennen, wiederzuverwenden. In diesem Sinne kann man sagen, dass sie das Konzept der Unterroutine erfunden hat, einschließlich rekursiver Unterroutinen (Funktionen, die die Lösung vereinfachen, indem sie eine Berechnung in eine Reihe ähnlicher Unterberechnungen aufteilen und sich dann selbst aufrufen).
  • Ada ging zunächst sinnvoll auf die Frage „Können Maschinen denken?“ ein. Dies ist ein Problem, das uns seither Sorgen bereitet.

Die Frankenstein-Verbindung

Adas Vater (obwohl sie ihn nie getroffen hat) war der berüchtigte Dichter Lord Byron, der denkwürdigerweise einen verregneten Urlaub in der Schweiz verbrachte, um mit seinen literarischen Kumpels Percy und Mary Shelley Horrorgeschichten zu schreiben.

Byrons und Percy Shelleys Bemühungen bei diesem freundschaftlichen Schreibwettbewerb sind heute völlig vergessen, aber Mary Shelleys bahnbrechender Roman Frankenstein; oder der moderne Prometheus (veröffentlicht 1818) ist bis heute beliebt und angesehen.

Die Frankenstein-Geschichte erforschte bekanntlich die moralischen Dilemmas rund um das, was wir heute als künstliche Intelligenz bezeichnen könnten. (Frankenstein, vergessen Sie nicht, war der Wissenschaftler, der das Experiment durchgeführt hat, nicht die KI, die aus dem Projekt hervorgegangen ist.)

Ada schien jedoch die dystopischen Bedenken des Freundes ihres Vaters über Analytical Engines oder überhaupt über Computer im Allgemeinen nicht zu teilen.

Sie bot die Meinung im letzten Abschnitt von ihr an Anmerkungen des Übersetzers, Das:

Die Analytical Engine hat keinerlei Anspruch darauf, irgendetwas hervorzubringen. Es kann alles tun, was wir wissen, um es auszuführen. Es kann der Analyse folgen; aber es hat keine Kraft, irgendwelche analytischen Beziehungen oder Wahrheiten vorwegzunehmen. Seine Aufgabe ist es, uns dabei zu helfen, das verfügbar zu machen, was wir bereits kennen. Dies soll er natürlich in erster Linie und hauptsächlich durch seine Exekutivfähigkeiten bewirken; aber es ist wahrscheinlich, dass es auf andere Weise einen indirekten und wechselseitigen Einfluss auf die Wissenschaft selbst ausübt. Denn indem die Wahrheiten und Formeln der Analyse so verteilt und kombiniert werden, dass sie den mechanischen Kombinationen des Motors am leichtesten und schnellsten zugänglich werden, werden die Beziehungen und die Natur vieler Themen in dieser Wissenschaft notwendigerweise in ein neues Licht geworfen. und genauer untersucht. Dies ist eine ausgesprochen indirekte und etwas spekulative Folge einer solchen Erfindung.

Etwas mehr als 100 Jahre später, als Alan Turing das Thema künstliche Intelligenz in seiner eigenen Zeitung bekanntermaßen wieder aufgriff Computermaschinen und Intelligenz, und stellte seine vor mittlerweile berühmten Turing-Test, nannte er das Der Einwand von Lady Lovelace.

Was ist zu tun?

Wenn Sie das nächste Mal Code schreiben, wie z.

   -- Eine verrückte Sache: die Ackermann-Funktion. -- Berechenbar, aber nicht primitiv rekursiv! -- (Sie können es nicht mit einfachen alten for -- Schleifen schreiben, aber Sie können sicher sein, dass es fertig wird, -- selbst wenn es laaaaaang dauert.) local ack = function(m,n) if m == 0 dann gebe n+1 zurück end if n == 0 then return ack(m-1,1) end return ack(m-1,ack(m,n-1)) end

... erinnern Sie sich, dass rekursive Unterroutinen dieser Art alle in der wissenschaftlichen Vorstellungskraft von jemandem begannen, der wusste, wie ein Computer aussehen sollte und wie er wahrscheinlich aussehen würde, aber dennoch 100 Jahre vor einem solchen Gerät lebte (und leider sehr jung starb). existierte, damit sie sich wirklich hacken konnte.

Das Hacken auf echten Computern ist eine Sache, aber das gezielte Hacken auf imaginären Computern ist heutzutage etwas, das wir uns nur vorstellen können.

Alles Gute zum Ada-Lovelace-Tag!


Zeitstempel:

Mehr von Nackte Sicherheit