In c#, we have interfaces. Where did these come from? They didn\'t exist in c++.
Interfaces were also a central part of COM, which was a very successful technology for separating interfaces from implementation.
I was under the impression that the first formalized concept of interfaces came from Objective-C (called "protocols"). I can tell you for sure that Java at least got the idea from Objective-C, so it wasn't Java that had interfaces first.
Email from Patrick Naughton
Interfaces were also used in CORBA. Interface Definition Language (IDL) was used to describe interfaces independently of whatever language the object was implemented in. This separated not only interface and implementation, but also interface and language binding.
It's just another layer of abstraction. Not really sure where it came from.. I still often hear them called contracts rather than interfaces.
i've seen the keyword interface first in java, but they are much older than that.
the same concept exists in c++ but it is not exactly the same. They are called "pure virtual classes"
http://en.wikipedia.org/wiki/Virtual_function
They exists with different syntax but are there to allow polymorphism in OOP.
C++ allows for multiple inheritance. When Java was developed, single inheritance was decided upon however classes were allowed to implement multiple interfaces. C# carried forward this concept.