waving android

I am currently a software engineer at Google, where as a member of the Android platform team I build frameworks and user interfaces.

The blog here at is mostly historical; you can find more recent posts on .

I recently ran across this transcript of remarks by Guy Steele, Objects Have Not Failed, from last year.

October 16th, 2003

I recently ran across this transcript of remarks by Guy Steele, Objects
Have Not Failed
, from last year. The short version of why OOP rules
over purely functional programming is succinct and sufficient —
“Ongoing behavior, not completion, is now of primary
interest” — but I recommend you read the whole speech. His
characteristic wit and insight are apparent at every turn:

Now, objects don’t solve all the problems of programming. For
example, they don’t provide polymorphic type abstraction (that
is, generic types). They don’t provide syntactic abstraction
(that is, macros). Procedural programming still has its place
in the coding of methods. But to say that objects have failed
because they don’t solve all possible problems is like saying
carbohydrates have failed because you can’t live on pure sugar.
Object-oriented programming is like money, as the old joke has
it: It’s not everything, but it’s way ahead of whatever’s in
second place.

The other side of this debate (conducted orally at OOPSLA ’02) is, of
course, the assertion that Objects
Have Failed
(opening remarks; also available: full PDF
notes
).

newer: older: