Live briefing
Everything about Generic programming
Style of computer programming
Generic programming is a style of computer programming in which algorithms are written in terms of data types to-be-specified-later that are then instantiated when needed for specific types provided as parameters. This approach, pioneered in the programming language ML in 1973, permits writing common functions or data types that differ only in the set of types on which they operate when used, thus reducing duplicate code. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Generic programmingA 5-minute orientation
- Skim a recent paper: Generic implementation of path design for spray deposition: Programming schemes, processing and characterization for cold sprayingInfluential work since 2022
- Pick up a classic book: CoriolanusThe most-reprinted book on the subject
- Read the landmark paper: The Generic Nature of Optimality Conditions in Nonlinear ProgrammingCited 56 times
- Go sideways: Template (C++)A closely related topic
- Go sideways: Template metaprogrammingA closely related topic
📖 Definitions
Noun A style of computer programming in which algorithms are written in terms of to-be-specified-later types that are then instantiated when needed for specific types provided as parameters.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
The Generic Nature of Optimality Conditions in Nonlinear Programming
Solving multiobjective linear programming problems — a generic approach
Generic Correctional Programming for Mentally Ill Offenders
A generic optimising feature extraction method using multiobjective genetic programming
Generic functional programming with types and relations
Staged generic programming
Generic Algorithm for Generalized Fractional Programming
Leveraging Graphical User Interface Automation for Generic Robot Programming
🆕 Influential since 2022
Generic implementation of path design for spray deposition: Programming schemes, processing and characterization for cold spraying
CrowdKit: A Generic Programming Framework for Mobile Crowdsensing Applications
Domain-Independent Dynamic Programming: Generic State Space Search for Combinatorial Optimization
A generic approach to conference scheduling with integer programming
Generic Programming with Extensible Data Types: Or, Making Ad Hoc Extensible Data Types Less Ad Hoc
📚 Books worth reading
CoriolanusWilliam Shakespeare · 1721
Autobiography of a YogiYogananda Paramahansa · 1946
Step on a CrackJames Patterson, Michael Ledwidge · 1658
The Ballad of Songbirds and SnakesSuzanne Collins · 2020
Computer ConceptsJune Jamrich Parsons, Dan Oja · 1996
Systems Analysis and DesignAlan Dennis, Barbara Haley Wixom · 2000
JavaScriptDavid Flanagan · 1996
Learning PythonMark Lutz, David Ascher · 1999
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Template (C++) Templates are a feature of the C++ programming language that allow functions and classes to operate with generic types. This allows a function or class…
- Template metaprogramming Template metaprogramming (TMP) is a metaprogramming technique in which templates are used by a compiler to generate temporary source code, which is merged…
- Type class In computer science, a type class is a type system construct that supports ad hoc polymorphism in a programming language. This is achieved by adding constraints…
- C++11 C++11 is a version of a joint technical standard, ISO/IEC 14882, by the International Organization for Standardization (ISO) and International Electrotechnical…
- Partial template specialization Partial template specialization is a particular form of class template specialization. Usually used in reference to the C++ programming language, it allows…
- Boxing (computer programming) In computer science, boxing (a.k.a. wrapping) is the transformation of placing a primitive type within an object so that the value can be used as a reference…
- Concept (generic programming) In generic programming, a concept is a description of supported operations on a type, including syntax and semantics. In this way, concepts are related…
- C++ syntax The syntax of C++ is the set of rules defining how a C++ program is written and compiled. C++ syntax is largely inherited from the syntax of its ancestor…