@prefix rdf:	<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dbpedia:	<http://dbpedia.org/resource/> .
@prefix ns2:	<http://dbpedia.org/class/yago/> .
dbpedia:Generic_programming	rdf:type	ns2:ProgrammingParadigms .
@prefix owl:	<http://www.w3.org/2002/07/owl#> .
dbpedia:Generic_programming	owl:sameAs	<http://rdf.freebase.com/ns/guid.9202a8c04000641f80000000000b42f7> .
@prefix foaf:	<http://xmlns.com/foaf/0.1/> .
@prefix ns5:	<http://en.wikipedia.org/wiki/> .
dbpedia:Generic_programming	foaf:page	ns5:Generic_programming .
@prefix dbpprop:	<http://dbpedia.org/property/> .
dbpedia:Generic_programming	dbpprop:reference	<http://msdn.microsoft.com/en-us/library/ms182144.aspx> ,
		<http://msdn2.microsoft.com/en-us/library/d5x73970.aspx> ,
		<http://www.research.att.com/~bs/N1522-concept-criteria.pdf> ,
		<http://blogs.teamb.com/craigstuntz/2008/08/29/37832/> ,
		<http://www.ondotnet.com/pub/a/dotnet/2005/10/17/interview-with-anders-hejlsberg.html> ,
		<http://se.ethz.ch/~meyer/publications/acm/geninh.pdf> ,
		<http://lcsd05.cs.tamu.edu/papers/dos_reis_et_al.pdf> ,
		<http://www.drbob42.com/examines/examinA4.htm> ,
		<http://www.digitalmars.com/d/templates-revisited.html> ,
		<http://www.informatik.uni-bonn.de/~ralf/publications/ICFP04.pdf> ,
		<http://dn.codegear.com/article/38757> ,
		<http://www.cs.uu.nl/research/projects/generic-haskell/compiler/diamond/GHUsersGuide.pdf> ,
		<http://www.cs.vu.nl/boilerplate/> ,
		<http://codeplex.com/Wiki/View.aspx?ProjectName=genericsnet> ,
		<http://www.artima.com/intv/generics2.html> ,
		<http://www.ecma-international.org/publications/standards/Ecma-367.htm> ,
		<http://lcsd05.cs.tamu.edu> ,
		<http://msdn.microsoft.com/msdnmag/issues/03/09/NET/> ,
		<http://www.stepanovpapers.com/> ,
		<http://msdn.microsoft.com/msdnmag/issues/03/10/NET/> .
