A fifth-generation programming language (5GL) is any
programming language based on problem-solving using constraints given to the program, rather than using an
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
written by a programmer. Most
constraint-based and
logic programming languages and some other
declarative languages are fifth-generation languages.
History
While
fourth-generation programming languages 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
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machine
A machine is a physical system using Power (physics), power to apply Force, forces and control Motion, moveme ...
research.
OPS5 and
Mercury are examples of fifth-generation languages,
[E. Balagurusamy, ''Fundamentals of Computers'', Mcgraw Hill Education (India), 2009, , p. 340] as is
ICAD, which was built upon
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lispi ...
.
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. Most notably, from 1982 to 1993,
Japan put much research and money into their
fifth-generation computer systems project, hoping to design a massive computer network of machines using these tools.
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.
Common misconception
Vendors have been known on occasion to advertise their languages as 5GL. Most of the time they actually sell
4GLs The 4GLS was a proposed 4th Generation Light Source, based at the Daresbury Laboratory in Cheshire, England, intended to combine energy recovery linac (ERL) and free electron laser technologies to provide synchronised sources of synchrotron radiat ...
with a higher level of automation and
knowledge base. Because the hype of the 1980s faded away and the projects were eventually all dropped, 5GL awareness has also 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.
Previous-generation languages
*
First-generation programming language
*
Second-generation programming language
The label of second-generation programming language (2GL) is a generational way to categorize assembly languages.
The term was coined to provide a distinction from higher level machine independent third-generation programming languages (3GLs) (su ...
*
Third-generation programming language
*
Fourth-generation programming language
See also
*
Constraint programming
*
List of programming languages for artificial intelligence
Artificial intelligence researchers have developed several specialized programming languages for artificial intelligence:
Languages
* AIML (meaning "Artificial Intelligence Markup Language")according to (the intro page to) thAIML Repository at ...
*
Programming paradigms
References
{{DEFAULTSORT:Fifth-Generation Programming Language
Programming language classification