Узагальнене програмування (англ. generic programming) — парадигма програмування, що полягає в такому описі даних і алгоритмів, який можна застосовувати до різних типів даних, не змінюючи сам опис. У тому чи іншому вигляді підтримується різними мовами програмування.
Можливості узагальненого програмування вперше з'явилися в 1970-х роках у мовах CLU та Ada, а потім у багатьох об'єктно-орієнтованих мовах, таких як , Java, D і мовах для платформи .NET.
Термін "Узагальнене програмування" вперше було введене Девідом Массером і Олександром Степановим , які описували парадигму програмування, яка заснована на тому, що типи даних і структури даних є абстрактними і не впливають на конкретну реалізацію алгоритмів, а загальні функції реалізовані з використанням узагальнених формалізованих типів.
Приклад застосування в мові C
Препроцесор мови C підтримує окремі можливості узагальненого програмування. Так, наприклад, функція обміну значень двох об'єктів даних може бути визначена як макрос:
#define SWAP(_a, _b, type) { type _c; _c = _b; _b = _a; _a = _c; }
і використана з програми, наприклад:
#include <stdio.h> #define SWAP(_a, _b, type) { type _c; _c = _b; _b = _a; _a = _c; } int main() { int a=1, b=4; double c=2.3, d=3.4; SWAP(a, b, int); printf("%i %i\n", a, b); SWAP(c, d, double); printf("%f %f\n", c, d); return 0; }
Див. також
Посилання
- Джонатан Бартлетт, Мистецтво метапрограмування, Частина 1: Введення в метапрограмування
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Uzagalnene programuvannya angl generic programming paradigma programuvannya sho polyagaye v takomu opisi danih i algoritmiv yakij mozhna zastosovuvati do riznih tipiv danih ne zminyuyuchi sam opis U tomu chi inshomu viglyadi pidtrimuyetsya riznimi movami programuvannya Mozhlivosti uzagalnenogo programuvannya vpershe z yavilisya v 1970 h rokah u movah CLU ta Ada a potim u bagatoh ob yektno oriyentovanih movah takih yak C Java D i movah dlya platformi NET Termin Uzagalnene programuvannya vpershe bulo vvedene Devidom Masserom i Oleksandrom Stepanovim yaki opisuvali paradigmu programuvannya yaka zasnovana na tomu sho tipi danih i strukturi danih ye abstraktnimi i ne vplivayut na konkretnu realizaciyu algoritmiv a zagalni funkciyi realizovani z vikoristannyam uzagalnenih formalizovanih tipiv Priklad zastosuvannya v movi CPreprocesor movi C pidtrimuye okremi mozhlivosti uzagalnenogo programuvannya Tak napriklad funkciya obminu znachen dvoh ob yektiv danih mozhe buti viznachena yak makros define SWAP a b type type c c b b a a c i vikoristana z programi napriklad include lt stdio h gt define SWAP a b type type c c b b a a c int main int a 1 b 4 double c 2 3 d 3 4 SWAP a b int printf i i n a b SWAP c d double printf f f n c d return 0 Div takozhMetaprogramuvannya Shabloni C Uzagalnennya v JavaPosilannyaDzhonatan Bartlett Mistectvo metaprogramuvannya Chastina 1 Vvedennya v metaprogramuvannya Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Musser ta Stepanov 1989