Не знаю в каком идеальном мире Вы живете, но все не так прекрасно как Вы говорите, но и не так плохо, как говорится в статье. Надо понимать, что проблемы имеют место быть, и статья является гиперболизированным описанием ситуации, и это несомненно является задумкой автора, чтобы обратить внимание сообщества и призвать к дискуссии.
С большой долей вероятности, если вы пишете свою объектную модель, а не вписываете обработчики нажатий кнопок в каком-нить ОО фреймворке, то там будут абстрактные классы.
Ну тогда не употребляйте термины, которые сами же и оспариваете. Никакой тут тайны нет, границы STL не просто размыты, их просто нет, потому как нет и STL, если уж говорить точно.
Что касается абстрактных классов, в плюсовом коде они встречаются нередко, взять тот же COM, или например библиотеку OPAL, и еще кучу других.
Насчет интерфейсов, которые Вам встречаются, Вы так и не ответили.
Вы не с той стороны подходите к вопросу. Интерфейс это не синтаксический сахар, это концепция в рассматриваемой парадигме. С точки зрения реализации в конкретном языке интерфейс может быть специальной конструкцией, которая описывает именно интерфейс, либо роль интерфейса выполняет например абстрактный класс. Но при этом само понятие интерфейса никак не является классом само по себе. Абстрактный класс это другая сущность, похожая по функциональным возможностям, и в частных случаях их заменяющая. Если брать в расчет конкретные реализации данной концепции, то никак нельзя сказать, что интерфейс это класс, ибо там где он есть это не класс.
А почему не наоборот? По всей логике как раз абстрактные классы — частный случай. Вот прикиньте сколько языков с интерфейсами как отдельными сущностями, и сколько в виде абстрактных классов.
Это частный случай, например в С++, т.к. там нет отдельных конструкций для описания интерфейсов. Более того, в С++ достаточно хотя бы одного pure virtual метода, чтобы класс стал абстрактным.
Абсолютно согласен, просто из Вашего первого коммента сложилось впечатление, что абстрактные классы бесполезны и никто их не использует.
Что касается абстрактных классов, в плюсовом коде они встречаются нередко, взять тот же COM, или например библиотеку OPAL, и еще кучу других.
Насчет интерфейсов, которые Вам встречаются, Вы так и не ответили.
Не сказать, чтобы на каждом шагу, но использую, но меня больше смутила фраза «А интерфейсы встречаются, да».
>не является частью stl, а просто часть стандартной библиотеки.
А тут мой мозг ушел в бесконечный цикл. Это вообще как? Что такое по Вашему STL?