OberonCore
https://forum.oberoncore.ru/

О популярности ООП в лице C++
https://forum.oberoncore.ru/viewtopic.php?f=27&t=1779
Страница 1 из 2

Автор:  Илья Ермаков [ Пятница, 21 Август, 2009 20:09 ]
Заголовок сообщения:  О популярности ООП в лице C++

dvuugl писал(а):
P.S. К слову, о популярности ООП в лице C++. В свободном п.о. на С приходится 40% кода, а на С++ до сих пор, не смотря на мощнейший пиар, только 13%. Если верить этой статистике. Так что если над человеком не стоят с дубиной.. :)


Да, именно так. С - вполне себе язык. Дитя конкретных условий (ОС на PDP) для конкретных задач.

С++ - бред воспалённого сознания, не понимающего ни законов проектирования формальных систем, ни законов инженерных (из которых первый - "Принцип Калашникова" (С) Инфо21).

Если брать Оберон, то он по своей роли и положению как раз может быть назван "Си-Юниксом 89-го года".
Его вообще в штыки принимают и многие недалёкие сишники (за налагаемую дисциплину и "паскалёвость"), и наоборот - всякого рода высокоуровщики (как раз за "низкоуровневость", хотя эта прозрачность, близость к физическому исполнению при полном его абстрагировании и герметичности - уникальное качество).
А вот к сурьёзным юниксоидам Оберон вполне близок по духу, что и в общении с таковыми не раз проверялось. Plan-9, Inferno-Limbo (построен с опорой на Оберон)... Хотя они могут и отмахиваться "ну да, но мы-то и на Си..." - тут уже должен работать аргумент "мало ли что вы, а сколько непрограммистов, и скольких ещё учить надо".

Автор:  Евгений Темиргалеев [ Суббота, 22 Август, 2009 11:46 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Вынесено. Инициирующее сообщение: viewtopic.php?p=33390#p33390

P.S. Если что, братцы, без фанатизму... а то придётся в отвлеченные переезжать...

Автор:  Alexey Veselovsky [ Суббота, 22 Август, 2009 12:48 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

На самом деле сторонникам С но противникам С++ в последнем больше всего не нравится более строгая система типов -- необходимость явного приведения типов. Ибо от этого уйти нельзя в С++, даже если его дополнительными высокоуровневыми возможностями и не пользоваться.

Поэтому процветает симбиоз С + например Perl, или C + Python -- чтобы не заморачиваться с типами ни на низком уровне ни на высоком.

Автор:  Илья Ермаков [ Суббота, 22 Август, 2009 13:07 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

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

Тем не менее, в России в некоторых "очень специальных" вещах используют С++ (компилятор от "Интерстрона", либо нек. другие реализации). Однако "С++-снусность" вроде больше в вычислительных частях. Тот же реалтайм поверх юниксоподобной системы - там обычного С за глаза.

Автор:  Alexey Veselovsky [ Суббота, 22 Август, 2009 13:18 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Илья Ермаков писал(а):
Один из важных аргументов - язык столь сложен, что надёжного компилятора нет в природе и наивно ожидать, что будет (особенно при дальнейшем маразме новых стандартов).


Такой аргументации от сишников я не слышал. Да и в Си-подобном подмножестве С++ всё ну никак не сложнее чем в самом Си. И никто не заставляет использовать всё остальное. У сишников основные притензии именно к оному си-подобному подмножеству С++. Ибо более строгая типизация. Уже не напишешь так просто:
Код:
void foo(void* some) {
    int* n = some;
}

компилятор выдаст ошибку.

И подобных "мелочей" просто море.

Автор:  Илья Ермаков [ Суббота, 22 Август, 2009 13:24 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Alexey Veselovsky писал(а):
Илья Ермаков писал(а):
Один из важных аргументов - язык столь сложен, что надёжного компилятора нет в природе и наивно ожидать, что будет (особенно при дальнейшем маразме новых стандартов).


Такой аргументации от сишников я не слышал.


Так заявил Торвальдс, когда спросили, когда в ядре начнёт использоваться С++ ) Его ответ был что-то типа "когда будет компилятор С++". :)

Танненбаум тоже не станет использовать ++ по причине понимания ненормальности инструмента :)

Автор:  Alexey Veselovsky [ Суббота, 22 Август, 2009 13:36 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Илья Ермаков писал(а):
Так заявил Торвальдс, когда спросили, когда в ядре начнёт использоваться С++ ) Его ответ был что-то типа "когда будет компилятор С++". :)

Более того, Торвальдс и Си не хочет использовать. Он явно хочет использовть диалект Си который бы удовлетворял не ISO/IEC 9899:1990 а неким "понятиям" из головы самого Торвальдса.

Цитата:
Танненбаум тоже не станет использовать ++ по причине понимания ненормальности инструмента :)

Оберон он тоже почему то не использует, не по той же ли причине? ;-)

