Content deleted Content added
No edit summary |
m Date maintenance tags and general fixes: build 540: |
||
Line 2:
A '''fifth-generation programming language''' (abbreviated '''5GL''') is a [[programming language]] based around solving problems using [[Constraint programming|constraints]] given to the program, rather than using an [[algorithm]] written by a programmer. Most constraint-based and [[logic programming]] languages and some declarative languages are fifth-generation languages.
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 programmer 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. [[Prolog]], [[OPS5]], and [[Mercury programming language|Mercury]] are examples of fifth-generation languages.{{
These types of languages were also built upon Lisp, many originating on the [[Lisp machine]], such as [[ICAD]]. Then, there are many [[frame language]]s, such as [[KL-ONE]]. {{
In the 1990s, fifth-generation languages were considered to be the wave of the future, and some predicted that they would replace all other languages for system development, with the exception of low-level languages.{{Citation needed|date=July 2009}} Most notably, from 1982 to 1993 [[Japan]]<ref name="Ref1">{{
However, as larger programs were built, the flaws of the approach became more apparent. It turns out that, starting from 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.
Line 12:
Today, fifth-generation languages are back as a possible level of computer language. A number{{Who|date=August 2010}} of software vendors currently claim that their software meets the visual "programming" requirements of the 5GL concept.
==
From time to time vendors in the application development space have claimed 5GL (5th generation language) capabilities.<ref>[http://www.it-analysis.com/channels/content.php?cid=9096 What makes a 5GL?]</ref> Most of the time they actually sell [[4GL]]s with a higher levels of automation and knowledge base. Since the 5GL awareness has dropped because the hype of the 80's quickly faded away and that the projects were eventually all dropped; this has opened doors to the vendors to re-use the term in marketing their new tools, without causing much controversy among the current generations of programmers. Their tools actually consist of [[4GL]]s packed with [[Rapid application development|RAD]] wizards, [[Computer-aided software engineering|CASE]] tools and other graphical coding assistance that facilitates code generation.
|