Object oriented design patterns in the Linux kernel (2011)
lwn.net
lwn.net
The Power of Interoperability: Why Objects Are Inevitable
A pretty good paper to point people to when they mouth inanities like "OOD/OOP are bad-ideas/dead" etc. This sort of negative cargo-culting has now gotten so out of hand that you have new programmers today not wanting to learn classic OO design/techniques. They merely parrot what they had read somewhere (usually some abuse of OO inheritance techniques) without thinking/learning for themselves and thus throw the "baby out with the bathwater". The OO paradigm has been the single most effective imperative model for "programming-in-the-large" which has directly led to explosion in the software industry as it is today.
Many modern languages include many OO features but don't advertise them as such because too often it induces a religious reflex, like shouting "socialism" in America.
Though it also talks about dynamic systems like Smalltalk and GTK+, not sure if the comparison should be to statically typed languages.