забавно с ООП получается. В книжках для начинающих пишут что-то вроде "смоделировать сущности реального мира" и иллюстрируют это иерархией "базовый класс Frukt - производный класс Yabloko". Смоделировать сущности реального мира, конечно, неплохо (DSL-подход рулит и бибикает), но только ООП-код при этом получается, мягко говоря, хуёвый. Затем мы берём умные книжки типа GoF и начинаем писать ООП-код получше, но на моделирование реального мира забиваем болт (ну нету в реальном мире абстрактных фабрик, НЕТУ!) Соответственно, если эта черта уже пройдена - внятных аргументов за ООП у человека нет. Если не пройдена - аргумент есть, но код хуёвый.
(с) migmit.vox.com
ООП по Алану Кею, имхо, гораздо красивее (хоть его и надо делать руками, т.к. писать на Эрланге я пока не готов). Зато результаты гораздо более приятные глазу. А полиморфизм и наследование – это так, синтаксический сахар.
Зато программистов сколько этим кормится… у…
Да, я не имею ничего против OOD. Я про то, что классы в Java/C# называют "ООП".