Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Fifth-generation programming language
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|A category of programming languages}} {{Refimprove|date=August 2018}} A '''fifth-generation programming language''' ('''5GL''') is a [[high-level programming language|high-level]] [[programming language]] based on problem-solving using constraints given to the program, rather than using an [[algorithm]] written by a programmer.<ref>{{cite book |title=Network dictionary |date=2007 |publisher=Javvin Technologies, Inc |isbn=9781602670006 |editor1-last=Dong |editor1-first=Jielin |location=Saratoga, Calif. |page=195}}</ref> Most [[constraint programming|constraint-based]] and [[logic programming]] languages and some other [[declarative language]]s are fifth-generation languages. ==History== 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 |date=4 October 2013 |title=A taxonomy for programming languages with multisequential processes |journal=International Journal of Programming Languages and Applications |volume=3 |issue=4 |arxiv=1311.3293 |doi=10.5121/ijpla.2013.3401}}</ref> Most notably, from 1982 to 1993, [[Japan]]<ref name="Ref1">{{Cite web |author=Richard Grigonis |title=FIFTH-GENERATION COMPUTERS |url=http://www.atariarchives.org/deli/fifth_generation.php |access-date=2008-03-05}}</ref><ref name="Ref2">{{Cite web |author=ALP |title=Association for Logic Programming (ALP) |url=http://www.logicprogramming.org/ |access-date=2008-03-05}}</ref> put much research and money into their [[Fifth generation computer|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 [[Fourth-generation programming language|4GLs]] 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 reuse the term in marketing their new tools, without causing much controversy among the current generations of programmers.<ref>{{cite web |last1=Howard |first1=Philip |date=17 January 2007 |title=What makes a 5GL? |url=https://www.theregister.co.uk/2007/01/17/5gl/ |access-date=28 November 2019 |website=The Register}}</ref> ==See also== * [[Constraint programming]] * [[List of programming languages for artificial intelligence]] * [[Programming paradigm]] ==References== {{Reflist}} {{Programming language generations}} {{DEFAULTSORT:Fifth-Generation Programming Language}} [[Category:Programming language classification]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:ISBN
(
edit
)
Template:Programming language generations
(
edit
)
Template:Refimprove
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)