@prefix rdfs:	<http://www.w3.org/2000/01/rdf-schema#> .
dbpedia:Generic_programming	rdfs:label	"Programowanie uog\u00F3lnione"@pl ,
		"Generic programming"@en ,
		"Generisk programmering"@no ,
		"\u041E\u0431\u043E\u0431\u0449\u0451\u043D\u043D\u043E\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435"@ru ,
		"\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0"@ja ,
		"G\u00E9n\u00E9ricit\u00E9"@fr ,
		"Genericiteit (programmeertaalvoorziening)"@nl ,
		"\u6CDB\u578B"@zh ,
		"\u0423\u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0435\u043D\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F"@uk ,
		"Generick\u00E9 programov\u00E1n\u00ED"@cs ,
		"Template (software)"@nl ,
		"Programa\u00E7\u00E3o gen\u00E9rica"@pt ,
		"Generische Programmierung"@de ;
	dbpprop:abstract	"Generische Programmierung ist ein Verfahren zur Entwicklung wiederverwendbarer Software-Bibliotheken. Dabei werden Funktionen m\u00F6glichst allgemein entworfen, um f\u00FCr unterschiedliche Datentypen und Datenstrukturen verwendet werden zu k\u00F6nnen. Die Implementierung erfolgt bei einigen Programmiersprachen durch das Konzept generischer Typen bzw. Templates \u2013 so gestalten sich dynamische Programmiersprachen, bei denen sich der Typ einer Variable zur Laufzeit &auml;ndern darf, durch ihre verallgemeinerte Polymorphie generisch. Von Sprachen, die solche Mechanismen bieten, sagt man auch, dass sie Generik erlauben. Wesentlich bei der generischen Programmierung ist, dass die Algorithmen nicht f\u00FCr einen bestimmten Datentyp geschrieben werden, sondern nur bestimmte Anforderungen an die Typen stellen. Das Prinzip wird auch parametrische Polymorphie genannt. Paradebeispiel ist die C++-Standardbibliothek der Programmiersprache C++, bei der die Algorithmen so weit wie m\u00F6glich von den Datenstrukturen, mit denen sie arbeiten, getrennt werden."@de ,
		"\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\uFF08\u7DCF\u79F0\u3042\u308B\u3044\u306F\u6C4E\u7528\uFF09\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0 (generic programming)\u306F\u30C7\u30FC\u30BF\u5F62\u5F0F\u306B\u4F9D\u5B58\u3057\u306A\u3044\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u65B9\u5F0F\u3002 \u3053\u308C\u306F\u30C7\u30FC\u30BF\u578B\u3067\u30B3\u30FC\u30C9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3059\u308B\u306E\u304B\u3001\u3042\u308B\u3044\u306F\u30C7\u30FC\u30BF\u578B\u3092\u30D1\u30E9\u30E1\u30FC\u30BF\u3068\u3057\u3066\u6E21\u3059\u304B\u3068\u3044\u3046\u3053\u3068\u306B\u95A2\u308F\u3089\u305A\u3001\u540C\u3058\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9\u3092\u5229\u7528\u3067\u304D\u308B\u3068\u3044\u3046\u3053\u3068\u3067\u3042\u308B\u3002\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u306F\u8A00\u8A9E\u306B\u3088\u308A\u7570\u306A\u308B\u5F62\u3067\u5B9F\u88C5\u3055\u308C\u3066\u3044\u308B\u3002\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u306E\u6A5F\u80FD\u306F70\u5E74\u4EE3\u306BCLU\u3084Ada\u306E\u3088\u3046\u306A\u8A00\u8A9E\u306B\u642D\u8F09\u3055\u308C\u3001\u6B21\u306BBETA\u3001C++\u3001D\u3001Eiffel\u3001Java\u3001\u305D\u3057\u3066\u4ECA\u306F\u306A\u304DDEC\u306ETrellils-Owl\u8A00\u8A9E\u306A\u3069\u306E\u6570\u591A\u304F\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30D9\u30FC\u30B9(object-based)\u304A\u3088\u3073\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u6307\u5411(object-oriented)\u8A00\u8A9E\u306B\u63A1\u7528\u3055\u308C\u305F\u3002 1995\u5E74\u306E\u66F8\u7C4D\u30C7\u30B6\u30A4\u30F3\u30D1\u30BF\u30FC\u30F3\u306E\u5171\u8457\u8005\u306F\u30B8\u30A7\u30CD\u30EA\u30AF\u30B9\u3084\u3001(C++\u306E)\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3068\u3057\u3066\u3082\u77E5\u3089\u308C\u308B\u30D1\u30E9\u30E1\u30FC\u30BF\u5316\u3055\u308C\u305F\u578B\uFF08parameterized types\uFF09\u3068\u3057\u3066\u30B8\u30A7\u30CD\u30EA\u30AF\u30B9\u306B\u3064\u3044\u3066\u89E6\u308C\u3066\u3044\u308B\u3002\u3053\u308C\u3089\u306F\u3001\u578B\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306A\u304F\u3001\u578B\u3092\u5B9A\u7FA9\u3067\u304D\u308B\u3088\u3046\u306B\u3059\u308B\uFF08\u578B\u306F\u4F7F\u7528\u3059\u308B\u6642\u70B9\u3067\u5F15\u6570\u3068\u3057\u3066\u4E0E\u3048\u3089\u308C\u308B\uFF09\u3002\u3053\u306E\u30C6\u30AF\u30CB\u30C3\u30AF\uFF08\u7279\u306B\u30C7\u30EA\u30B2\u30FC\u30B7\u30E7\u30F3\u3092\u7D44\u307F\u5408\u308F\u305B\u308B\u3068\u304D\uFF09\u306F\u975E\u5E38\u306B\u5F37\u529B\u3067\u3042\u308B\u304C\u3001\u540C\u6642\u306B\u300C\u52D5\u7684\u306B\u3001\u9AD8\u5EA6\u306B\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u5316\u3055\u308C\u305F\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u306F\u3088\u308A\u9759\u7684\u306A\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u3088\u308A\u3082\u7406\u89E3\u3057\u3065\u3089\u3044\u300D\u3068\u305D\u306E\u8457\u8005\u306F\u5FE0\u544A\u3057\u3066\u3044\u308B\uFF08Gang of Four 1995:21\uFF09\u3002"@ja ,
		"En programmation, la g\u00E9n\u00E9ricit\u00E9 d'une fonction repose sur son ind\u00E9pendance vis-\u00E0-vis du type, et \u00E9ventuellement du nombre, de ses arguments. C'est un concept important pour un langage de haut niveau car il permet d'augmenter le niveau d'abstraction du langage. Plusieurs m\u00E9canismes visant \u00E0 permettre l'\u00E9criture de fonctions g\u00E9n\u00E9riques ont donc \u00E9t\u00E9 mis en \u0153uvre par les diff\u00E9rents langages de programmation."@fr ,
		"Z\u00E1kladn\u00ED my\u0161lenkou, kter\u00E1 se skr\u00FDv\u00E1 za pojmem generick\u00E9 programov\u00E1n\u00ED, je rozd\u011Blen\u00ED k\u00F3du programu na algoritmus a datov\u00E9 typy takov\u00FDm zp\u016Fsobem, aby bylo mo\u017En\u00E9 z\u00E1pis k\u00F3du algoritmu ch\u00E1pat jako obecn\u00FD, bez ohledu nad jak\u00FDmi datov\u00FDmi typy pracuje. Konkr\u00E9tn\u00ED k\u00F3d algoritmu se z n\u011Bj st\u00E1v\u00E1 dosazen\u00EDm datov\u00E9ho typu. U kompilovan\u00FDch jazyk\u016F doch\u00E1z\u00ED k rozvinut\u00ED k\u00F3du v dob\u011B p\u0159ekladu. Typick\u00FDm p\u0159\u00EDkladem jazyka, kter\u00FD podporuje tuto formu generick\u00E9ho programov\u00E1n\u00ED je jazyk C++. Mechanismem, kter\u00FD zde generick\u00E9 programov\u00E1n\u00ED umo\u017E\u0148uje, jsou takzvan\u00E9 \u0161ablony (templates)."@cs ,
		"Programa\u00E7\u00E3o gen\u00E9rica \u00E9 um paradigma de programa\u00E7\u00E3o no qual os algoritmos s\u00E3o escritos em uma gram\u00E1tica estendida de forma a adaptar-se atrav\u00E9s da especifica\u00E7\u00E3o das partes vari\u00E1veis que s\u00E3o definidas na inst\u00E2ncia do algoritmo. Especificamente, a gram\u00E1tica estendida eleva um elemento n\u00E3o vari\u00E1vel ou uma constru\u00E7\u00E3o impl\u00EDcita na gram\u00E1tica base para uma vari\u00E1vel ou constante, permitindo a utiliza\u00E7\u00E3o do c\u00F3digo gen\u00E9rico. \u00C9 diferente da forma normal de programa\u00E7\u00E3o na medida que invoca de certa forma as facilidade de metaprograma\u00E7\u00E3o da linguagem. Como isso ocorre em uma extens\u00E3o da linguagem, novas sem\u00E2nticas s\u00E3o introduzidas e a linguagem \u00E9 enriquecida no processo. \u00C9 relacionada com a metaprograma\u00E7\u00E3o, mas n\u00E3o envolve a gera\u00E7\u00E3o de c\u00F3digo fonte, pelo menos visivelmente ao programador. \u00C9 diferente tamb\u00E9m da programa\u00E7\u00E3o por macros, j\u00E1 que esta refere-se somente a busca e substitui\u00E7\u00E3o de termos, n\u00E3o fazendo parte da gram\u00E1tica da linguagem, implementada somente na fase de pr\u00E9-processamento do c\u00F3digo. Para efeitos pr\u00E1ticos, o paradigma permite que um par\u00E2metro assuma diferentes tipos de dados desde que certas regras sejam mantidas, como sub-tipos e assinaturas. Por exemplo, para criar uma lista usando programa\u00E7\u00E3o gen\u00E9rica, uma poss\u00EDvel declara\u00E7\u00E3o seria List&lt;T&gt;, no qual T \u00E9 o tipo de dado. Para instanciar, poderia-se usar List&lt;Inteiro&gt; ou List&lt;Animal&gt;, j\u00E1 que o conceito de lista independe do tipo utilizado. Entre linguagens orientadas a objeto, C++, Linguagem D, BETA, Eiffel e vers\u00F5es de Java (1.5 e acima) fornecem o paradigma gen\u00E9rico. Visual Basic . NET, C# e Delphi. Net come\u00E7aram a fornecer o paradigma a partir do . NET 2.0. Muito antes de todas as linguagens mencionadas, programa\u00E7\u00E3o gen\u00E9rica j\u00E1 havia sido implementada na d\u00E9cada de 1970 em linguagens como CLU e Ada. Mas somente o conceito de templates do C++ que popularizou o conceito. A t\u00E9cnica permite que algoritmos sejam escritos independente dos tipos de dados utilizados. Os autores do conceituado livro de 1995 Design Patterns referem-se \u00E0 programa\u00E7\u00E3o gen\u00E9rica como tipos parametrizados, o que permite que um tipo possa ser definido sem especificar todos os outros tipos que ele utilizada. Os autores ainda descrevem que tal t\u00E9cnica \u00E9 muito poderosa, especialmente quando combinada com o padr\u00E3o Delegar."@pt ,
		"\u0423\u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0435\u043D\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F \u2014 \u043F\u0430\u0440\u0430\u0434\u0438\u0433\u043C\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F, \u0449\u043E \u043F\u043E\u043B\u044F\u0433\u0430\u0454 \u0432 \u0442\u0430\u043A\u043E\u043C\u0443 \u043E\u043F\u0438\u0441\u0456 \u0434\u0430\u043D\u0438\u0445 \u0456 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u0456\u0432, \u044F\u043A\u0438\u0439 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u0441\u0442\u043E\u0441\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0440\u0456\u0437\u043D\u0438\u0445 \u0442\u0438\u043F\u0456\u0432 \u0434\u0430\u043D\u0438\u0445, \u043D\u0435 \u0437\u043C\u0456\u043D\u044E\u044E\u0447\u0438 \u0441\u0430\u043C\u0438\u0439 \u0446\u0435\u0439 \u043E\u043F\u0438\u0441. \u0423 \u0442\u043E\u043C\u0443 \u0447\u0438 \u0456\u043D\u0448\u043E\u043C\u0443 \u0432\u0438\u0433\u043B\u044F\u0434\u0456 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F \u0440\u0456\u0437\u043D\u0438\u043C\u0438 \u043C\u043E\u0432\u0430\u043C\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F. \u041C\u043E\u0436\u043B\u0438\u0432\u043E\u0441\u0442\u0456 \u0443\u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0435\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F \u0432\u043F\u0435\u0440\u0448\u0435 \u0437'\u044F\u0432\u0438\u043B\u0438\u0441\u044F \u0432 70-\u0445 \u0440\u043E\u043A\u0430\u0445 \u0443 \u043C\u043E\u0432\u0430\u0445 CLU \u0456 Ada, \u0430 \u043F\u043E\u0442\u0456\u043C \u0443 \u0431\u0430\u0433\u0430\u0442\u044C\u043E\u0445 \u043E\u0431'\u0454\u043A\u0442\u043D\u043E-\u043E\u0440\u0456\u0454\u043D\u0442\u043E\u0432\u0430\u043D\u0438\u0445 \u043C\u043E\u0432\u0430\u0445, \u0442\u0430\u043A\u0438\u0445 \u044F\u043A C++, Java, D \u0456 \u043C\u043E\u0432\u0430\u0445 \u0434\u043B\u044F \u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0438 . NET."@uk ,
		"\u6CDB\u578B\u7684\u5B9A\u7FA9\u4E3B\u8981\u6709\u4EE5\u4E0B\u5169\u7A2E\uFF1A \u5728\u7A0B\u5E8F\u7DE8\u78BC\u4E2D\u4E00\u4E9B\u5305\u542B\u985E\u578B\u53C3\u6578\u7684\u985E\u578B\uFF0C\u4E5F\u5C31\u662F\u8AAA\u6CDB\u578B\u7684\u53C3\u6578\u53EA\u53EF\u4EE5\u4EE3\u8868\uFFFD"@zh ,
		"Generisk programmering er en paradigme for programmering av datamaskiner. Generisk programmering inneb\u00E6rer at man programmerer med allmenne typer. Kildekoden fungerer med vilk\u00E5rlige typer, og den egentlige typen er parameter. Kompilatoren generer da kode som passer for hver forskjellig type som er brukt. Hensikten med generisk programmering er \u00E5 gjenbruke kode, samt \u00E5 kunne starte med kravene til algoritmen, i stedet for kravene til typen som ved objektorientert programmering. Programmeringsspr\u00E5k som har st\u00F8tte for generisk programmering inkluderer Java, C++, Ada, Eiffel og Common Lisp. Et eksempel p\u00E5 generisk programmering i utstrakt bruk er standardbiblioteket til C++. Her er et eksempel i C++ av Alexander Stepanov, en av arkitektene bak dette biblioteket: template &lt;class StrictWeakOrdered&gt; inline StrictWeakOrdered&amp; max(StrictWeakOrdered&amp; x, StrictWeakOrdered&amp; y) return x &lt; y ? y : x; Koden over tar inn en type som parameter (StrictWeakOrdered) og returnerer den st\u00F8rste verdien."@no ,
		"\u041E\u0431\u043E\u0431\u0449\u0451\u043D\u043D\u043E\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435\u00A0\u2014 \u043F\u0430\u0440\u0430\u0434\u0438\u0433\u043C\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u0437\u0430\u043A\u043B\u044E\u0447\u0430\u044E\u0449\u0430\u044F\u0441\u044F \u0432 \u0442\u0430\u043A\u043E\u043C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u0438 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u043E\u0432, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043C\u043E\u0436\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043A \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u044B\u043C \u0442\u0438\u043F\u0430\u043C \u0434\u0430\u043D\u043D\u044B\u0445, \u043D\u0435 \u043C\u0435\u043D\u044F\u044F \u0441\u0430\u043C\u043E \u044D\u0442\u043E \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435. \u0412 \u0442\u043E\u043C \u0438\u043B\u0438 \u0438\u043D\u043E\u043C \u0432\u0438\u0434\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u044F\u0437\u044B\u043A\u0430\u043C\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F. \u0412\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438 \u043E\u0431\u043E\u0431\u0449\u0451\u043D\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432\u043F\u0435\u0440\u0432\u044B\u0435 \u043F\u043E\u044F\u0432\u0438\u043B\u0438\u0441\u044C \u0432 70-\u0445 \u0433\u043E\u0434\u0430\u0445 \u0432 \u044F\u0437\u044B\u043A\u0430\u0445 CLU \u0438 Ada, \u0430 \u0437\u0430\u0442\u0435\u043C \u0432\u043E \u043C\u043D\u043E\u0433\u0438\u0445 \u043E\u0431\u044A\u0435\u043A\u0442\u043D\u043E-\u043E\u0440\u0438\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u044F\u0437\u044B\u043A\u0430\u0445, \u0442\u0430\u043A\u0438\u0445 \u043A\u0430\u043A C++, Java, D \u0438 \u044F\u0437\u044B\u043A\u0430\u0445 \u0434\u043B\u044F \u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u044B . NET."@ru ,
		"Programowanie uog\u00F3lnione (lub generyczne, z ang. Generic Programming) jest jednym z paradygmat\u00F3w programowania. Programowanie uog\u00F3lnione pozwala na pisanie kodu programu bez wcze\u015Bniejszej znajomo\u015Bci typ\u00F3w danych, na kt\u00F3rych kod ten b\u0119dzie pracowa\u0142. Obecnie wiele j\u0119zyk\u00F3w programowania ma mo\u017Cliwo\u015B\u0107 wykorzystywania uog\u00F3lnie\u0144, np. C++, D, Java, Haskell. Programowanie uog\u00F3lnione ma bliski zwi\u0105zek z Metaprogramowaniem, w przeciwie\u0144stwie jednak do metaprogramowania, nie wymaga od programisty generowania kodu w spos\u00F3b jawny. Programowanie uog\u00F3lnione umo\u017Cliwia w pewnym sensie j\u0119zykom statycznie typowanym na polimorfizm typ\u00F3w. W j\u0119zykach C++ czy D programowanie uog\u00F3lnione umo\u017Cliwiaj\u0105 szablony. W j\u0119zykach Java, C#, VB. NET, Haskell, Eiffel s\u0142u\u017C\u0105 do tego typy generyczne (lub inaczej uog\u00F3lnione)."@pl ,
		"Generic programming is 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. This approach, pioneered by Ada in 1983, permits writing common functions or types that differ only in the set of types on which they operate when used, thus reducing duplication. Software entities created using generic programming are known as generics in Ada, Eiffel, Java, C#, Visual Basic . NET and Haskell; templates in C++; and parameterized types in the influential 1994 book Design Patterns. The authors of Design Patterns note that this technique, especially when combined with delegation, is very powerful but that \"Dynamic, highly parameterized software is harder to understand than more static software. \" Generic programming refers to features of certain statically typed programming languages that allow some code to effectively circumvent the static typing requirements. For instance in C++, a template is a routine in which some parameters are qualified by a type variable. Since code generation in C++ depends on concrete types, the template is specialized for each combination of argument types that occur in practice. Generic programming is commonly used to implement containers such as lists and hash tables and functions such as a particular sorting algorithm for objects specified in terms more general than a concrete type."@en ,
		"Genericiteit of generics is een voorziening voor programmeertalen die generiek programmeren toestaat. Dit betekent dat algoritmes kunnen worden geschreven in een bepaalde syntaxis waarbij de algoritmes adaptief zijn maar tevens nog door de compiler ge\u00EFnstantieerd kunnen worden. Zo kunnen algoritmes generiek worden geschreven zonder snelheidsverlies. Een sorteeralgoritme hoeft zich met behulp van generiek programmeren niet bezig te houden met wat voor datatype het precies sorteert, maar alleen hoe het dat doet. Generiek programmeren ligt dicht tegen meta-programmeren aan, een techniek waarbij aan de hand van bepaalde broncode weer nieuwe broncode wordt geprogrammeerd, die daarna wordt gecompileerd. Bij generiek programmeren gaat het echter om een syntactische en semantische uitbreiding in de programmeertaal en wordt er niet direct 'nieuwe' broncode gegenereerd. Genericiteit werd rond 1970 onderdeel van een aantal programmeertalen, zoals CLU, Ada. Later werd de techniek ook onderdeel van veel andere object-ge\u00F6ri\u00EBntieerde talen, zoals C++, C#, Eiffel en Java (vanaf versie 1.5)."@nl ,
		"Een template of een generic (type) is een sjabloon voor een stuk code. Met behulp van templates is het mogelijk een stuk broncode te generaliseren, zodat het voor meer object types bruikbaar is. Templates zijn beschikbaar in de programmeertaal C++, maar sinds enige tijd ook in andere talen, zoals Java en C#. Soms worden templates ook wel aangeduid met de term 'generics'. Templates kunnen gebruikt worden met functies en met klasses. Veel talen gebruiken ze bij container-klassen, die door gebruik van templates 'type-safe' worden."@nl ;
	rdfs:comment	"\u041E\u0431\u043E\u0431\u0449\u0451\u043D\u043D\u043E\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435\u00A0\u2014 \u043F\u0430\u0440\u0430\u0434\u0438\u0433\u043C\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u0437\u0430\u043A\u043B\u044E\u0447\u0430\u044E\u0449\u0430\u044F\u0441\u044F \u0432 \u0442\u0430\u043A\u043E\u043C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u0438 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u043E\u0432, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043C\u043E\u0436\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043A \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u044B\u043C \u0442\u0438\u043F\u0430\u043C \u0434\u0430\u043D\u043D\u044B\u0445, \u043D\u0435 \u043C\u0435\u043D\u044F\u044F \u0441\u0430\u043C\u043E \u044D\u0442\u043E \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435. \u0412 \u0442\u043E\u043C \u0438\u043B\u0438 \u0438\u043D\u043E\u043C \u0432\u0438\u0434\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0440\u0430\u0437\u043D\u044B\u043C\u0438 \u044F\u0437\u044B\u043A\u0430\u043C\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F."@ru ,
		"Genericiteit of generics is een voorziening voor programmeertalen die generiek programmeren toestaat. Dit betekent dat algoritmes kunnen worden geschreven in een bepaalde syntaxis waarbij de algoritmes adaptief zijn maar tevens nog door de compiler ge\u00EFnstantieerd kunnen worden. Zo kunnen algoritmes generiek worden geschreven zonder snelheidsverlies."@nl ,
		"Programa\u00E7\u00E3o gen\u00E9rica \u00E9 um paradigma de programa\u00E7\u00E3o no qual os algoritmos s\u00E3o escritos em uma gram\u00E1tica estendida de forma a adaptar-se atrav\u00E9s da especifica\u00E7\u00E3o das partes vari\u00E1veis que s\u00E3o definidas na inst\u00E2ncia do algoritmo. Especificamente, a gram\u00E1tica estendida eleva um elemento n\u00E3o vari\u00E1vel ou uma constru\u00E7\u00E3o impl\u00EDcita na gram\u00E1tica base para uma vari\u00E1vel ou constante, permitindo a utiliza\u00E7\u00E3o do c\u00F3digo gen\u00E9rico."@pt ,
		"Generic programming is 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. This approach, pioneered by Ada in 1983, permits writing common functions or types that differ only in the set of types on which they operate when used, thus reducing duplication."@en ,
		"\u0423\u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0435\u043D\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F \u2014 \u043F\u0430\u0440\u0430\u0434\u0438\u0433\u043C\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F, \u0449\u043E \u043F\u043E\u043B\u044F\u0433\u0430\u0454 \u0432 \u0442\u0430\u043A\u043E\u043C\u0443 \u043E\u043F\u0438\u0441\u0456 \u0434\u0430\u043D\u0438\u0445 \u0456 \u0430\u043B\u0433\u043E\u0440\u0438\u0442\u043C\u0456\u0432, \u044F\u043A\u0438\u0439 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u0441\u0442\u043E\u0441\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0440\u0456\u0437\u043D\u0438\u0445 \u0442\u0438\u043F\u0456\u0432 \u0434\u0430\u043D\u0438\u0445, \u043D\u0435 \u0437\u043C\u0456\u043D\u044E\u044E\u0447\u0438 \u0441\u0430\u043C\u0438\u0439 \u0446\u0435\u0439 \u043E\u043F\u0438\u0441. \u0423 \u0442\u043E\u043C\u0443 \u0447\u0438 \u0456\u043D\u0448\u043E\u043C\u0443 \u0432\u0438\u0433\u043B\u044F\u0434\u0456 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F \u0440\u0456\u0437\u043D\u0438\u043C\u0438 \u043C\u043E\u0432\u0430\u043C\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F."@uk ,
		"En programmation, la g\u00E9n\u00E9ricit\u00E9 d'une fonction repose sur son ind\u00E9pendance vis-\u00E0-vis du type, et \u00E9ventuellement du nombre, de ses arguments. C'est un concept important pour un langage de haut niveau car il permet d'augmenter le niveau d'abstraction du langage. Plusieurs m\u00E9canismes visant \u00E0 permettre l'\u00E9criture de fonctions g\u00E9n\u00E9riques ont donc \u00E9t\u00E9 mis en \u0153uvre par les diff\u00E9rents langages de programmation."@fr ,
		"Generische Programmierung ist ein Verfahren zur Entwicklung wiederverwendbarer Software-Bibliotheken. Dabei werden Funktionen m\u00F6glichst allgemein entworfen, um f\u00FCr unterschiedliche Datentypen und Datenstrukturen verwendet werden zu k\u00F6nnen. Die Implementierung erfolgt bei einigen Programmiersprachen durch das Konzept generischer Typen bzw."@de ,
		"Z\u00E1kladn\u00ED my\u0161lenkou, kter\u00E1 se skr\u00FDv\u00E1 za pojmem generick\u00E9 programov\u00E1n\u00ED, je rozd\u011Blen\u00ED k\u00F3du programu na algoritmus a datov\u00E9 typy takov\u00FDm zp\u016Fsobem, aby bylo mo\u017En\u00E9 z\u00E1pis k\u00F3du algoritmu ch\u00E1pat jako obecn\u00FD, bez ohledu nad jak\u00FDmi datov\u00FDmi typy pracuje. Konkr\u00E9tn\u00ED k\u00F3d algoritmu se z n\u011Bj st\u00E1v\u00E1 dosazen\u00EDm datov\u00E9ho typu. U kompilovan\u00FDch jazyk\u016F doch\u00E1z\u00ED k rozvinut\u00ED k\u00F3du v dob\u011B p\u0159ekladu."@cs ,
		""@ja ,
		"\u6CDB\u578B\u7684\u5B9A\u7FA9\u4E3B\u8981\u6709\u4EE5\u4E0B\u5169\u7A2E\uFF1A \u5728\u7A0B\u5E8F\u7DE8\u78BC\u4E2D\u4E00\u4E9B\u5305\u542B\u985E\u578B\u53C3\u6578\u7684\u985E\u578B\uFF0C\u4E5F\u5C31\u662F\u8AAA\u6CDB\u578B\u7684\u53C3\u6578\u53EA\u53EF\u4EE5\u4EE3\u8868\uFFFD"@zh ,
		"Een template of een generic (type) is een sjabloon voor een stuk code. Met behulp van templates is het mogelijk een stuk broncode te generaliseren, zodat het voor meer object types bruikbaar is. Templates zijn beschikbaar in de programmeertaal C++, maar sinds enige tijd ook in andere talen, zoals Java en C#. Soms worden templates ook wel aangeduid met de term 'generics'. Templates kunnen gebruikt worden met functies en met klasses."@nl ,
		"Programowanie uog\u00F3lnione (lub generyczne, z ang. Generic Programming) jest jednym z paradygmat\u00F3w programowania. Programowanie uog\u00F3lnione pozwala na pisanie kodu programu bez wcze\u015Bniejszej znajomo\u015Bci typ\u00F3w danych, na kt\u00F3rych kod ten b\u0119dzie pracowa\u0142. Obecnie wiele j\u0119zyk\u00F3w programowania ma mo\u017Cliwo\u015B\u0107 wykorzystywania uog\u00F3lnie\u0144, np. C++, D, Java, Haskell."@pl ,
		"Generisk programmering er en paradigme for programmering av datamaskiner. Generisk programmering inneb\u00E6rer at man programmerer med allmenne typer. Kildekoden fungerer med vilk\u00E5rlige typer, og den egentlige typen er parameter. Kompilatoren generer da kode som passer for hver forskjellig type som er brukt. Hensikten med generisk programmering er \u00E5 gjenbruke kode, samt \u00E5 kunne starte med kravene til algoritmen, i stedet for kravene til typen som ved objektorientert programmering."@no .
