Ich habe ChatGPT verwendet, um die gleiche Routine in diesen zehn obskuren Programmiersprachen zu schreiben

Bild9.jpg

Vor einigen Wochen habe ich mir angesehen, wie man ChatGPT verwendet, um dieselbe Routine in einem Dutzend der beliebtesten Programmiersprachen zu schreiben. Aber als Programmiersprachengeek frage ich mich, wie weit ChatGPT gehen würde. Würde es in einer Sprache aus den 1950er Jahren programmieren? Würde es in einer Sprache programmieren, die ihr eigenes Zeichensatz verwendet? Könnte es Code in einer der Sprachen schreiben, die ihren Code schrieben?

Außerdem: Die besten KI-Chatbots: ChatGPT und Alternativen zum Ausprobieren

Und so stürzte ich mich hinein. Ich habe viele der Sprachen verwendet, die ich hier hervorhebe, also werde ich ein wenig in Erinnerungen schwelgen und einige Geschichten über meine Erfahrungen mit denen erzählen, die ich benutzt habe.

Obwohl ich den Code selbst nicht ausgeführt habe, habe ich alle generierten Programme durchgelesen. Die meisten sehen richtig aus und zeigen die entsprechenden Anzeichen dafür, dass die präsentierte Sprache die Sprache ist, die ich angefordert habe.

Ich sage dir das, weil die Überschriften auf allen Screenshots falsch sind. Die meisten werden als SQL aufgeführt. Aus irgendeinem Grund wird BAL als VBNet angezeigt und Prolog als Rust aufgelistet. ChatGPT hat diesen Fehler letztes Mal nicht gemacht, aber heute für alle hier gezeigten Sprachen.

Und damit legen wir los.

Fortran

Fortran (oder FORTRAN, wie es damals dargestellt wurde) steht für Formelübersetzung. Es wurde hauptsächlich für wissenschaftliche und technische Berechnungen entwickelt. Obwohl es bis in die 1950er Jahre zurückreicht, wurde es oft als erste Sprache für Ingenieurstudenten in den 1970er und 1980er Jahren unterrichtet.

Außerdem: Diese neue Technologie könnte GPT-4 und alles Ähnliche wegblasen

Für mich war es meine vierte Programmiersprache, nach BASIC, PDP-8 Assemblersprache und PDP-8 Binärcode (ja, ich habe Binärcode geschrieben, damit ich ihn am Frontpanel eines frühen Minicomputers umschalten konnte). Mein Vater fuhr mich großzügigerweise die Stunde nach Newark College of Engineering (jetzt NJIT), damit ich ihren Einführungskurs in Programmierung besuchen konnte, während ich noch in der 10. Klasse war.

Fortran war nie ein Favorit, obwohl es die meisten rechenorientierten Aufgaben erledigt hat. Eine Variation von Fortran wird heute immer noch verwendet, ist jedoch auf spezialisierte wissenschaftliche Arbeiten beschränkt, da viele andere moderne Sprachen Fortran-Level-Analysen durchführen können und das besser tun.

Hier scheint ChatGPT aufgrund der Verwendung des impliziten Schlüsselworts Code zu repräsentieren, der in der Fortran-77-Variante geschrieben wurde.

Bild7.jpg

COBOL

Ich war ein jugendlicher COBOL-Programmierer. Damals kannte ich COBOL nicht, aber irgendwo um 1980 sah ich eine Stellenanzeige für einen COBOL-Programmierer im Northeast Regional Data Center von International Paper in Denville, New Jersey. Es war etwa 40 Minuten von meinem Elternhaus entfernt, und ich brauchte einen Sommerjob. Sobald es mir gelungen war, ein Vorstellungsgespräch zu vereinbaren, rannte ich zum örtlichen Buchladen und verbrachte ein Wochenende damit, alles COBOL-Lesematerial aufzusaugen, das ich finden konnte.

COBOL war für geschäftsorientierte Verarbeitung gedacht. Heutzutage wären die gleiche Art von Kunden SAP- oder Salesforce-Benutzer. Aber COBOL, wie Sie am folgenden COBOL-88-Code sehen können, war funktional, aber sicherlich nicht elegant.

Wie sich herausstellte, wollten sie einen Vollzeitmitarbeiter. Aber da ich ihren Test bravourös bestanden habe (anscheinend habe ich mit meinem Wochenende des Lernens die Ergebnisse der Fachleute, die sich beworben haben, übertroffen), beschlossen sie, mich für den Sommer einzustellen. Zu sagen, dass es eine kulturelle Diskrepanz gab, wäre eine Untertreibung. Es waren die sehr frühen Tage der Mikrocomputer (denken Sie an die Zeit vor dem PC) und ich war von dieser Technik begeistert. In der Zwischenzeit waren diese Leute alle im Anzug und Krawatte und in riesigen Rechenzentren unterwegs. Ich habe beinahe sofort den Spitznamen "Trouble" bekommen. Hey, ich war immer noch ein Kind.

