Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
up vote 5 down vote accepted

A bit earlier than Ada:

First widely used implementation is

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
Lisp was not statically typed so "generics" doesn't even make sense in that context. – Rufflewind Oct 1 '14 at 18:52
Well "Generics" only make sense for some kinds of static typing. There are many kinds of type systems that have different properties. – Zachary K Oct 1 '14 at 19:18

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

share|improve this answer

Your Answer


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.