Re[11]: Кому ваще этот С++ нужен?
От: 0BD11A0D  
Дата: 27.05.15 17:28
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Нет, далеко не все. Например он не покажет что этот объект может быть аргументом у метода другого объекта


Потому, что это информация не об объекте.

EP>это скорее вопрос к IDE — пусть делают новые формы дополнения, а не только "через точку"


Это принципиально невозможно.

BDA>>Альтернатива — курить маны. То есть, вышел новый стандарт, новый STL, новый boost и вы должны сразу прочитать, понять и запомнить все, что написано в сопроводиловке.

EP>Читать документацию придётся в любом случае, чтобы знать контракты.

В хорошем коде контракты выражены через него же. Но даже если нет, индекс контрактов нужен как отдельный инструмент всегда.

EP>А это вообще ортогонально. Декомпозицию на контейнеры и алгоритмы можно делать и в что называется в "true OO style". То есть смотришь ты "с высоты птичьего полета" на класс UTF-8 строки, и видишь что она реализует IBidirectionalSequence, далее смотришь на алгоритмы которые принимают IBidirectionalSequence — и находишь там to_lower, split или что там нужно.


Когда вы покажете, что в IDE можно сделать интеллисенс, не основанный на инкапсуляции, я соглашусь. Но выше я утверждаю, что это невозможно. Однако бремя доказательства обратного я возлагаю на вас — ведь это вы написали «пусть делают новые формы дополнения», вам и показывать, КАК ИМЕННО.

EP>Или ты против такой декомпозиции вообще? Тогда например для каждой строки (и контейнера в общем) придётся придётся реализовывать каждый алгоритм — M контейнеров * N алгоритмов


Зачем? Если алгоритму не важен тип контейнера, он может быть реализован в классе АбстрактныйКонтейнер, а затем переопределен в более специфическом классе. Никакого комбинаторного взрыва.

BDA>>Как раз вынесение алгоритмов за пределы классов принципиально и не дает воспользоваться этим преимуществом ООП. Процедурщина и хендловщина в полный рост.


EP>Ты так говоришь как будто "true OOP" это всегда хорошо, а "процедурщина" плохо.


С меня будет достаточно, если вы подтвердите, что стандартная библиотека C++ — не true OOP. Хорошо это или плохо, мы поговорим в другой раз.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.