Generic programming vs OOP (плачь Ярославны)

MasterZiv
Дата: 08.12.2014 20:50:09
Я вот чувствую, что с приходом GP программист лишается концепции "чёрного ящика", которая всегда железно работала в OOP.
Нет более границы между библиотечным кодом и его клиентом. В OOP такая граница всегда была -- вот моя библиотека, а вот -- код моего клиента. Я "тут" внутри могу делать всё, что хочу, а он "там" тоже может делать всё, что хочет, и не лезть в мои потроха.

Теперь в GP так, увы, не получается. Мне, как клиенту какого-то библиотечного кода, не достаточно знать только интерфейс этого кода, мне приходится постигать и его внутренности, чтобы удовлетворить требования этого кода к моему вызывающему.

А Concepts в С++ так и не ввели.

----
Читал хинты оракла. Много думал...
NekZ
Дата: 09.12.2014 01:27:54
...
ну понавтыкать разных проверок из boost MPL везде, чтобы было понятно сразу какие потребности у GP кода
SashaMercury
Дата: 09.12.2014 01:57:15
Здравствуйте C:
MasterZiv,
мне казалось что GP наоборот ещё один уровень абстракции. Разве нет ? Не понятно как она мешает ООП
PS
уже хочется изучить подробно ООП, а то вы тут такие темы порой обсуждаете, а мне так мало понятно( В 2015 начну, может быть
White Owl
Дата: 09.12.2014 02:58:22
MasterZiv,

Ну воооот... А пару лет тому назад кто-то пинал меня за нелюбовь к шаблонам...
Наконец и ты прозрел :)
Anatoly Moskovsky
Дата: 09.12.2014 03:39:49
Вы просто не умеете их готовить :)
MasterZiv
Дата: 09.12.2014 07:54:00
White Owl
MasterZiv,

Ну воооот... А пару лет тому назад кто-то пинал меня за нелюбовь к шаблонам...
Наконец и ты прозрел :)


я их все время недолюбливал.
я считаю вообще, что внедрение шаблонов в С++ - величайшая ошибка Страустрапа.
MasterZiv
Дата: 09.12.2014 07:55:14
Anatoly Moskovsky
Вы просто не умеете их готовить :)

готовить умею.
не умел бы - не готовил и не жаловался.
mayton
Дата: 09.12.2014 08:46:28
Я-бы не стал противопоставлять один механизм другому.
petalvik
Дата: 09.12.2014 09:37:30
MasterZiv
я считаю вообще, что внедрение шаблонов в С++ - величайшая ошибка Страустрапа.

А я считаю, что только благодаря наличию шаблонов C++ до сих пор жив.
Без шаблонов пришлось бы писать тонны одинакового кода. Без шаблонов была бы невозможна большая часть Boost'а.

Есть в шаблонах существенный недостаток: отсутствие возможности ввода-вывода. Вот добавили бы ввод-вывод, чтобы из шаблона можно было конфиг прочитать на этапе компиляции, или паче того, в БД метнуться, и тогда метапрограммирование заиграет яркими красками. И всякие Лиспы со Схемами будут преданы забвению.
mayton
Дата: 09.12.2014 11:05:40
petalvik
Есть в шаблонах существенный недостаток: отсутствие возможности ввода-вывода. Вот добавили бы ввод-вывод, чтобы из шаблона можно было конфиг прочитать на этапе компиляции, или паче того, в БД метнуться, и тогда метапрограммирование заиграет яркими красками. И всякие Лиспы со Схемами будут преданы забвению.

Это потребует создания нового языка. Если мы хотим его "отделить" от С++.