Der prägende Moment für mich kam, als einer der erfahreneren Programmierer im Unternehmen mich zur Seite nahm, um zu erklären, und ich zitiere: "COBOL ist das Leben." Ich nahm diese Botschaft zu Herzen und entschied, dass ich nicht wollte, dass mein Leben sich nur um COBOL dreht. Diesen Sommer war das letzte Mal, dass ich etwas in COBOL programmiert habe.

Bild11.jpg

RPG (Report Program Generator)

Nein, es handelt sich nicht um eine raketengesteuerte Granate oder ein Rollenspiel. RPG war ein Programm zur Erstellung von Berichten. Die Entwicklung in der Sprache (und generell im Denken von Computersprachen) lässt sich anhand der beiden unten gezeigten Versionen erkennen. RPG II stammt aus den späten 1950er Jahren. RPG IV wurde in den 1990er Jahren aktualisiert und ist wesentlich moderner (aber definitiv immer noch veraltet).

Ich habe während meines Studiums ein paar RPG III-Programme für den AS/400 als Nebenjob geschrieben, aber es war nie etwas, dem ich besonders intensiv gefolgt bin.

Bild3.jpg

Lisp

Ich habe eine langjährige Liebesaffäre mit Lisp. Lisp, benannt nach LISt Processor, wurde manchmal als "Lots of Insipid Stupid Parentheses" beschrieben. Aus irgendeinem Grund haben diese Klammern in meinem Gehirn Klick gemacht. Lisp war meine Einstiegsdroge in die KI-Programmierung, und wie wir von ChatGPTs Verarbeitung von Sprache gelernt haben, kann Wissen als Zeichenketten oder Listen dargestellt werden.

In den 1980er Jahren war ich Produktmanager für eine RISC-basierte Common Lisp-Implementierung und habe eine Weile damit programmiert. Basierend auf der defun-Begrüßung und der Syntax von let generiert von ChatGPT, sieht es so aus, als handele es sich bei dem folgenden Code auch um Common Lisp, eine spätere Variation von John McCarthys ursprünglicher Lisp-Implementierung aus den späten 1950er Jahren. McCarthy war einer der Gründungsväter der KI-Forschung, daher ist es nur passend, dass eine KI in seiner Sprache schreibt.

bild4.jpg

Algol

ALGOL (ALGOrythmische Sprache) war seiner Zeit voraus. Es erlaubte das Weitergeben von Funktionen als Parameter und ermöglichte die Verwendung von Rekursion. Dies sind zwei wesentliche Bestandteile moderner Programmierung, die in populären Sprachen wie Fortran und COBOL, die zu ALGOLs Einführung beliebt waren, fehlten.

Wenn Fortran, BASIC und Assembler mir die top-down Programmierung beigebracht haben, hat mich ALGOL gelehrt, wie ich meinen Code strukturieren kann. Es war eine grundlegende Sprache, die die Grundlage für meine Verwendung von C, Pascal, Java, JavaScript und den meisten modernen strukturierten Sprachen legte, die wir heute verwenden.

bild5.jpg

Simula

Simula wurde, wie du dir vielleicht vorstellen kannst, für Simulation und Modellierung entwickelt. Wie ALGOL war Simula auch seiner Zeit voraus und unterstützte den Einsatz von Objekten und Klassen. Die objektorientierte Programmierung ist seitdem grundlegend für viele der effektivsten Programmiersprachen von heute.

Die Verwendung des Schlüsselworts OUTFIX sagt mir, dass ChatGPT wahrscheinlich den folgenden Code in Simula-67 geschrieben hat.

Bild6.jpg

BAL (IBM 360/370 Assembler)

BAL, was für "Basic Assembly Language" steht, war die Assemblersprache für die großen IBM-Geräte in den 1970er und 1980er Jahren. Assemblersprache wird als "niedrigerer" Sprachlevel als "höhere Sprachen" betrachtet, was bedeutet, dass einzelne Anweisungen und Schlüsselwörter einzelnen Prozessoranweisungen entsprechen. In höheren Sprachen (wie den meisten, die wir heute verwenden) ist die Sprache oft weit von der zugrunde liegenden Maschinenarchitektur entfernt und wurde mehr für die Programmierungseffizienz als für die effiziente Nutzung der Hardware entwickelt.

Ich habe ein Semester BAL an der Universität belegt. Es war schwierig. Der Professor stand die meiste Zeit mit dem Rücken zu den Studierenden und murmelte seinen Vortrag monoton vor sich hin, während er unaufhörlich an der Tafel schrieb. Ich saß in der letzten Reihe neben einem Mädchen namens Laura. Eines Tages entschieden Laura und ich uns, durch das Hintenfenster nach draußen zu schleichen, um uns einen Kaffee zu holen. Sobald wir unseren Kaffee hatten, kletterten wir zurück durch das Fenster. Der Professor hat es nie bemerkt.

