Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Which was the first language with generic programming support, and what was the first major staticly typed language (widely used) with generics support.

Generics implement the concept of parameterized types to allow for multiple types. The term generic means "pertaining to or appropriate to large groups of classes."

I have seen the following mentions of "first":

First-order parametric polymorphism is now a standard element of statically typed programming languages. Starting with System F [20,42] and functional programming lan- guages, the constructs have found their way into mainstream languages such as Java and C#. In these languages, first-order parametric polymorphism is usually called generics.

From "Generics of a Higher Kind", Adriaan Moors, Frank Piessens, and Martin Odersky

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

From Wikipedia Generic Programming

share|improve this question

3 Answers 3

up vote 0 down vote accepted

A bit earlier than Ada: http://en.wikipedia.org/wiki/Hindley-Milner#algorithm

First widely used implementation is http://en.wikipedia.org/wiki/ML_programming_language

share|improve this answer

Probably Lisp. It was more or less doing that in the 1960's. In fact if the question is what was the first language to do pretty much anything of note you will probably find it was lisp. Its kind of scary to realize that the cool new feature in language X was in fact the cool new feature of lisp in 1960!

share|improve this answer

Before generics there were templates, and before that macro substitution.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.