Was ist automatische Programmierung?
Automatische Programmierung in der Informatik und in der Computertechnik bezieht sich auf die Erzeugung von Computerprogrammcode durch ein System oder eine Software als Reaktion auf abstraktere Benutzereingaben oder Befehle. In gewissem Sinne beschreibt die automatische Programmierung jede Situation, in der ein Computer oder eine Software eine von einem Programmierer eingegebene Anweisung durch einen Codeblock ersetzt, der die in der Anweisung beschriebenen Aktionen konkret ausführen kann. In einem anderen Sinne kann die automatische Programmierung das Ziel beschreiben, eine Programmiersprache oder ein Programmiersystem zu erstellen, mit dem eine fertige Anwendung intuitiv zusammengestellt werden kann. Die automatische Programmierung kann in einigen Computerforschungsbereichen verwendet werden, um sich auf den Prozess des Entwerfens eines künstlichen Intelligenzsystems (KI) zu beziehen, das entweder autonom ein Programm zum Ausführen einer Aufgabe erstellen oder seinen eigenen Code selbst modifizieren kann, um die Funktionalität zu verbessern.
Die Definition der automatischen Programmierung ist etwas vage. Es wurde ursprünglich in den Anfangsjahren der Computerprogrammierung verwendet, um die Übersetzung von abstrakten Anweisungen in Assemblersprache in erweiterten Maschinencode zu beschreiben. Dies wurde als automatische Programmierung bezeichnet, da der Compiler automatisch eine einzelne, von Menschen lesbare Anweisung durch Dutzende oder mehr Maschinencodeanweisungen ersetzt und das Programm im Wesentlichen automatisch in einer primitiven Art und Weise schreibt. Dieselben Aktionen werden in den meisten Fällen immer noch von Sprachcompilern ausgeführt, unabhängig von der verwendeten überlagernden Programmiersprache.
Eine andere Verwendung für den Begriff "automatische Programmierung" ist die Beschreibung der automatisierten Codegenerierung. Dies ist der Fall, wenn eine integrierte Entwicklungsumgebung (IDE) oder ein anderes Tool visuell oder auf sehr einfache Weise verwendet werden kann, um anzugeben, wie ein Endbenutzer ein Programm sehen würde. Sobald das gewünschte Ergebnis erstellt wurde, kann die Software oder IDE automatisch einen funktionalen Quellcode erstellen, um das Ergebnis ohne weitere Eingaben des Programmierers zu erhalten.
In einigen Fällen bezieht sich die automatische Programmierung auch auf das Studium der Implementierung von Sprachen auf einem so hohen Niveau, dass der Quellcode wie eine natürliche Sprache aussieht. Eine solche Programmiersprache würde dann automatisch die Anwendung erstellen, die auf dem breiten Input des Programmierers basiert. Unabhängig davon, wie automatisch eine Sprache wird, sollte beachtet werden, dass der Programmierer irgendwann den Code mithilfe der Programmiersprache selbst manuell für bestimmte Funktionen ändern muss.
Auf dem Gebiet der künstlichen Intelligenz werden Forschungen durchgeführt, um ein System zu entwickeln, das sich automatisch programmieren kann, um Funktionen hinzuzufügen, die ursprünglich nicht zur Verfügung standen. Dies erstreckt sich auch auf AIs, die in der Lage sind, unabhängige Software zu schreiben, die ein bestimmtes Problem lösen kann. Eine Anwendung wäre die Erstellung einer Programmiersprache, die AI zur Erzeugung schneller Programmprototypen verwenden könnte.