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++

Валерий Лаптев писал(а):
что в программе вполне допустимы несколько незначительных ошибок...
Офигеть :shock:
Это имеет только одно название - "рационализаторы" начинают править миром. Те самые, про которых в среде, где я воспитывался профессионально, говорили:
"Встретил рационализатора - убей его"


Илья Ермаков писал(а):
Несколько незначительных будет в большой почти наверняка. Если даже полностью грудью лечь за надёжность. Сколько будет значительных вдобавок, если на надёжность спустить рукава, мы все хорошо знаем
Угу.
В принципе, есть простой профессиональный (я есть инженер) принцип: не планируй себе проблеммы, попробуй сначала справиться с теми, которые возникнут и без твоего планирования
Вековая мудрость, устанившаяся задолго до появления 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/