OberonCore https://forum.oberoncore.ru/ |
|
О популярности ООП в лице C++ https://forum.oberoncore.ru/viewtopic.php?f=27&t=1779 |
Страница 2 из 2 |
Автор: | Александр Ильин [ Суббота, 22 Август, 2009 15:52 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Alexey Veselovsky писал(а): А если учесть что C++ в 1992 году по факту как такового ещё небыло... ;-) Действительно в 92 году было кто в лес кто по дрова. Linus Torvalds в январе 2004 года писал(а): but some fundamental facts haven't changed:... Обратите внимание, Алексей, что написал он это 12 лет спустя.
|
Автор: | Alexey Veselovsky [ Суббота, 22 Август, 2009 16:07 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Вообще, у меня сильные сомнения что он что-то писал на С++ после 98 года. Думаю он руководствуется принципом "от добра добра не ищут". Вообще, непонятно кто его вынуждает пользоваться исключениями (они легко выключаются, собственно многие ими и не пользуются -- язык ничего не навязывает, в отличае от многих иных), new/delete (гм, кстати, а где там автоматика? аллокатор памяти можно написать как угодно ручками) и т.п. А эмуляция руками ООП в том же gtk на С смотрится весьма феерично И работает gtk, кстати, существенно тормознее чем qt, писаном на глючном тормозном и вообще неправильном С++. Видимо все силы gtk team'а уходят на оную эмуляцию ООП и борьбу с языком. Тут уж не до оптимизации. |
Автор: | Александр Ильин [ Суббота, 22 Август, 2009 16:08 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Info21 писал(а): http://kerneltrap.org/node/view/2067 Ссылка нерабочая, вот правильная: http://kerneltrap.org/node/2067
|
Автор: | Vlad [ Понедельник, 24 Август, 2009 04:09 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Илья Ермаков писал(а): Используют классы просто как модули? Оно того стоит? Стоит. Основная проблема, которую я вижу при работе с сишным (не плюсовым) кодом - это отсутствие инкапсуляции в принципе. Да, можно добиться определенной инкапсулиции с помощью функций/хэндлов, но этого никто не делает, потому что это требует слишком много манипуляций (намного больше, чем написать слово private в C++) для совершенно простых вещей. Вот и получается, что ходит некая сложная структура, с которой все что хотят то и делают, причем с помощью каких-нибудь жутких макросов. Определить в каком месте кто-то "портит память" невозможно в принципе, пока не проанализирушь весь код. После нескольких дней ковыряния в таком коде начинаешь понимать ратующих за запрещение манипуляций с указателями в принципе и повсеместный GC. Так вот - язык C++ в принципе позволяет решить эти проблемы при определенном уровне культуры использования со значительно меньшими затратами, чем в случае C без плюсов. При этом остается возможность легко спускаться на "самый низ". |
Автор: | Валерий Лаптев [ Четверг, 27 Август, 2009 12:36 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Вставлю свои 5 копеек. Сложность С++ - это миф. Так же как мифом является то, что ББ непригоден для реальных разработок. 1. В стандарте С++ половина страниц составляет описание стандартной библиотеки. Причем, очень большую часть из этого составляет описание библиотеки ввода-вывода. Про контейнеры говорить не будем, хотя это тоже очень полезные составляющие. 2. Многие так называемые "сложности" С++ происходят из желания дать средства, позволяющие новые типы сделать ОЧЕНЬ ПОХОЖИМИ на встроенные. Даже не очень похожими, а просто такими же по синтаксису. Например, любую переменную встроенного типа можно инициализировать. Вот вам и необходимость конструкторов. Для симметрии возникли деструкторы. А если есть конструкторы, то требуется описание их поведения в разных ситуациях: при передаче в подпрограмму, при возврате, при наследовании и т.п. В Оберонах инициализация переменных отсутствует, поэтому и конструкторов не требуется. То же самое можно сказать и о перегрузке операций - просто для удобства и красоты. Комплексные числа как-то привычнее складывать с помощью плюса, а не вызывая функцию Add. А вообще-то перегрузка операций и не нужна. 3. По большому счету, принципиальных отличий от Оберона-КП только два: шаблоны и исключения. О чем тут и можно было наблюдать... Об остальном как-то не слишком спорили. 4. Чего мне реально в С++ не хватает - это явной конструкции модуля. Да, есть классы, пространства имен. Но ИМХО - это не эквивалент модуля, как он сделан в КП+ББ. 5. Чего мне не хватает в ББ+КП - так это стандартной библиотеки. Из мелочей хотелось бы отметить отсутствие инициализации. Ну удобно это. Еще хотелось бы, чтобы описание константы отличалось от описания переменной только заменой слова var на const - а это опять же отсутствие инициализации. И должен констатировать, что после С/С++ оператор for в КП представляется не очень удачным, так как правая граница включается в проверку. Это диссонирует с массивами. . Вот. |
Автор: | Валерий Лаптев [ Среда, 11 Ноябрь, 2009 17:08 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Еще о популярности С++. На РСДН возник очередной холивар. Павел Дворкин прописал свои приоритеты в программировании: 1. Эффективность 2. Свобода (выражения мыслей) 3. Надежность (меньше ошибок) 4. Скорость разработки - программист меньше времени тратит. Это по поводу того, что ему постоянно навязывают инструмент типа Додиез-Ява, мотивируя это пунктами 3 и 4. А он более важным считает 1 и 2, поэтому выбирает С++. Я написал своими словами, так как у меня сейчас доступ к РСДН сбоит. Как считают оберонцы? |
Автор: | Valery Solovey [ Среда, 11 Ноябрь, 2009 17:40 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Указанные инструменты - продукт "эффективности" и "свободы выражения мысли". И именно такими, возможно, получаются программы и у того автора. Только пользуется и плюётся уже не он. Я назвал правило, где может быть много исключений (которым может быть и тот автор), но основной волны результатов это не перекрывает. |
Автор: | Илья Ермаков [ Среда, 11 Ноябрь, 2009 17:42 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
На первом месте должна быть дисциплина мышления. И как конкретика - дисциплина инженерного процесса (ответственность за каждое свойство создаваемых конструкций). Как следствие будет надёжность (без неё вообще нельзя считать решение решением). А остальное сумеем сбалансировать под задачу По поводу эффективности - главное не громоздить к ней явных препятствий. Набивший оскомину пример с только динамич. ООП в Дж/Ш, что сразу отсекает их, по-хорошему, от целого пласта задач. Свобода выражения - штука относительная. Важно, чтобы было, что выражать ) Бред какой-то лучше не выражать (это как в вопросе о доведённой до абсурда "равноценности мнений" и т.п.) И типовые грабли язык должен отсекать (но в связи с п. об эффективности - не полностью, а перенаправлять в более строгое русло, чтоб можно было использовать только с чётким пониманием; как SYSTEM). Кроме того, чтобы свободно выражать мысли, нужно иметь хорошо отобранные выразительные средства. Иначе замахаешься проецировать мысль. |
Автор: | Info21 [ Среда, 11 Ноябрь, 2009 18:02 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Поставленная умственная техника программирования обеспечивает как надежность продукта, так и скорость разработки. |
Автор: | Иван Кузьмицкий [ Среда, 11 Ноябрь, 2009 20:07 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Я думаю, что аргумент "свобода выражения мыслей" маскирует нежелание заниматься тщательным проектированием. |
Автор: | Валерий Лаптев [ Среда, 11 Ноябрь, 2009 22:51 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Мы с ним спорили по поводу эффективность-надежность. И многие рсднщики считают допустимым, что система падает, но самоперезапускается. Особенно, если это незаметно для пользователя. То есть, по поводу надежности народ считает, что надо специально оговаривать уровень надежности с заказчиком... Как и по поводу эффективности. тоже...Я думаю, что сначала прога должна быть правильной, а уж потом быстрой... Однако в ответ приводят высказывание Бентли, что в программе вполне допустимы несколько незначительных ошибок... И лучше потратить время на повышение эффективности, чем на устранения этих незначительных ошибок... Вот такие интересные мнения... |
Автор: | Илья Ермаков [ Среда, 11 Ноябрь, 2009 23:08 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Несколько незначительных будет в большой почти наверняка. Если даже полностью грудью лечь за надёжность. Сколько будет значительных вдобавок, если на надёжность спустить рукава, мы все хорошо знаем. Вопрос в том, предсказуемо ли поведение системы. Можем ли мы отвечать за неё, или "на авось". |
Автор: | Galkov [ Четверг, 12 Ноябрь, 2009 15:56 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Валерий Лаптев писал(а): что в программе вполне допустимы несколько незначительных ошибок... Офигеть Это имеет только одно название - "рационализаторы" начинают править миром. Те самые, про которых в среде, где я воспитывался профессионально, говорили: "Встретил рационализатора - убей его" Илья Ермаков писал(а): Несколько незначительных будет в большой почти наверняка. Если даже полностью грудью лечь за надёжность. Сколько будет значительных вдобавок, если на надёжность спустить рукава, мы все хорошо знаем Угу.В принципе, есть простой профессиональный (я есть инженер) принцип: не планируй себе проблеммы, попробуй сначала справиться с теми, которые возникнут и без твоего планирования Вековая мудрость, устанившаяся задолго до появления IT вообще, и программирования - в частности. Однако убедить "опытных программистов" в том, что они вовсе не изобретают новые гносеологические принципы, а идут по граблям, которые всем давно известны - невозможно, пожалуй |
Автор: | Валерий Лаптев [ Четверг, 12 Ноябрь, 2009 17:47 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Info21 писал(а): Поставленная умственная техника программирования обеспечивает как надежность продукта, так и скорость разработки. Не все так просто. Почему вы не пишете на С++? Дворкин выбирает С++ именно в силу указанных выше приоритетов. Вы - выбираете ББ в силу неких других приоритетов. Каких, кстати? |
Автор: | Сергей Губанов [ Четверг, 12 Ноябрь, 2009 18:01 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Валерий Лаптев писал(а): Дворкин выбирает С++ именно в силу указанных выше приоритетов. В силу этих 4 приоритетов однозначно можно выбрать Блэкбокс:1. Эффективность -- Да 2. Свобода (выражения мыслей) -- Да 3. Надежность (меньше ошибок) -- Да 4. Скорость разработки - программист меньше времени тратит -- Да А то что некий Дворкин в силу этих же самых приоритетов почему-то выбрал не Блэкбокс, а С++, так это его проблемы, странный он какой-то. |
Автор: | Geniepro [ Четверг, 12 Ноябрь, 2009 18:41 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Настоящий приоритет у "Дворкиных" -- распространённость языка. С++ распространён на несколько порядков шире, чем обероны и хаскелли, вот его и выбирают больше людей... |
Автор: | Валерий Лаптев [ Четверг, 12 Ноябрь, 2009 21:58 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Geniepro писал(а): Настоящий приоритет у "Дворкиных" -- распространённость языка. С++ распространён на несколько порядков шире, чем обероны и хаскелли, вот их и выбирают больше людей... Думаю, что это не его ЛИЧНОЕ решение. Видимо когда-то было корпоративное решение, которое обосновали так. В ББ на рсднском форуме никто не верит... Хотя и знают... |
Автор: | Димыч [ Четверг, 12 Ноябрь, 2009 22:13 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Валерий Лаптев писал(а): В ББ на рсднском форуме никто не верит... Его еще знают тут, что мне показалось интересным.
Хотя и знают... |
Автор: | Валерий Лаптев [ Четверг, 12 Ноябрь, 2009 22:27 ] |
Заголовок сообщения: | Re: О популярности ООП в лице C++ |
Поправлюсь. Здесь знают сам ББ На РСДН знают О ББ |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |