Radovan links to and has high praise for a presentation by Steve Jones. I guess you had to be there … anyway, I simply can’t resist attacking one of my favorite pet peeves: the idea that OO was and is successful because “objects model things from the real world”. In my former job I interviewed close to a hundred job applicants (in two years, as opposed to about 20 in the past six years); one of my routine questions was “How would you explain OO?”
Anyone answering with the standard real-world boilerplate had a hard time finding a good answer why, in this respect, an “Order” class should be in any way different from an Order struct in C or an Order table in an RDBMS …
OO successful because objects represent real-world things? You mean, like, files, application windows, linked lists?