@prefix skos:	<http://www.w3.org/2004/02/skos/core#> .
@prefix ns9:	<http://dbpedia.org/resource/Category:> .
dbpedia:Generic_programming	skos:subject	ns9:Generic_programming .
@prefix ns10:	<http://dbpedia.org/resource/Template:> .
dbpedia:Generic_programming	dbpprop:wikiPageUsesTemplate	ns10:expert-subject .
@prefix ns11:	<http://dbpedia.org/resource/Template:javadoc:> .
dbpedia:Generic_programming	dbpprop:wikiPageUsesTemplate	ns11:se-guide ;
	dbpprop:date	"August 2009"@en ;
	dbpprop:javadocSeGuideProperty	"language/generics.html"@en ,
		"Generic Programming In Java"@en .
@prefix ns12:	<http://www4.wiwiss.fu-berlin.de/flickrwrappr/photos/> .
dbpedia:Generic_programming	dbpprop:hasPhotoCollection	ns12:Generic_programming .
@prefix dbpedia-owl:	<http://dbpedia.org/ontology/> .
<http://dbpedia.org/resource/Loki_%28C%2B%2B%29>	dbpedia-owl:genre	dbpedia:Generic_programming .
@prefix ns14:	<http://dbpedia.org/ontology/Work/> .
<http://dbpedia.org/resource/Loki_%28C%2B%2B%29>	ns14:genre	dbpedia:Generic_programming ;
	dbpprop:genre	dbpedia:Generic_programming ;
	dbpprop:paradigm	dbpedia:Generic_programming .
dbpedia:Generic	dbpprop:disambiguates	dbpedia:Generic_programming .
dbpedia:Genericity	dbpprop:redirect	dbpedia:Generic_programming .
dbpedia:Instantiation_of_template	dbpprop:redirect	dbpedia:Generic_programming .
dbpedia:Parameterized_class	dbpprop:redirect	dbpedia:Generic_programming .
dbpedia:Template_class	dbpprop:redirect	dbpedia:Generic_programming .
@prefix yago:	<http://mpii.de/yago/resource/> .
yago:Generic_programming	owl:sameAs	dbpedia:Generic_programming .
@prefix ns16:	<http://dbpedia.org/resource/Polymorphism_in_object-oriented_programming/> .
ns16:further2	dbpprop:furtherProperty	dbpedia:Generic_programming .