Fifth-generation programming language: Difference between revisions

Content deleted Content added
m Reverting possible vandalism by 176.45.5.204 to version by Abuyakl. False positive? Report it. Thanks, ClueBot NG. (742848) (Bot)
WP:SDFORMAT compliance
 
(94 intermediate revisions by 76 users not shown)
Line 1:
{{Short description|Category of programming languages}}
{{COI-check|date=May 2009}}
{{Refimprove|date=August 2018}}
A '''fifth-generation programming language''' (abbreviated '''5GL''') is a [[high-level programming language|high-level]] [[programming language]] based aroundon problem-solving problems using [[Constraint programming|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 languageslanguage]]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 programmeruser 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,<ref name="bala">E. Balagurusamy, ''Fundamentals of Computers'', Mcgraw Hill Education (India), 2009, {{Citation neededISBN|date=September 2010978-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 waveway of the future, and some predicted that they would replace allprocedural otherprogramming languageswith constraint based programming for systemall development,tasks withthat thecould exceptionbe framed as a series of low-levellogical languagesconstraints.<ref>{{Citationcite journal |last1=Kahanwal |first1=Brijender needed|date=July4 2009October 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 |title=FIFTHaccess-GENERATION COMPUTERS|accessdatedate=2008-03-05|author=Richard Grigonis}}</ref><ref name="Ref2">{{Cite web |urlauthor=http://www.cs.kuleuven.ac.be/~dtai/projects/ALP/ |title=Association for Logic Programming (ALP) |accessdateurl=http://www.logicprogramming.org/ |access-date=2008-03-05|author=ALP}}</ref> put much research and money into their [[fifthFifth generation computer|fifth-generation computer systems project]], hoping to design a massive computer network of machines using these tools.
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]]. {{Citation needed|date=September 2010}}
 
However, as larger programs were built, the flaws of the approach became more apparent. It turns out that, starting fromgiven 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.
In the 1980s, 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">{{Cite web|url=http://www.atariarchives.org/deli/fifth_generation.php|title=FIFTH-GENERATION COMPUTERS|accessdate=2008-03-05|author=Richard Grigonis}}</ref><ref name="Ref2">{{Cite web|url=http://www.cs.kuleuven.ac.be/~dtai/projects/ALP/|title=Association for Logic Programming (ALP)|accessdate=2008-03-05|author=ALP}}</ref> put much research and money into their [[fifth generation computer systems project]], hoping to design a massive computer network of machines using these tools.
 
==Common misconception==
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.
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==
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.
* [[Constraint programming]]
 
* [[List of programming languages for artificial intelligence]]
==Common misconception==
* [[Programming paradigm]]
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 level of automation and knowledge base. Since the 5GL awareness has dropped because the hype of the 80's quickly faded away and 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.
 
==References==
Line 22 ⟶ 25:
{{DEFAULTSORT:Fifth-Generation Programming Language}}
[[Category:Programming language classification]]
 
[[ar:لغة برمجة الجيل الخامس]]
[[fr:L5G]]