Changes

Jump to: navigation, search

Generic Programming

251 bytes added, 18:27, 23 January 2019
no edit summary
'''[[Main Page|Home]] * [[Programming]] * Generic Programming'''
'''Generic Programming''' is ,<br/>a [https://en.wikipedia.org/wiki/Programming_paradigm programming paradigm] to write efficient, [https://en.wikipedia.org/wiki/Code_reuse reusable] code and [https://en.wikipedia.org/wiki/Library_%28computing%29 software libraries], to operate on any [[Data|data type]], required being passed as a parameter, in [[Cpp|C++]] a [https://en.wikipedia.org/wiki/Compile_time compile time] [https://en.wikipedia.org/wiki/TypeParameter type parameter]. Generic programming, first implemented in the [[Ada]] programming language, was pioneered by [https://en.wikipedia.org/wiki/Alexander_Stepanov Alexander Stepanov] <ref>[http://www.stlport.org/resources/StepanovUSA.html STLport: An Interview with A. Stepanov] by [http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/r/Russo:Graziano_Lo.html Graziano Lo Russo]</ref>, [[Mathematician#DMusser|David Musser]] and [[Mathematician#DKapur|Deepak Kapur]], and obtained success in C++ when the [https://en.wikipedia.org/wiki/Standard_Template_Library Standard Template Library] became [https://en.wikipedia.org/wiki/American_National_Standards_Institute ANSI]/[https://en.wikipedia.org/wiki/International_Organization_for_Standardization ISO ] C++ standard <ref>[http://www.open-std.org/jtc1/sc22/wg21/ SO/IEC JTC1/SC22/WG21 - The C++ Standards Committee]</ref>.
Generic programming invokes a [https://en.wikipedia.org/wiki/Metaprogramming metaprogramming] facility within a language, in those languages supporting it.
In C++, template paramater are either types or integer constants for the wider range of [https://en.wikipedia.org/wiki/Template_%28programming%29 Template-] or metaprogramming. For instance in computer chess programming, it allows to write [[Color|color]] dependent routines once, and disband otherwise conditional code at compile-time.
==1980==
* [[Mathematician#DKapur|Deepak Kapur]], [[Mathematician#DMusser|David Musser]], [https://en.wikipedia.org/wiki/Alexander_Stepanov Alexander Stepanov] ('''1981'''). ''[http://portal.acm.org/citation.cfm?doid=942572.806763 Operators and Algebraic Structures]''. [http://www.stepanovpapers.com/p59-kapur.pdf pdf]
* [[Mathematician#DKapur|Deepak Kapur]], [[Mathematician#DMusser|David Musser]], [https://en.wikipedia.org/wiki/Alexander_Stepanov Alexander Stepanov] ('''1981'''). ''TECTON: A Language for Manipulating Generic Objects''. in [httphttps://wwwen.ituwikipedia.dkorg/peoplewiki/jst/ J. Staunstrup], editor, [[Lecture_Notes_in_Computer_Science LNCS]], Vol. 134, [[https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer]], [http://www.stepanovpapers.com/Tecton.pdf pdf]
* [[Mathematician#DMusser|David Musser]], [https://en.wikipedia.org/wiki/Alexander_Stepanov Alexander Stepanov] ('''1988'''). ''Generic Programming''. ISSAC 1988, [http://www.stepanovpapers.com/genprog.pdf pdf]
==1990 ...==
* [[Andrew Koenig]] ('''1994'''). ''Generic Iterators''. [http://dblp.dagstuhl.de/db/journals/joop/joop7.html#Koenig94d JOOP 7, No. 5]
* [https://en.wikipedia.org/wiki/Alexander_Stepanov Alexander Stepanov], [https://en.wikipedia.org/wiki/Meng_Lee Meng Lee] ('''1995'''). ''[http://www.hpl.hp.com/techreports/95/HPL-95-11.html The Standard Template Library]''. HP Laboratories Technical Report 95-11, [http://www.stepanovpapers.com/STL/DOC.PDF pdf]
* [[Mathematician#JCDehnert|James C. Dehnert]], [https://en.wikipedia.org/wiki/Alexander_Stepanov Alexander Stepanov] ('''1998'''). ''[http://portal.acm.org/citation.cfm?id=724183 Fundamentals of Generic Programming]''. [[https://en.wikipedia.org/wiki/Lecture_Notes_in_Computer_Science LNCS]1766, [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer], [http://www.stepanovpapers.com/DeSt98.pdf pdf]* [http://lafstern.org/matt/ Matthew H. Austern] ('''1999'''). ''Generic Programming and the STL: Using and Extending the C++ Standard Template Library''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley], ISBN-13: 978-0201309560, [http://www.amazon.com/exec/obidos/ASIN/0201309564/hebrewlanguagere/ amazon.com]
==2000 ...==
* [https://en.wikipedia.org/wiki/P._J._Plauger P.J. Plauger], [https://en.wikipedia.org/wiki/Meng_Lee Meng Lee], [[Mathematician#DMusser|David Musser]], [https://en.wikipedia.org/wiki/Alexander_Stepanov Alexander Stepanov] ('''2000'''). ''C++ Standard Template Library''. [https://en.wikipedia.org/wiki/Prentice_Hall Prentice Hall]

Navigation menu