Парадигма: обобщённая
Обобщённое программирование состоит в написании алгоритмов в терминах абстрактных типов данных; когда алгоритм используется для конкретных типов данных, создается экземпляр этого алгоритма с типами данных, переданными в качестве параметров. Такой стиль программирования позволяет использовать универсальный код для похожих заданий, имеющих дело с разными типами данных, и таким образом уменьшить дублирование кода.
Обобщённое программирование широко используется для реализации универсальных контейнеров и алгоритмов. Так, стандартная библиотека шаблонов STL в С++ предоставляет набор контейнеров (динамический массив, связный список, очередь, множество и т.д.) и алгоритмов, применимых к этим или пользовательским контейнерам.
- Ada (диалекты: Ada 2005, Ada 2012, Ada 83, Ada 95, SPARK)
- C# (диалекты: Cω, ECMA-334, ISO/IEC 23270:2003, Polyphonic C#)
-
C++
(диалекты:
C++03,
C++11,
C++98)
- Acorn C/C++
- Borland C++ Builder
-
Digital Mars C/C++
- Digital Mars C/C++ 8.0
- Digital Mars C/C++ 8.10
- Digital Mars C/C++ 8.12
- Digital Mars C/C++ 8.13
- Digital Mars C/C++ 8.15
- Digital Mars C/C++ 8.17
- Digital Mars C/C++ 8.18
- Digital Mars C/C++ 8.18A
- Digital Mars C/C++ 8.18C
- Digital Mars C/C++ 8.18D
- Digital Mars C/C++ 8.18E
- Digital Mars C/C++ 8.20
- Digital Mars C/C++ 8.22
- Digital Mars C/C++ 8.23
- Digital Mars C/C++ 8.25
- Digital Mars C/C++ 8.26
- Digital Mars C/C++ 8.27
- Digital Mars C/C++ 8.28
- Digital Mars C/C++ 8.29
- Digital Mars C/C++ 8.30
- Digital Mars C/C++ 8.31
- Digital Mars C/C++ 8.32
- Digital Mars C/C++ 8.33
- Digital Mars C/C++ 8.34
- Digital Mars C/C++ 8.35
- Digital Mars C/C++ 8.36
- Digital Mars C/C++ 8.37
- Digital Mars C/C++ 8.38
- Digital Mars C/C++ 8.39
- Digital Mars C/C++ 8.40
- Digital Mars C/C++ 8.41
- Digital Mars C/C++ 8.42
- Digital Mars C/C++ 8.43
- Digital Mars C/C++ 8.44
- Digital Mars C/C++ 8.45
- Digital Mars C/C++ 8.46
- Digital Mars C/C++ 8.47
- Digital Mars C/C++ 8.48
- Digital Mars C/C++ 8.49
- Digital Mars C/C++ 8.50
- Intel C/C++
- MIPSpro C/C++
- Microsoft Visual C++
- Open Watcom C/C++
- Open64 C/C++
- PGI C++ Workstation
- Sun Studio C/C++
- Watcom C/C++
- g++
- Clarion (диалекты: Clarion, Clarion for DOS, Clarion#)
- D
- Nimrod
- Rust
- Sparkel
- X10