Generičko programiranje — разлика између измена

Садржај обрисан Садржај додат
м {{Парадигме програмирања}}
Ред 1:
{{МАТФДПЈ2016}}
| name = {{Парадигме програмирања}}
{{Sidebar
| title = [[Парадигме програмирања]]
| name = Парадигме програмирања
| contentstyle = text-align: left
| content1 =
* [[Језик дејства]]
* [[Агентно-оријентисано програмирање]]
* [[Агентно низно оријентисано програмирање]]
* [[Аутоматно програмирање]]
* [[Паралелно израчунавање]]
** [[Релативистичко програмирање]]
* [[Програмирање покретних података]]
* [[Декларативно програмирање]] (контраст: [[Императивно програмирање]])
** [[Принуда]]
*** [[Принудно логичко програмирање]]
**** [[Упоредно принудно логичко програмирање]]
** [[Податак-ток програмирање]]
*** [[Проток основе]]
*** Мобилни оријентисани ([[табела]])
*** [[Реактивно програмирање]]
** [[Функционално програмирање]]
*** [[Функционално логичко програмирање]]
*** [[Чисто функционални програмски језик]]
** [[Логичко програмирање]]
*** [[Абдуктив логика програмирања]]
*** [[Одговор сет програмирање]]
*** [[Упоредно логичко програмирање]]
*** [[Функционално логичко програмирање]]
*** [[Индуктивно логичко програмирање]]
* [[Динамички програмски језик]]
* [[Крајње-корисничко развијање]]
* [[Догађај-погон програмирање]]
** [[Сервис оријентисана архитектура]]
** [[Време-погон програмирање]]
* [[Израз-оријентисан програмски језик]]
* [[Одлика-оријентисаног програмирања]]
* [[Програмирање на нивоу функција]] (контраст: [[програмирање на нивоу вредности]])
* [[Генеричко програмирање]]
* [[Императивно програмирање]] (контраст: [[Декларативно програмирање]])
** [[Писменост]]
** [[Процедура]]
* [[Индуктивно програмирање]]
* [[Језички-оријентисано програмирање]]
** [[Природни програмски језик]]
** [[Специфичне дисциплине]]
** [[Обласно-специфичан језик]]
** [[Граматички оријентисано програмирање]]
*** [[Дијалект (рачунарство)|Дијалект]]
** [[Намерно програмирање]]
* [[Метапрограмирање]]
** [[Аутоматско програмирање]]
** [[Рефлексија (програмирање)|Рефлексија]]
*** [[Атрибут-оријентисано програмирање]]
** [[Homoiconicity]]
** [[Шаблон метапрограмирања|Шаблон]]
*** [[Политика на бази дизајна]]
* [[Неструктуирано програмирање]] (контраст: [[Strukturirano programiranje|Структуирано програмирње]])
** [[Поредак]]
* [[Недетерминистичко програмирање]]
* [[Паралелна обрада]]
** [[Процес-оријентисано програмирање]]
* [[Прећутно програмирање]]
** [[Concatenative програмски језик]]
* [[Семантички-оријентисано програмирање]]
* [[Strukturirano programiranje|Структурно програмирање]] (контраст: [[Неструктуирано програмирање]])
** [[Блок структуирање]]
** [[Модуларно програмирање]] (контраст: [[Монолитна апликација]])
** [[Објектно-оријентисано програмирање|Објектно оријентисано програмирање (ООП)]]
*** [[Класе-основе програмирања]]
*** [[Паралелно објектно-оријентисано програмирање]]
*** [[Прототип-основе програмирања]]
*** [[раздвајање проблема]]:
**** [[Аспект-оријентисано програмирање]]
**** [[Улога-оријентисано програмирање]]
**** [[Наслов-оријентисано програмирање]]
** [[Рекурзија (компјутерске науке)|Рекурзија]]
* [[Програмирање на нивоу вредности]] (контраст: [[Програмирање на нивоу функција]])
* [[Пробабилистички програмски језик]]
* [[Појам]]
}}
 
U računarstvu, '''generičko programiranje''' je tehnika koja dozvoljava da jedna promenljiva može da čuva različite [[Tipovi podataka|tipove podataka]] (takozvana višeobličnost ili polimorfizam) sve dok su zadovoljeni određeni uslovi kao što su podklasa i pravilna deklaracija. Dakle, dozvoljava nam stvaranje [[Funkcija (programiranje)|funkcija]] i klasa koje ne zavise od tipa. Primer: STL vektor, lista, stek itd. Na primer, ako se želi napraviti [[Povezana lista|lista]] koristeći generičnost, moguća deklaracija bi bila ''-{List}- <T>'', gde T predstavlja vrstu podataka. Kada se načini primerak može se napraviti -{List<Integer>}- ili -{List<Animal>}-. Prema listi se zatim postupa kao prema listi onog tipa podataka koji je naveden. Od objektno orijentisanih programskih jezika, programski jezici -{[[C++]], D, [[BETA (programming language)|BETA]], [[Eiffel (programming language)|Eiffel]], [[Ada (programming language)|Ada]] i neke verzije [[Java (programming language)|Jave]]}- (1.5 i novije) podržavaju generičke tipove podataka. -{[[Visual Basic .NET|VB.NET]] i [[C Sharp (programming language)|C#]]}- su počeli da podržavaju generičke tipove od verzije -{.NET}- 2.0. Šabloni – osnova za generičko programiranje:  šablon je ustvari formula ili recept za stvaranje klase ili funkcije. Postoje funkcijski šabloni i šabloni klase.