Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A fifth generation (programming) language (5GL) is a grouping of programming languages build on the premise that a problem can be solved, and an application built to solve it, by providing constraints to the program (constraint-based programming), rather than specifying algorithmically how the problem is to be solved (imperative programming).
In essence, the programming language is used to denote the properties, or logic, of a solution, rather than how it is reached. Most constraint-based and logic programming languages are 5GLs. A common misconception about 5GLs pertains to the practice of some 4GL vendors to denote their products as 5GLs, when in essence the products are evolved and enhanced 4GL tools.
Also known as a 5th generation language.
The leap beyond 4GLs is sought by taking a different approach to the computational challenge of solving problems. When the programmer dictates how the solution should look, by specifying conditions and constraints in a logical manner, the computer is then free to search for a suitable solution. Most of the applicable problems solved by this approach can currently be found in the domain of artificial intelligence.
Considerable research has been invested in the 1980s and 1990s, into the development of 5GLs. As larger programs were built, it became apparent that the approach of finding an algorithm given a problem description, logical instructions and a set of constraint is a very hard problem in itself. During the 1990s, the wave of hype that preceded the popularization of 5GLs and predictions that they will replace most other programming languages, gave way to a more sober realization.
PROLOG (acronym for PROgramming LOGic) is an example of a Logical Programming Language. It uses a form of mathematical logic (predicate calculus) to solve queries on a programmer-given database of facts and rules.