In addition to a previous blogpost [1] the problem with 5th generation programming languages from the past should be explained in detail.
The initial situation in the mid 1980s was the existence of powerful 4th programming languages like C, Pascal and C++ which have simplified source code development. In contrast to former assembly language these languages offered powerful libraries and were able to compile on different computer hardware. Its pretty easy to write videogames like Pong and jump'n'run games in C and C++.
Unfortunately, these languages were not able to master robot control and AI problems. Some attempts were made to program game AI in the C language but in most cases the source code is hard to read because its a finite state machine, or the algorithm needs a high amount of CPU cycles because its a breadth first search algorithm in computer chess.
The consequence was to rediscover dedicated AI programming languages like Lisp and develop new 5th generation languages like Prolog and KL-one, which allows agent oriented programming. the promise was, that the programmer defines only facts and the reasoner module is able to plan by itself the robot's action.
It should be mentioned that AI related programming languages were a failure from day 1. The problem is, that its hard to utilize Prolog for a concrete example, e.g. to control a robot.
The main problem with so called 5th generation languages is, that they were designed with a classical programming language paradigm in mind. There is an interpreter which executes the code on a computer and the user is asked to formulate the problem in the syntax of the programming language. This constraints makes sense from a computer science perspective, because every programming language is organized with this principle. Without an interpreter or a compiler the computer can't execute the code. But from a domain specific perspective, its not possible to specify a problem this way.
The working thesis is, that existing 4th programming languages like C/C++ are more than powerful and doesn't need improvement but can be utilized for AI related programming task. What is needed to bridge the gap towards the reality is a user interface, formulated in C/C++.
A GUI interface manages the communication between a computer and the human user. It contains of buttons, text fields and command lines. Such a user interface is the key element to design advanced AI software. In the optimal case, the user interface looks like a head up display for a robot. There is a video camera picture shown on the screen and on top there are multiple text boxes as overlay with additional information formulated in grounded languages. Such kind of futuristic GUI can be programmed in a classical programming language like C.
[1] https://ai-and-robotics.blogspot.com/2026/04/the-failure-of-ai-related-programming.html
No comments:
Post a Comment