Content deleted Content added
Undoing good faith edit. There is no reason for square brackets here. |
Citation bot (talk | contribs) Add: arxiv, doi. Removed URL that duplicated unique identifier. Removed accessdate with no specified URL. | You can use this bot yourself. Report bugs here. | Activated by Headbomb | via #UCB_webform |
||
Line 5:
While [[fourth-generation programming language]]s are designed to build specific programs, fifth-generation languages are designed to make the computer solve a given problem without the programmer. This way, the user only needs to worry about what problems need to be solved and what conditions need to be met, without worrying about how to implement a routine or algorithm to solve them. Fifth-generation languages are used mainly in [[artificial intelligence]] research. [[OPS5]] and [[Mercury (programming language)|Mercury]] are examples of fifth-generation languages.<ref name="bala">E. Balagurusamy, ''Fundamentals of Computers'', Mcgraw Hill Education (India), 2009, {{ISBN|978-0070141605}}, p. 340</ref> as is [[ICAD (software)|ICAD]], which was built upon [[Lisp (programming language)|Lisp]]. [[KL-ONE]] is an example of a related idea, a [[frame language]].
In the 1980s, fifth-generation languages were considered to be the way of the future, and some predicted that they would replace procedural programming with constraint based programming for all tasks that could be framed as a series of logical constraints.<ref>{{cite journal |last1=Kahanwal |first1=Brijender |title=A taxonomy for programming languages with multisequential processes |journal=International Journal of Programming Languages and Applications ( IJPLA ) |date=4 October 2013 |volume=3 |issue=4 |
However, as larger programs were built, the flaws of the approach became more apparent. It turns out that, given a set of constraints defining a particular problem, deriving an efficient algorithm to solve it is a very difficult problem in itself. This crucial step cannot yet be automated and still requires the insight of a human programmer.
|