C++ как шаз за ООП
От: Курилка Россия http://kirya.narod.ru/
Дата: 08.12.04 10:18
Оценка: :)
Почитал тут на днях статейку, очень спорная, но вот соглашусь, что ООП ограничивает зачастую программиста иерархичностью своей структуры (ограниченность наследования как парадигмы), когда реально дизайн программы выливается в дерево (в лучшем случае в лес, но тут необходимо мн. наследование).
Возмём широкоупотребительные языки С++, Java и C#. Получаем, что последние оба затиснуты в рамки как раз этой "древовидности". А плюсы (как бы их не матюгали и не говорили что это язык отживающий своё уже) на данный момент имеют более свободную от связи парадигму, назовём её "generic prgramming". Т.е. те же шаблоны на свои параметры не накладывают (если программист не извратится ) ограничений, аля, что он должен наследоваться от опр. класса, а ограничивают некое подмножество интерфейса класса (а может и примитивного типа), возможно очень простое (аля возможность присваивания между экземплярами и операция сравнения между ними).
Generics, имхо (да и не только имхо вроде) не могут заменить шаблоны C++, т.к. это всёже идиома runtime, а не этапа компиляции как в C++.
Так чтоже C++ — это шаг назад или вперёд? (тоже самое можно про C# сказать, только тут будет ситуация наоборот, я думаю)

Буду рад услышать люб. мнения
Re: C++ как шаз за ООП
От: Shady Россия  
Дата: 08.12.04 10:39
Оценка: +2
Здравствуйте, Курилка, Вы писали:

К>Почитал тут на днях статейку, очень спорная, но вот соглашусь, что ООП ограничивает зачастую программиста иерархичностью своей структуры (ограниченность наследования как парадигмы), когда реально дизайн программы выливается в дерево (в лучшем случае в лес, но тут необходимо мн. наследование).

К сожалению статейку всё не прочитал (добрался до коммунизма, как эти америкосы задолбали уже :lol.
Критика более менее здравая, но из моей практики я делаю вывод, что ООП наиболее отлаженная парадигма программирования и она наиболее подходит для "понимания". Еще более отлаженная парадигма — это структурное программирование. Но приемущества ООП на СП очевидны.

К>А плюсы (как бы их не матюгали и не говорили что это язык отживающий своё уже)

Ну я не разу не матюгал C++, на нём можно всё и даже больше, чем на C#, Java и компании. А в грамотных руках это просто убойный инструмент.

К>Так чтоже C++ — это шаг назад или вперёд? (тоже самое можно про C# сказать, только тут будет ситуация наоборот, я думаю)

Думую уровня C++ C# будет доходить долго. На C# конечно удобно писать для оффшорки, мелкие проги и т.д. Но когда надо делать mainstream программы, которые должны быть быстрыми и компактными, то C++ улетает вперед. А выразительности C# на C++ можно добиться как раз теме же шаблонами, а вот наоборот не получиться.
"Man feed machine
Machine feed man"
Peter Gabriel — OVO — The Tower That Ate People
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.