Qual foi o primeiro idioma com suporte a programação genérica e qual foi a primeira linguagem principal com tipagem estática (amplamente usada) com suporte a genéricos.
Os genéricos implementam o conceito de tipos parametrizados para permitir vários tipos. O termo genérico significa "pertencente a ou apropriado para grandes grupos de classes".
Eu vi as seguintes menções de "primeiro":
O polimorfismo paramétrico de primeira ordem agora é um elemento padrão das linguagens de programação com tipos estatísticos. Começando com o System F [20,42] e os idiomas de programação funcional, as construções chegaram às linguagens populares, como Java e C #. Nessas linguagens, o polimorfismo paramétrico de primeira ordem é geralmente chamado de genérico.
De " Genéricos de um tipo superior" , Adriaan Moors, Frank Piessens e Martin Odersky
Programação genérica é um estilo de programação de computador no qual os algoritmos são escritos em termos de tipos a serem especificados posteriormente, que são instanciados quando necessário para tipos específicos fornecidos como parâmetros. Essa abordagem, pioneira em Ada em 1983
Da programação genérica da Wikipedia
fonte
Antes dos genéricos, havia modelos e antes dessa substituição de macro.
fonte