Вот не ожидал
2010-09-22 22:04"...Крупный критик ООП -... известный специалист по программированию - Александр Степанов, который работая в Bell Labs участвовал в создании C++ вместе c Бьерном Страуструпом, а впоследствии, уже по приглашению в HP Labs, написал Standard Template Library (STL). Александр Александрович полностью разочаровался в парадигме ООП, в частности он пишет: "Я уверен, что ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, лишь тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой. Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы приходите к тому, что вы в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг - из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле".
(отсюда)
(отсюда)

no subject
Date: 2010-09-22 18:21 (UTC)ООП я тоже не люблю вместе с его основателем Арафатом.
no subject
Date: 2010-09-22 18:39 (UTC)А не надо было верить в серебряную пулю. Чрезмерные ожидания ведут к излишней фрустрации.
no subject
Date: 2010-09-22 18:58 (UTC)"Молодые сторонники теории относительности, массово пришедшие в номенклатуру университетов, тогда постепенно захватили власть в области преподавания физики, навязав свою, столь любимую интеллектуалами того времени, теорию относительности широким массам физиков. На самом деле, в то время имелись как положительные эксперименты и опыты, подтверждающие существование эфира, так и отрицательные. Первые были полностью проигнорированы и исключены административными мерами из всех учебников физики, после чего эфир был незаслуженно "закрыт" и отправлен в отставку, и вот, уже нынешнее поколение студентов-физиков даже и не знает о тех весьма успешных опытах по обнаружению эфирного ветра. "Ну и где мы теперь, с этой вашей красивой теорией относительности, кто-нибудь может мне назвать хоть какие-то реально-практические результаты её применения в вашей обыденной жизни после целого века её ковыряния и массового насаждения?"- как всегда язвительно вопрошает Гэбриел."
Он (Гэбриэл) бы ещё опыты Лысенко вспомнил.
no subject
Date: 2010-09-22 19:27 (UTC)Я и ООП уважаю, и STL ещё больше КУ...
Но зачем же мебель ломать?
no subject
Date: 2010-09-22 19:28 (UTC)no subject
Date: 2010-09-22 19:46 (UTC)В вычтехнике аксиоматика не сильно поменялась со времен Тьюринга-Винера. Переменная, операция, поток - вот и все. Как в геометрии точка, прямая и плоскость. Все остальное - и объекты в т.ч. - всего лишь производные от базовых примитивов.
no subject
Date: 2010-09-22 19:49 (UTC)no subject
Date: 2010-09-22 20:03 (UTC)no subject
Date: 2010-09-22 20:17 (UTC)no subject
Date: 2010-09-22 20:21 (UTC)no subject
Date: 2010-09-22 21:36 (UTC)Я хотел подтвердить Вашу правоту, и только. ))
no subject
Date: 2010-09-22 22:12 (UTC)это прямо исторический анекдот...
Спрашивается - чего ж раньше эти ребята жопой думали, а не головой ?
no subject
Date: 2010-09-22 23:56 (UTC)Я сам обманываться рад...
Date: 2010-09-23 04:16 (UTC)no subject
Date: 2010-09-23 07:00 (UTC)Во-первых нихрена непонятно как все это будет выполняться.
Во-вторых невозможно писать быстрый код. А если возможно - то нужно такие ухищрения вытворять, что диву даешься. До сих пор нет ни одной приличной библиотеки матричных вычислений. Только поделки недоделанные. А казалось бы все для этого. Можно плюсики и минусики переопределять. А вот хрен.
В-третьих убить страуструпа можно хотя бы за библиотеку стандартного вывода. Работает медленно, писать надо больше. Верните мне мой printf.
Я уж молчу, что чего-нибудь аналогичного по мощности scanf в С++ нет. А если есть - то это такой бред и тормоза при компиляции, что беда, беда, беда.
no subject
Date: 2010-09-23 09:22 (UTC)no subject
Date: 2010-09-25 08:38 (UTC)no subject
Date: 2010-09-25 08:47 (UTC)Когда сталкиваются красивые теоретические конструкции и реальный опыт разработки больших систем, интересные искры летят.
no subject
Date: 2010-09-25 08:49 (UTC)no subject
Date: 2010-09-25 08:54 (UTC)no subject
Date: 2010-09-25 08:56 (UTC)no subject
Date: 2010-09-25 08:57 (UTC)no subject
Date: 2010-09-25 08:57 (UTC)no subject
Date: 2010-09-25 09:05 (UTC)Казалось бы, уж он-то имеет все основания чтобы защищать ООП, однако ж нет.
no subject
Date: 2010-09-25 09:42 (UTC)У меня подобный опыт образовался сразу же, при попытке портировать какое-то поделие, использующее STL, когда выяснилось, что дебуггер не способен отловить задницу при инициализации, до попадания в main()
поделием было как бы не wxWindows, тоже весь из себя ООП-пнутый и который еще тот монстр. Чего не тронешь - пересобирать нужно все и т.д. и т.п.
no subject
Date: 2010-09-25 09:49 (UTC)Т.е. свои классы в виде структур с функциями, никаких библиотек, никаких особых ООП извратов, наследование очень ограниченное, переопределение операций - очень редко.
Работает в промышленных условиях годами.
no subject
Date: 2010-09-25 14:50 (UTC)ООП != С++
Date: 2010-09-25 15:19 (UTC)"I invented the term Object-Oriented and I can tell you I did not have C++ in mind."
-- Alan Kay
no subject
Date: 2010-09-25 15:35 (UTC)А как же лямбда?
Тьюринг и Винер это замечательно, но почему же все забывают Чёрча и МакКарти?
no subject
Date: 2010-09-25 15:39 (UTC)Теряются как плюсы переносимого ассемблера, так и не приобретаются свойства нормального ЯВУ -- ни нормальной статической типизации, ни нормального лэйт-биндинга.
no subject
Date: 2010-09-26 18:17 (UTC)Блядь,PCI Express - это НЕ "особый случай" UART с виртуальными функциями! Тех, кто ставит часть сигналов в base class и часть - в derived класс, нужно ставить к стенке и расстреливать из пулемета, пинать ногами, отправлять на поля совхоза Тарасовский. Это создание дополнительной сущности на ровном месте (идиотское и произвольное разделение объектов на группы), которую невозможно поддерживать, так как содержание становится разбросанным по разным файлам и перемешанным с несвязанными вещами.К счастью, в нашей организации этот вид ереси на текущий момент изничтожен. Немудрено, что акции прут вверх.
no subject
Date: 2010-09-26 18:24 (UTC)no subject
Date: 2010-09-27 10:01 (UTC)"последовательный интерфейс"
Date: 2010-09-27 19:22 (UTC)Re: "последовательный интерфейс"
Date: 2010-09-27 19:32 (UTC)Re: "последовательный интерфейс"
Date: 2010-09-28 06:48 (UTC)no subject
Date: 2010-09-30 00:33 (UTC)no subject
Date: 2010-09-30 00:39 (UTC)Вот основы:
http://www.amazon.com/Inside-Object-Model-Stanley-Lippman/dp/0201834545/ref=sr_1_1?s=gateway&ie=UTF8&qid=1285807115&sr=8-1
http://www.amazon.com/Imperfect-Practical-Solutions-Real-Life-Programming/dp/0321228774/ref=sr_1_1?s=gateway&ie=UTF8&qid=1285807136&sr=8-1
Ну и в онлайне читаем (сначала и вдумчиво) Калева:
http://www.informit.com/guides/content.aspx?g=cplusplus
no subject
Date: 2010-09-30 00:41 (UTC)no subject
Date: 2010-09-30 15:48 (UTC)Я тоже для себя обычно определяю безопасное подмножество языка C++, за которое стараюсь не выходить. Тяжелее приходится в команде, и при необходимости импортировать в проект кучу стороннего кода. Всё-таки хороший язык должен помогать программисту, а не расставлять грабли по углам.
no subject
Date: 2010-09-30 16:00 (UTC)no subject
Date: 2010-09-30 16:56 (UTC)no subject
Date: 2010-10-17 19:39 (UTC)no subject
Date: 2010-10-17 19:59 (UTC)Когда я узнал про существование C++ то очень сильно жалел, что не перешел на него раньше.
Чем хорош C c классами для меня.
1. Удобство работы. Для поверхности все функции в одном месте
2. Наследование
3. Полиморфизм. Механизм виртуальных функций это самое ценное. Это просто волшебство.
Страуструуп сам пишет, что не ожидал такой популярности STL. Ненавижу STL из за алгоритмов и еще нек, херни. Шаблоны люблю.
Проектирование систем или программ начинают с функций, но не с классов или алгоритмов. Функцию можно запихнуть и в класс.
Вначале нужно знать что мы хоти сделать, а потом думаем как.