For the artificial intelligence, there is an important concept of the software capable of rewriting (or amending) its own source code. As a modification of this basic idea, an intelligent program might be able to write other (possibly intelligent) programs. It is important to mention that at the moment it is not important for the program to exhibit intelligent behaviour in order to be able to write programs, as there is such a thing as formal semantics of programming languages,which allows to easily implement algorithms capable of writing semantically and syntactically correct programs. Then, it is only a matter of a quality of the algorithm (and time and human resources) to develop software capable of on-demand development of other software, following this list of principles:
Surprisingly, such an algorithm would be quite straightforward to implement, as it does not even have any kind of reasoning embedded. Programming, after all, is not an intelligent process :) The concept described here may prove revolutionary, in terms of the quantities of programmers released from routine programming tasks and thus freed for creative and challenging software development tasks, like that of writing an algorithmic strong AI. Comments on any known efforts in the field of "software writing programs" are highly welcome, as well as criticism on the concept described.
|
|||