generic_definition

Generic Definition

Definitions vs Declarations, Definitions and Declarations (computer programming): Type definition - User-defined type definition, Variable definition - Constant definition, Class definition - Object definition, Constructor definition - Destructor definition, Struct definition - Record definition, Function definition - Method definition, Lambda definition - Anonymous function definition, Enumerator definition, Pointer definition, Generic definition - Template definition, Interface definition - Protocol definition - Trait definition, Namespace definition - Package definition - Module definition - Alias definition - Import definition - Export definition, Macro definition. Programming terms. (navbar_definition)

Snippet from Wikipedia: Generic 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 by the ML programming language in 1973, permits writing common functions or types that differ only in the set of types on which they operate when used, thus reducing duplicate code.

Generic programming was introduced to the mainstream with Ada in 1977. With templates in C++, generic programming became part of the repertoire of professional library design. The techniques were further improved and parameterized types were introduced in the influential 1994 book Design Patterns.

New techniques were introduced by Andrei Alexandrescu in his 2001 book Modern C++ Design: Generic Programming and Design Patterns Applied. Subsequently, D implemented the same ideas.

Such software entities are known as generics in Ada, C#, Delphi, Eiffel, F#, Java, Nim, Python, Go, Rust, Swift, TypeScript, and Visual Basic .NET. They are known as parametric polymorphism in ML, Scala, Julia, and Haskell. (Haskell terminology also uses the term "generic" for a related but somewhat different concept.)

The term generic programming was originally coined by David Musser and Alexander Stepanov in a more specific sense than the above, to describe a programming paradigm in which fundamental requirements on data types are abstracted from across concrete examples of algorithms and data structures and formalized as concepts, with generic functions implemented in terms of these concepts, typically using language genericity mechanisms as described above.

Language Specifics

1. Bash Scripting

2. C Language

3. C++

4. C#

5. Clojure

6. COBOL

7. Dart

8. Elixir

9. Fortran

10. Go

11. Groovy

12. Haskell

13. IBM REXX

14. IBM JCL

15. Java

16. JavaScript

17. Kotlin

18. PHP

19. PowerShell

20. Python

21. Ruby

22. Rust

23. Scala

24. Swift

25. Microsoft T-SQL

26. TypeScript

Snippet from Wikipedia: Declaration (computer programming)

In computer programming, a declaration is a language construct specifying identifier properties: it declares a word's (identifier's) meaning. Declarations are most commonly used for functions, variables, constants, and classes, but can also be used for other entities such as enumerations and type definitions. Beyond the name (the identifier itself) and the kind of entity (function, variable, etc.), declarations typically specify the data type (for variables and constants), or the type signature (for functions); types may also include dimensions, such as for arrays. A declaration is used to announce the existence of the entity to the compiler; this is important in those strongly typed languages that require functions, variables, and constants, and their types to be specified with a declaration before use, and is used in forward declaration. The term "declaration" is frequently contrasted with the term "definition", but meaning and usage varies significantly between languages; see below.

Declarations are particularly prominent in languages in the ALGOL tradition, including the BCPL family, most prominently C and C++, and also Pascal. Java uses the term "declaration", though Java does not require separate declarations and definitions.

Also Listed As


© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


generic_definition.txt · Last modified: 2024/04/28 03:33 (external edit)