Object-oriented programming
Modula-3
Modula-2+
Modula-2
Abstraction
Go
Subtype polymorphism
Jim Horning
Interface
Computing
Software engineering
Computer programming