See if you can do a quick survey and tell how many languages have something comparable to Java's interface. The concept of a pure abstract type like that has been around, but Kent Beck's Implementation
Patterns says something like Java is one of the first "mainstream, commercially successful" languages to have "interface" in the language.
I just had to look back at a Turbo Pascal program ... it had "Interface" and "Implementation" keywords to mark off blocks of code even before OO, but I don't recall them being polymorphic.