

Why OO may not suck, or, Take a ride on the Falsus Omnibus - Rickasaurus
http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/11/why-oo-is-not-so-bad-but-could-be-better.aspx

======
cchooper
> Wouldn’t having functions be first class citizens be locking them in the
> same cage with data structures as well?

An important difference between first-class functions and objects is that
first-class functions are still _functions._ Closures are also functions, even
though they merge data and code together just like objects do. But objects
merge data and functions to form something that's neither data nor a function.

This, I think, is a shame. Data and functions are the most important
abstractions in computer science. Objects not so much. If you aren't
simulating something, then there's no natural ontology that you want to model
with objects. By comparison almost _every_ system needs to process data. The
data about an object is not itself an object, and it doesn't help matters to
conceive of it as an object.

