Programmieren mit Pfeil

Programmieren mit Pfeil
Programmieren mit Pfeil

Die zukünftige Programmiersprache Pfeil wird hier vorgestellt, deren Name einerseits auf ihre relationalen Grundlagen und andererseits auf ihre Geschwindigkeit („pfeilschnell“) verweist. Sie setzt modernste Konzepte ein, denn sie ist multilingual (die Codewörter werden einer bspw. englischen Vorgabe gegenübergesetzt), unicodefähig, visuell (Beziehungen werden im mehrdimensionalen Raum dargestellt, die sich nicht unbedingt leicht linearisieren lassen), deklarativ und funktional (es wird KI zur Codeoptimierung eingesetzt).

Die für das jeweilige Programmierprojekt tatsächlich verwendete Umsetzung richtet sich nach der individuellen Problemstellung und braucht nicht (!) eigens festgelegt zu werden. Pfeil ist ferner in der Lage aus der Problemstellung sowohl eine schnelle als auch eine nicht unbedingt identische elegante Umsetzung für Darstellungszwecke zu generieren. Übersetzungen in eine beliebige für das jeweilige Problem umsetzbare Programmiersprache sind automatisiert möglich einschließlich der gewählten Notation.

Pfeil ist in eine Entwicklungsumgebung integriert, die über ins Internet ausschwärmende Bots verfügt, um besonders effiziente Programme zu beschaffen, wenn diese entsprechend freigegeben sind. Diese werden weitestgehend nach den Vorgaben des Programmierers überprüft, wobei dieser eine bestimmte Zertifizierung verlangen oder angeben kann, dass auch kostenpflichtige Programme verwendet werden, weil z. B. bestimmte Qualitätsanforderungen (des Auftraggebers oder der Gesetze) zu erfüllen sind.

Hierzu werden gewisse Standards eingeführt, denen (Pfeil-) Programme genügen müssen, um Schäden zu vermeiden. So ist z. B. zu verlangen, dass die Haftungsfrage eindeutig geklärt ist, da ein Automatismus schwer zur Verantwortung gezogen werden und ab einer gewissen Programmkomplexität die Beweislage schwierig sein kann. Pfeil kann (ggf. durch Hinzufügen einer Zeitachse und KI) sowohl als Auszeichnungssprache (zu Dokumentationszwecken) wie als echte Programmiersprache verwendet werden.

Automatisches Beweisen erleichtert die Umsetzung in andere Programmiersprachen und ermöglicht auch Ergebnisse, die in der Informatik bzw. Mathematik Bestand haben. Die Nachvollziehbarkeit ist durch das Herunterbrechen bis auf einfachste Zusammenhänge gegeben. Der Einsatz von KI ermöglicht das Speichern von optimierten Codestrecken, deren Parameter durch maschinelles Lernen ermittelt sein können. Pfeil erlaubt verteiltes Rechnen, indem Ressourcen individuell erschlossen und genutzt werden.

Das Bindeglied zwischen verschiedenen Entitäten ist der eine Beziehung ausdrückende Pfeil: so lassen sich \(m:n\)-Beziehungen nicht nur leicht und elegant notieren, sondern auch effizient implementieren. Pfeil ist eine Programmiersprache, die tatsächlich Arbeit abnimmt, indem ein Programmierer nicht mit Details belastet wird, die er nicht versteht, aber sich bspw. aus maschinellem Lernen ergeben. Er kann zwar selbst optimieren, aber die für Pfeil eingesetzten Rechner haben ihm zu viel an Effektivität voraus.

Pfeil gibt dem Programmierer nützliche Hinweise wie seine Programmierung aussehen muss, indem vergleichbare Problemstellungen automatisch gesucht und vorgeschlagen werden. Die Beziehungen erlauben eine informatische Darstellung des Anschauungsraums, der ein immer komplexeres maschinelles Verstehen ermöglicht. Konzepte der Quantenprogrammierung können genauso selbstverständlich umgesetzt werden, da Pfeil mit allen nicht zu seltenen Hardwarerealisierungen umgehen kann.

Pfeil kann besonders gut mit mehrläufigen Prozessen umgehen: aus einer einfachen Eingabe werden optimierte Abfolgen errechnet, bei denen sich der Programmierer nicht um die Details kümmern muss, aber aus der von Pfeil erzeugten Ausgabe entnehmen kann, inwieweit sein Programm korrekt ist bzw. wo noch Verbesserungen nötig sind. Diese könnte Pfeil nur wissen, wenn die Intentionen des Programmierers eindeutig wären. Beispiele sind hier Netzwerkflüsse, Optimierungs- und Transportprobleme.

Menschen können parallele Programmierung nicht leicht umsetzen, da hier so viele Bedingungen zu berücksichtigen sind, dass dies meist nur ausgesprochene Spezialisten vermögen. Pfeil hingegen kann auf vorgefertigte Grundgerüste zurückgreifen, die es mithilfe von KI anpasst. Hierbei ist weniger an einfache als an komplexe Modelle gedacht, die ein Mensch kaum durchschauen kann. Auch dabei ist deutlich auf die moralische Integrität der Menschen zu verweisen, weil sich sonst viele Nachteile ergeben können.

Diskussion: Pfeil ist insofern nötig, als die Welt immer komplexer wird und deren Zusammenhänge das menschliche Fassungsvermögen sowie die Vorstellungskraft übersteigen. Ferner werden die Probleme immer größer und sind von Einzelnen nicht mehr zu lösen. Insgesamt wird der Lösungsprozess für die Menschen immer unbefriedigender und macht die Welt immer weniger lebenswert. Optimistisch gesehen bleibt Pfeil damit für die Menschen eine der wenigen Auswege aus dem bisherigen Unheil.

© 2011-2022 by Boris Haase

Seitenbeginn