Автор:  Илья Ермаков [ Суббота, 22 Август, 2009 13:52 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

По той причине, что у него всё прекрасно получается и на Си. Зачем конкретно ему Оберон? :)

Оберон вытекает либо из "неберущихся" задач, либо из соображений масштаба пошире, чем один профессионал-одна фирма и подольше, чем один-два года...

Автор:  Alexey Veselovsky [ Суббота, 22 Август, 2009 14:03 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Илья Ермаков писал(а):
По той причине, что у него всё прекрасно получается и на Си. Зачем конкретно ему Оберон? :)

Вот поэтому же там и С++ не используется, ибо "а зачем, когда и так хорошо?".
Тем более что промышленно эксплуатируемые ОС писаные на С++ таки есть.
Между прочим существует тенденция (в тех же свободных проектах) перевода Сишных программ на С++. Пример: squid.

Илья Ермаков писал(а):
Оберон вытекает либо из "неберущихся" задач, либо из соображений масштаба пошире, чем один профессионал-одна фирма и подольше, чем один-два года...

Гм. Примеры не приведете ли? Ибо у меня лично сложилоь строго обратное впечатление.

Кстати, а кто тут пользуется именно что Обероном (пусть даже Обероном-2)?

Автор:  Александр Ильин [ Суббота, 22 Август, 2009 14:09 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Alexey Veselovsky писал(а):
Кстати, а кто тут пользуется именно что Обероном (пусть даже Обероном-2)?
Я тут пользуюсь Обероном-2. И Димыч, который AGG портирует, насколько я понимаю, тоже им пользуется.

Автор:  Alexey Veselovsky [ Суббота, 22 Август, 2009 14:19 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Да, про вас я помнил.

Автор:  Илья Ермаков [ Суббота, 22 Август, 2009 14:20 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Я под Обероном имею в виду семейство (и личное моё мнение - КП, по факту, флагман).

Автор:  Geniepro [ Суббота, 22 Август, 2009 14:26 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Однако на С++ были таки написаны BeOS (должен был стать наследником MacOS и Next) и большинство версий микроядер семейства L4...

Автор:  Илья Ермаков [ Суббота, 22 Август, 2009 14:30 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Alexey Veselovsky писал(а):
Илья Ермаков писал(а):
По той причине, что у него всё прекрасно получается и на Си. Зачем конкретно ему Оберон? :)

Вот поэтому же там и С++ не используется, ибо "а зачем, когда и так хорошо?".
Тем более что промышленно эксплуатируемые ОС писаные на С++ таки есть.


Нет, тут рассуждения, у дальновидного спеца, должны быть совершенно разными.
Уйти на С++ - это завязаться на неподконтрольный инструмент. Скорее всего, на частную реализацию (потому что для тех же спец. проектов альтернативы нет тому же "Интерстрону").
Воспроизвести самому - даже думать смешно.

Использовать же что С, что Обероны - это безопасно, в плане контроля инструмента. Всё зависит только от тебя самого.


Цитата:
Илья Ермаков писал(а):
Оберон вытекает либо из "неберущихся" задач, либо из соображений масштаба пошире, чем один профессионал-одна фирма и подольше, чем один-два года...

Гм. Примеры не приведете ли? Ибо у меня лично сложилоь строго обратное впечатление.


Я имею в виду, например, проблему подготовки кадров.
Ещё шире, к примеру, - проблему подготовки кадров для программирования нового типа в масштабах целой страны. (Под новым типом я понимаю решение задач под рано или поздно сформирующийся реальный сектор; решение задач, оппозиционных Cloud-Computing и т.п. исходящего от МС-Гугл...)

А "неберущиеся задачи" - это те, которые требуют именно пересечения хороших средств абстракции, динамики и безопасности с сишной прозрачностью до оборудования.
Задачи написания традиционной POSIX ОС к таким как раз не относятся. При грамотной архитектуре, микроядре и аппаратной защите они вполне себе решаются на Си.

Автор:  Alexey Veselovsky [ Суббота, 22 Август, 2009 14:31 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Geniepro писал(а):
Однако на С++ были таки написаны BeOS (должен был стать наследником MacOS и Next) и большинство версий микроядер семейства L4...


BeOS -> Haiku. С++. Последнее живо, здорово и в сентябре будет таки релиз. Лицензия -- MIT.

Но вы забыли одну сверхпопулярную ОС (по распространенности сравнима с Windows): Symbian. Писано целиком на С++, система реального времени.

Автор:  Илья Ермаков [ Суббота, 22 Август, 2009 14:45 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Кстати, говорят, что программировать под Симбиан не очень продуктивно.

Цитата:
Между прочим существует тенденция (в тех же свободных проектах) перевода Сишных программ на С++. Пример: squid


Для того, чтобы завелась тенденция, обычно достаточно, чтобы кому-то just for fun стукнула некая жидкость в голову :) Сколько раз за день "чистому вольному программёру" приходит мысля за чесанием репы "а не написать ли.."? И как часто эта мысля сопровождается постановкой какой-нибудь нужной задачи, исходя из реальной ситуации, а не из того, что "энерджайзер"? :)

Автор:  Alexey Veselovsky [ Суббота, 22 Август, 2009 15:01 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Илья Ермаков писал(а):
Кстати, говорят, что программировать под Симбиан не очень продуктивно.

Я под него пишу ;-) Прикладное PI там весьма феерично. Много рудиментов, которые жутко мешаются. На симбианах 9.1, 9.2, 9.3 ещё по умолчанию нет стандартной библиотеки, поэтому либо её придется включать в пакет установки (+500 Кб, что может быть в общем то не желательно), либо ей не пользоваться а использовать те традиционные древние симбиановы велосипеды. Либо ваять свои велосипеды, что тоже не здорово.

Но это собственно проблема в API, а не в ОС/ядре. И проблема довольно успешно решается нокией. Новые API весьма человечны и начиная с 9.4 всё это идет искаропки.

Илья Ермаков писал(а):
Для того, чтобы завелась тенденция, обычно достаточно, чтобы кому-то just for fun стукнула некая жидкость в голову :) Сколько раз за день "чистому вольному программёру" приходит мысля за чесанием репы "а не написать ли.."? И как часто эта мысля сопровождается постановкой какой-нибудь нужной задачи, исходя из реальной ситуации, а не из того, что "энерджайзер"? :)

Похоже вы не очень понимаете что движит разработку того же squid'a. Это ни разу не just for fan. Работает группа разработчиков, есть заказчики которые оплачивают те или иные изменение в продукте. У разных разработчиков разные заказчики естественно. Просто так just for fun никто перетаскивать squid на c++ не стал бы (кода там порядка 150 тыс. строк). Сил на это требуется много и никто за это не заплатит, ибо заказчикам всё равно на чем оно писано, им нужно чтобы оно работало, и работало так как им нужно.

Перевод squid на с++ позволил например добавить поддержку ICAP'a и ряда других фич, за счет того что код стал более структурированый, стала лучше архитектура, система стала более обозримой. Меньше кода, больше смысла.

Собственно я какое-то время работал над squid'ом. Поэтому всю эту кухню весьма неплохо знаю.

Собственно основные свободные проекты разрабатываются также. Есть заказчики использующие этот продукт, есть разработчики. Вполне себе товарно-денежные отношения.

Автор:  Илья Ермаков [ Суббота, 22 Август, 2009 15:07 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Цитата:
Похоже вы не очень понимаете что движит разработку того же squid'a. Это ни разу не just for fan.

Я не имел в виду сам проект Сквида. Я говорил исключительно про "тенденцию перевода на С++". Ну, положим, требуют заказчики - тогда причиной был "прилив жидкости" у заказчиков. Ну, положим, решили улучшить структуру проекта - опять же, миф, что С++ этому поможет :) Если брать Сквид, то им помогла бы хорошая технология над Сями типа процедурно-автоматной. Собственный диспетчер лёгкого параллелизма (если они так не делают ещё). Но уж никак ни Сплюснутый вариант ООП, который для интерактивных задач ну никак. Используют классы просто как модули? Оно того стоит?

Цитата:
Собственно основные свободные проекты разрабатываются также. Есть заказчики использующие этот продукт, есть разработчики. Вполне себе товарно-денежные отношения.

Это понятно. Однако некоторая система мифов пронизывает эти отношения начиная от заказчиков, и решения часто принимаются не на основе анализа, а просто потому что "все".

Автор:  Info21 [ Суббота, 22 Август, 2009 15:14 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

Илья Ермаков писал(а):
Alexey Veselovsky писал(а):
Илья Ермаков писал(а):
Один из важных аргументов - язык столь сложен, что надёжного компилятора нет в природе и наивно ожидать, что будет (особенно при дальнейшем маразме новых стандартов).
Такой аргументации от сишников я не слышал.
Так заявил Торвальдс, когда спросили, когда в ядре начнёт использоваться С++ ) Его ответ был что-то типа "когда будет компилятор С++". :)

Вот что заявил Торвальдс:

Linux: C++ In The Kernel?
http://kerneltrap.org/node/2067

.. Linux creator Linus Torvalds:

"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
"The fact is, C++ compilers are not trustworthy. They were even worse in 1992,
but some fundamental facts haven't changed:
1) the whole C++ exception handling thing is fundamentally broken.
It's _especially_ broken for kernels.
2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel.
3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++."

Автор:  Alexey Veselovsky [ Суббота, 22 Август, 2009 15:39 ]
Заголовок сообщения:  Re: О популярности ООП в лице C++

А если учесть что C++ в 1992 году по факту как такового ещё небыло... ;-)
Действительно в 92 году было кто в лес кто по дрова. Стандарта то нету! Так что по факту тогда компиляторов для С++ действительно небыло, как и самого языка.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/