I just started to peek into the docs and source (Drupal 6 at the moment) and noticed that there are no classes to be seen, only vast number of prefixed functions. Is this handy? Does such decision have a background? Why?
This is pretty well explained on Drupal programming from an object-oriented perspective.
In short, Drupal has existed for much longer than you could properly use OOP in PHP. Which means, PHP5.
Drupal 7 already uses classes internally in a lot of places and it will probably continue so with Drupal 8.
But this is a step by step process and not everything needs to be a class. For example, it does not make any sense to make modules into a single class.