Здравствуйте, Pzz, Вы писали:
Pzz>>>но если говорить о написании нового, оригинального кода, а не об интеграции посторонних библиотек, код на C получается компактнее.
M>>Хм. Можешь это как-то обосновать?
Pzz>Да, могу. В C человек скорее напишет конкретный объект. В C++ скорее сначала напишет до невозможности generic, а потом еще будет прилаживать его к конкретному месту. А потом окажется, что такой объект только в одном месте и нужен, но не стирать же generic реализацию, такую красивую.
Хм, у вас какие-то неправильные C++ программисты. Или, если ты не видел C++ программистов, а только слышал от разных денисов — хочу тебя разочаровать. Описанное тобой — это либо вчерашний студень, недавно узнавший про C++, либо невменяшка, который на той же сишечке наворотит тех же генериков, только на сишечке на макросах.
Вообще-то, мне казалось, что у любого вменяемого программиста последовательность такая:
пишешь код первый раз — пишешь по месту
пишешь код во второй раз — рефакторишь в функцию
пишешь код в третий раз для другого типа — рефакторишь в шаблон функции
Ну, и по классам:
пишешь функцию с набором параметров, как у другой — начинаешь думать о классе
еще раз пишешь подобное — рефакторишь параметры в класс, а функции — в метод
понадобилось всё то же, но для другого типа данных — рефакторишь в шаблон класса
По виртуализации в рантайме:
пишешь одну реализацию — пишешь по месту
нужно в рантайме сделать выбор между двух альтернатив — пишешь две функции, выбираешь по флагу, что вызывать
появилась третья альтернатива — делаешь абстрактный интерфейс, его реализации, и фабрику
Чистая сишечка ломается после второго шага первого кейса, и появляются монстры типа гобжектов
Pzz>Торвальдс занимается ядром. Насчет дектопа, вопросы вообще не к нему.
Ядро таки тоже довольно дырявое. Остальное — да, это к последователям Столлмана, но они тоже очень любят сишечку