“The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.”
—Joe Armstrong, interviewed in Coders at Work
When a programmer says “object,” this is a loaded term. In my profession, objects are a way of life, the subject of holy wars, and a beloved buzzword that still hasn’t quite lost its power.
To an outsider, this is probably a little confusing. Let’s start with a brief history of objects as a programming construct.
This story, like most programming stories, starts with the problem of complexity. One philosophy is that complexity can be made manageable ...