I've been reading recently a bit about Aristotle and his theory of universals. His idea was that most things in the universe are types of a universal. A universal was like a generic set of characteristics, and things were concrete examples. For example,
man was a universal, but Fred, Joe and Jim from around the corner are things which are instances of that universal object. Universals don't actually exist on their own, but only "in" things which instantiate them. There is no such thing as a universal generic man, but there are several examples of things which are instantiations of the universal man.
Does that sound a bit familiar? Swap "universal" for "class" and "things" for "object", and he's not far off OOP. OK, so Aristotle was a bit off the mark for using it to model the universe instead of trying to develop a nice
EJB application, but it's not bad for someone 2,000 years before the invention of the computer.
There you go then,
Java isn't just a modern science, it's an extension of an ancient
philosophy. We are all philosophers!