Es ist ein Wunder, dass wir überhaupt bestanden haben, aber es ist kein Wunder, dass so gut wie keiner von uns BAL-Programmierung als unsere bevorzugte Codierungswaffe gewählt hat.

Bild8.jpg

APL

APL oder A Programming Language ist eine andere Programmiersprache. Eines der auffälligsten Merkmale von APL ist, dass es für einige seiner Operatoren und Codesatz einen nicht-standardmäßigen Zeichensatz verwendet. Dies kann man auf dem untenstehenden Bild sehen. Die kleinen Symbole sind das, was ChatGPT aus der verwendeten Schriftart extrahieren konnte, aber APL ist darauf ausgelegt, die einzigartige APL385 Unicode-Schriftart zu verwenden, die speziell für das Programmieren in APL entwickelt wurde.

Aufgrund seiner prägnanten Syntax und der guten Verwaltung großer Datensätze wird es in einer beträchtlichen Anzahl von wissenschaftlichen, finanziellen und analytischen Projekten verwendet.

Bild10.jpg

Prolog

Prolog (abgeleitet von der Phrase "Programmierung in Logik") ist eine weitere auf KI fokussierte Sprache. Prolog ist eine deklarative Sprache, in der Regeln und Bedingungen aufgelistet werden und dann Abfragen über diese Deklarationen ausgeführt werden. Laut ChatGPT:

Prolog ist eine der Programmiersprachen, die bei der Entwicklung von ChatGPT verwendet werden, speziell für die Generierung von Text. Es wird im Prolog-to-English-Modul eingesetzt, das logische Formen in Prolog in natürliche Sprachsätze übersetzt.

bild1.jpg

Kleine Unterhaltung

Smalltalk ist etwas Besonderes. Es wurde im Xerox PARC entwickelt, demselben Forschungslabor, das die Entwicklung der Maus und fensterbasierten Umgebungen beeinflusst hat. Es hat einige der Innovationen von Simula in der objektorientierten Programmierung übernommen und ist weiter gegangen. Es war auch eine der ersten Sprachen, die aktiven Gebrauch von einer GUI-basierten interaktiven Programmierumgebung gemacht hat. Viele der heutigen Top-Sprachen, einschließlich Java, Python und Ruby, wurden stark von Smalltalk beeinflusst.

Ich habe nur ein wenig mit Smalltalk herumgespielt, hauptsächlich um es kennenzulernen. Damals lebte ich im Silicon Valley und lernte die Entwickler von Smalltalk kennen, die später ParcPlace Systems gründeten, um Smalltalk außerhalb der Unternehmenssteifheit von Xerox komercialisieren zu wollen. Ich habe viele schöne Erinnerungen daran, Programmierungstheorien bei Rippchen und Krautsalat in einem heruntergekommenen Barbecue-Restaurant in Palo Alto zu diskutieren.

Einer der Vizepräsidenten, mit dem ich bei dem Computerunternehmen, bei dem ich angestellt war, zusammengearbeitet habe, versuchte mich zu überreden, mit ihm ein Unternehmen zu gründen, um Smalltalk auf den Unternehmensmarkt anzuwenden. Zu dieser Zeit hatte mich jedoch noch nicht der Unternehmergeist gepackt. Smalltalk hat es als Markt nie wirklich geschafft. Obwohl ich mit dem Verlauf meines Lebens sehr glücklich bin, frage ich mich manchmal, was passiert wäre, wenn ich sein Angebot angenommen hätte.

Bild2.jpg

Ich habe Gedanken

Ich habe diesen Code nicht ausgeführt, und da ich nicht so vertraut mit diesen Sprachen bin wie mit PHP und JavaScript, kann ich nicht sicherstellen, dass meine visuelle Überprüfung garantiert, dass der oben gezeigte Code erfolgreich ausgeführt wird. Wie wir diese Woche bereits bei meiner Erforschung von Bards neuen Programmierfähigkeiten gesehen haben, ist es möglich, Code zu schreiben, der nicht funktioniert.

Außerdem: Ich habe ChatGPT gebeten, ein WordPress-Plugin zu schreiben, das ich brauchte. Es hat es in weniger als 5 Minuten gemacht

Wir wissen, dass in jedem Beispiel mindestens ein Fehler vorhanden ist: Die Überschriften sind falsch. Also, obwohl die Fähigkeit der KI, Code in einer Reihe von relativ obskuren Sprachen zu generieren, unglaublich cool ist, sollte man nicht davon ausgehen, dass sie den gesamten Job richtig erledigt.

Wenn Sie sich dazu entscheiden, ChatGPT-Programmierung in Ihren Workflow zu integrieren, müssen Sie den generierten Code genauso überprüfen, testen und debuggen wie Sie es tun würden, wenn Sie jemanden beauftragt hätten, einfache Routinen für Sie zu schreiben.

Zugehörige Artikel

Mehr anzeigen >>

Nutzen Sie die Kraft der KI mit HIX.AI!