Easyelectronics.ru

Электроника для всех
Текущее время: 24 сен 2017, 04:26

Часовой пояс: UTC + 5 часов


Правила форума


Входить исключительно со своей туалетной бумагой. Можно невозбранно получить по голове за быдляк и личные наезды.


    • JLCPCB for PCB Prototyping: 10 шт. 2-слоя 100*100mm 2$(около 140rub), изготовление за 24 часа.
    • Создание принципиальных схем и проектирование печатных плат
    • Крупнейший китайский онлайн магазин радиодеталей. Скидка 50%
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 108 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Похоливарим? С++ vs C
СообщениеДобавлено: 01 окт 2016, 14:50 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 12 июл 2013, 15:11
Сообщения: 97
Довольно часто наблюдаю споры, что вместо С++ лучше Си (или наоборот), что это дикий оверхед и все такое. Как известно, из споров рождается истина, поэтому порой похоливарить на какие-то такие темы можно.

Итак, поехали.

Я не скажу, что выбираю что-то одно, все-таки это инструменты со своим спектром применяемости. В последнее время для крупных проектов применяю С++, пока что старый стандарт. Плюшки с этого уже имеются - я могу спокойно читать логику собственно приложения в отрыве от железных вещей, если нужно отладить железо - спокойно читаю железные методы без оглядки на логику. Да, можно такое же сделать и на Си, но выглядеть это будет не столь симпатично. Как минимум, преимущества такие:
1) Неймспейсы. вместо отвратительных префиксов функции/классы кладутся в пространство имен и не захламляют код. В рамках STM32 вместо длиннющего
Код:
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_SET);
я могу сделать
Код:
led.up();
. Даже если выкинуть HAL и писать на CMSIS, то получается все равно длинно:
Код:
GPIOD->BSRR |= GPIO_BSRR_BS_12;
, и здесь не спасут именованные константы.
2) Ссылки. Можно отнести к сахару, но удобному. Практически те же указатели, только гарантирующие не nullptr состояние, вместо стрелочки точка. Тем не менее, удобно.
3) Перегрузка методов и операторов. У меня возникала довольно часто надобность иметь набор функций или методов с разным набором аргументов (например, для установки цвета RGB светодиода можно было принять структуру RGB или HSV), и довольно уныло отражать эту разницу в названии функции. Аналогично и с операторами - вместо длинной функции copyXXX можно переопределить оператор = и нормально копировать даже сложные сткруктуры данных.
4) Классы. Собственно, главная фишка, которую привносит С++. Довольно удобно иметь даже просто "си с классами", когда есть данные + методы к ним. Конечно, это не избавит от возможности наговнокодить (если по-честному, то с незнанием на С++ можно наломать ядреных дров, возможно, похлеще, чем на Си, но взамен все таки много предоставляется), но в Си очень часто не хватало возможности адекватно "прицепить" функции к каким-то структурам. С учетом автодополнения в человеческих IDE вроде VS, по точке либо стрелке они покажут набор методов к данному объекту и не нужно ломать голову "а какая же функция там делала X".
5) Строгая типизация. Нужно что-то во что-то привести? Сделай это явно, чтобы показать, что пошел на это сознательно, а не случайно.

Так же я не упомянул еще другие плюсы вроде наследования, шаблонов и многого другого.

Итого: для проектов на 1000+ строк я буду использовать С++, так как это сразу улучшает читаемость кода, а значит его поддерживаемость. Коллегу тоже пересадил на плюсы, сначала воспринималось это в штыки, но потом втянулся. Так что, холиварим? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 01 окт 2016, 19:28 
Старожил

Зарегистрирован: 25 авг 2011, 14:00
Сообщения: 2542
Похоливарим? Что лучше, унитаз или холодильник?
А ездить лучше на джипе или кабриолете?
Огурцы или помидоры?

Спор о преимуществах С++ над С ведут только нубы, не умеющие ни в один из языков.

Derdemyansky писал(а):
вместо отвратительных префиксов функции/классы кладутся в пространство имен и не захламляют код. В рамках STM32 вместо длиннющего
Код:
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_SET);

я могу сделать
Код:
led.up();


Фейспалм.жпг. Первый код это установка бита 12 порта D. Второй это хз какая обёртка над низкоуровневыми функциями. Или компилятор С++ волшебным образом догадается кто такой лед, и на каком порту оно висит?
А еще я могу сделать вот так:
Код:
#define KREVEDKO (HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_SET))
Посмотрите, в С можно делать ногодрыг одним КРЕВЕДКО!! Ололо, пыщь-пыщь, С реальне мжвячне!

Идите лучше почитайте стандарт С11 и O'Reilly "21st Century C", а не пишите глупостей в интернетах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 00:37 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3474
Откуда: г. Липецк
Надуманный холивар. С || C++, Pascal OR Object Pascal (Delphi). Давайте еще и Шарп сюда приплетем. Знание одного не предполагает незнание другого...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 01:09 
Старожил
Аватара пользователя

Зарегистрирован: 19 фев 2015, 17:37
Сообщения: 938
Откуда: Void
Ну вот кстати, Язык Си в 21 веке я читал и она как-то ниочем мне показалась.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 11:00 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 2398
count_enable писал(а):
Первый код это установка бита 12 порта D. Второй это хз какая обёртка над низкоуровневыми функциями. Или компилятор С++ волшебным образом догадается кто такой лед, и на каком порту оно висит?


Компилятор ни о чем и не будет догадываться, он тупо сделает подстановку inline функции либо ее вызов из заданной программистом области видимости. Разница с макросом минимальная, в случае inline функций, читабельность выше, хотя это дело привычки.
Зато в led.up может быть не вызов SPL или HALокубовского макроса, а обращение напрямую к CMSIS определению.

Имеет это смысл или не имеет дело привычки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 13:36 
Старожил

Зарегистрирован: 25 авг 2011, 14:00
Сообщения: 2542
fr0ster писал(а):
Компилятор ни о чем и не будет догадываться, он тупо сделает подстановку inline функции либо ее вызов из заданной программистом области видимости.
Но эту функцию ещё надо написать, о чём набрасыватель забыл.
Вообще все языки отстой, один Эрланг стоит в монадах такой красивый. Даёшь лямбда-счисление на ардуино!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 13:56 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 2398
count_enable писал(а):
fr0ster писал(а):
Компилятор ни о чем и не будет догадываться, он тупо сделает подстановку inline функции либо ее вызов из заданной программистом области видимости.
Но эту функцию ещё надо написать, о чём набрасыватель забыл.


Не буду говорить за ТС, что он знал, что забыл, у меня штатный телепат в отпуск ушел.
Скажу только Макрос по большому счету тоже надо кому то написать. Поднимаясь над CMSIS в случае STM32, вы либо берете то, что кто-то написал, либо пишете сами. Если пишете сами, то вам тут точно все равно - макрос или inline функция.
А если вы не на STM оказались, а кроме CMSIS у вас ничего нет, то хочешь не хочешь, повторишь путь Дрейка - станешь первопроходимцем :)

PS А вот еще есть Ada, для STM32F4 в ней (берклиевская кажется реализация) нужные объявы есть, а для STM32F1 пишите сами :)
Или если с C/C++ не уползать, OpenCM3, для некоторых STM32 реализовано почти все, а для некоторых STM32 и других заявленных ARM архитектур реализовано негусто, некому видимо. Там тоже вариант - садись и пиши сам. Так там макросами все решать неудобно перед мейнтейнерами, "посоны смеятся будут"(С)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 14:16 
Старожил

Зарегистрирован: 25 авг 2011, 14:00
Сообщения: 2542
fr0ster писал(а):
А если вы не на STM оказались, а кроме CMSIS у вас ничего нет,
То надо себя крепко ущипнуть и проснуться. В 2016 даже совсем нишевые кортексоделы выпускают API как минимум, и сборки РТОС с сетевыми стеками как норму.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 14:31 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 2398
В теме нет ограничения писать код только для новых камней.
Да и С/С++ кортексами не ограничен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 14:36 
Старожил

Зарегистрирован: 25 авг 2011, 14:00
Сообщения: 2542
Вот уж честно, года 3 как не встречал процессоров без готовых библиотек/автоконфигураторов и прочей лабуды. Если какой-то производитель предлагает голые камни надо его обходить десятой дорогой, потому что он своих клиентов за людей не считает. Даже такой спартанский раритет как 430е Техасцы имеет софта выше крыши.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 14:44 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 2398
Перефразируя стихи одной известной поэтессы.
Когда б вы знали для какого сора
Мы пишем код, не ведая стыда... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 15:13 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 12 июл 2013, 15:11
Сообщения: 97
count_enable писал(а):
...


Ух ты, сколько желчи-то сразу :)

За метод .up() - ясное дело, он будет реализован единожды, как и чем - дело вкуса. Он будет инлайновый. Т.е. по факту для асма отличий от дефайна не будет. Дефайны вообще то зло, которое нужно минимизировать в коде. Некоторые (те же lwip) любят делать многострочные макрофункции, и очень прикольно, когда что-то ломается внутри них. Нафиг-нафиг.

Почитать стандарты? Ну ок, читал, периодически, когда нужно, обращаюсь к ним. Почитать стандарт Си - и что я там увижу? Убогие _Generic, которые выглядят как пятое колесо третьей ноги? Улучшенная поддержка юникода это хорошо, все остальное выглядит не так хорошо, как на плюсах. Какое-то месиво из типов с подчеркиванием в виде префикса. На мой вкус, хватает и С99 с фичами вроде выборочной инициализации массивов по индексам.

count_enable писал(а):
Посмотрите, в С можно делать ногодрыг одним КРЕВЕДКО!! Ололо, пыщь-пыщь, С реальне мжвячне!

Без комментариев.

count_enable писал(а):
Первый код это установка бита 12 порта D. Второй это хз какая обёртка над низкоуровневыми функциями.

<сарказм>Зачем функции вообще? есть main() и хватит, в чем проблема-то?</сарказм>
Как раз недавно разбирал код погроммиста, который напихал в логику CMSISных и DriverLibских вещей, мол "это эмбед, что вы хотите". Отличный опыт по переносу проекта на другой камень с разделением логики и железа.

count_enable писал(а):
Но эту функцию ещё надо написать, о чём набрасыватель забыл.

В чем проблема написать функцию? В случае проекта "на хорошую перспективу" нужно будет написать свои обертки над ST HAL, TI DriverLib и т.д. Микроконтроллеры порой имеют свойство пропадать из продажи (не внезапно, но все же), и чем потом горы кода лопатить лучше один раз сделать по-человечески и в случае переезда переписать только часть железа.

anakost писал(а):
Надуманный холивар.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 19:19 
Старожил

Зарегистрирован: 25 авг 2011, 14:00
Сообщения: 2542
Derdemyansky писал(а):
Дефайны вообще то зло, которое нужно минимизировать в коде.
Пруфы зла?
Derdemyansky писал(а):
Как раз недавно разбирал код погроммиста, который напихал в логику CMSISных и DriverLibских вещей, мол "это эмбед, что вы хотите".
Конечно, это С виноват в рукожопости отдельно взятого экземпляра.
Derdemyansky писал(а):
В чем проблема написать функцию? В случае проекта "на хорошую перспективу" нужно будет написать свои обертки над ST HAL, TI DriverLib и т.д.

В том что сравнивать "громоздкий" вызов функции из SPL c "изящным" вызовом самописного метода равноценно сравниванию мужского полового органа с пальцем. С мотивацией "палец лучше, от него залететь тяжелее".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 03 окт 2016, 19:28 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 2398
Похоже любой холивар типа "С против С++" рано или поздно вырождается в дуэль "мастера копать Беломорканал детским совочком" против мастера "подковывать блоху роторным экскаватором". Причем скорее рано, чем поздно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 01:18 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 4069
Откуда: п. Борок, Ярославская область
"Всяк сверчок знай свой шесток!" (с) народный фольклор
"На всякую хитрую жопу, найдется свой *уй крючком!" (с) не менее народный фольклор

Это к тому, что для всякой задачи есть свой наиболее удобный инструмент. Гвоздь можно и кирпичом забить, но молотком-то удобнее. Так и тут - все зависит от цели, средств и желаемого результата.

К примеру C++ хорош порой в мат-моделировании, т.к. ООП там порой просто незаменимо - особенно при проектировании стохастических симуляционных моделей разных физ-процессов. А на native C просто писать удобный компактный код с ассемблерными вставками для простых МК.

Но на каком бы языке не была написана программа, исполнять ее все равно будет процессор. А ему уже похеру: он только свои машинные коды понимает...

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 11:19 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 1756
Откуда: КЧР, поселок Нижний Архыз
count_enable писал(а):
Вот уж честно, года 3 как не встречал процессоров без готовых библиотек/автоконфигураторов и прочей лабуды.

Подсказываю: STM32. Калокуб - шлак, который использовать ни в коем случае нельзя. Opencm3 - ну, с натяжкой (если не влом каждый раз, как авторы полностью поменяют API, переписывать все свои проекты).

Единственный нормальный вариант - набирать себе коллекцию сниппетов и писать свои обертки для наиболее часто используемых вещей. Только этот вариант гарантирует, что и через 10 лет код можно будет собрать.

_________________
Поттеринг, умри!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 11:28 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 4069
Откуда: п. Борок, Ярославская область
Кстати про куб - не поперло у меня сним почему-то. Совсем. Во первых пытается постоянно лезть зачем-то в сеть и порой от этого виснет. Потом проекты на выходе делает для Keil и IAR, а мне бы надо что-то с make-файлом под gcc-arm-none-eabi. И таки да - казалось бы удобно сделано, но автоматика куба такой хитрожопый код делает, что хрен его разберешь вручную. Потому на STM32 я положил болт.

И теперь раскуриваю Freescale Kinetis. Среда у них своя бесплатная на базе эклипсы. Есть в среду встроенная фича типа куба, но менее удобная и более тормозная. Но код делает читабельным и простым, так что потом можно просто всякую лишнюю хрень вручную выкинуть и оставить только самое необходимое. Хочешь все руками писать - да пожалуйста. Хочешь - есть куча готовых сниппетов на все случаи жизни. Дешево и сердито. И корпуса удобные, и порты хорошо по ногам расположены, и есть МК с питанеим 5В. Шить можно через openocd. И самое главное - NXP шлет эти МК горстями нахаляву!:-) STM тоже правда шлет нахаляву...

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 13:07 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2190
Откуда: Санкт-Петербург
count_enable писал(а):
Derdemyansky писал(а):
Дефайны вообще то зло, которое нужно минимизировать в коде.
Пруфы зла?

#define true false
;-)

А если чуть серьёзнее - то (по опыту программирования на десктопе) макросы точно вещь, которую надо по мере возможностей заменять на inline-функции и тому подобные штуковины. Сколько-то сложные макросы трудны в отладке и понимании, если используются макросы для начала/конца какого-то блока - они ломают автоформатирование кода, и даже простые макросы min/max несут в себе подводные камни вроде того, что выражение может вычисляться более одного раза (шикарно для выражений с побочными эффектами).

P.S. А холивар какой-то унылый, даже закон Годвина ещё не сработал... Пока дошли только до упоминания Cube/HAL с неизбежной после него фекальной тематикой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 14:43 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 936
aamonster писал(а):
А холивар какой-то унылый

Так а что можно ожидать при таком ТС
Холивар устроить - это не программки писать - тут талант нужен или спец подготовка

_________________
mcu.goodboard.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 14:47 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2190
Откуда: Санкт-Петербург
В тред призываются dosikus_2 и demiurg1978!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 17:36 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 12 июл 2013, 15:11
Сообщения: 97
vt340 писал(а):
Так а что можно ожидать при таком ТС
Холивар устроить - это не программки писать - тут талант нужен или спец подготовка


Да уж, первый блин комом :(

aamonster писал(а):
P.S. А холивар какой-то унылый

Ага, скучновато.

count_enable писал(а):
Пруфы зла?


Да как минимум
Код:
#if LWIP_SNMP
#define NETIF_INIT_SNMP(netif, type, speed) \
  /* use "snmp_ifType" enum from snmp.h for "type", snmp_ifType_ethernet_csmacd by example */ \
  netif->link_type = type;    \
  /* your link speed here (units: bits per second) */  \
  netif->link_speed = speed;  \
  netif->ts = 0;              \
  netif->ifinoctets = 0;      \
  netif->ifinucastpkts = 0;   \
  netif->ifinnucastpkts = 0;  \
  netif->ifindiscards = 0;    \
  netif->ifoutoctets = 0;     \
  netif->ifoutucastpkts = 0;  \
  netif->ifoutnucastpkts = 0; \
  netif->ifoutdiscards = 0
#else /* LWIP_SNMP */
#define NETIF_INIT_SNMP(netif, type, speed)
#endif /* LWIP_SNMP */

Первый наугад файл из lwip. Здравствуй, макрофункция многострочная. Здесь еще просто, если что-то не то передашь, то хотя бы легко будет найти, но в том же lwip есть места, где черт ногу сломит, пока найдет на каком круге макросов произошла ошибка.
И вообще я очень часто вижу, что любят сокращать количество аргументов макросами.

Код:
/* This is the common part of all PCB types. It needs to be at the
   beginning of a PCB type definition. It is located here so that
   changes to this common part are made in one location instead of
   having to change all PCB structs. */
#define IP_PCB \
  /* ip addresses in network byte order */ \
  struct ip_addr local_ip; \
  struct ip_addr remote_ip; \
   /* Socket options */  \
  u16_t so_options;      \
   /* Type Of Service */ \
  u8_t tos;              \
  /* Time To Live */     \
  u8_t ttl               \
  /* link layer address resolution hint */ \
  IP_PCB_ADDRHINT

struct ip_pcb {
/* Common members of all PCB types */
  IP_PCB;
};

О, немного ООП? Сделали макрос с общими для многих структур полями, и потом его просто вставляют. Такой себе вариант наследования. А еще тут и вложенный макрос есть, IP_PCB_ADDRHINT, нужно идти дальше и смотреть во что он там раскрывается.
Да и вообще в lwip творится дикая мешанина конструкций #if #else #endif, которую читать "огромное удовольствие".

count_enable писал(а):
В том что сравнивать "громоздкий" вызов функции из SPL c "изящным" вызовом самописного метода равноценно сравниванию мужского полового органа с пальцем. С мотивацией "палец лучше, от него залететь тяжелее".

Сравнение не верное. В контексте "зажечь светодиод подняв ногу", там в обоих случаях будет палец. Только в первом случае можно сделать так, что это будет очень многословно (CMSIS, SPL, HAL), а во втором читаемо на уровне английского текста. На уровне асмового кода будет то же самое.

fr0ster писал(а):
Похоже любой холивар типа "С против С++" рано или поздно вырождается в дуэль "мастера копать Беломорканал детским совочком" против мастера "подковывать блоху роторным экскаватором". Причем скорее рано, чем поздно.

Тоже не совсем корректно. Скорее сравнение - мастер гаражного инструмента и мастер в набитой битком оборудрванием лаборатории. Ведь при использовании плюсов в процедурном стиле точно притянется, емнип, строгая типизация + при сборке в объектник функциям будут даваться префикс и постфикс согласно сигнатуре, в остальном все так же, ассемблерный код получится примерно(или абсолютно) таким же.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 18:01 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 2398
Derdemyansky писал(а):
fr0ster писал(а):
Похоже любой холивар типа "С против С++" рано или поздно вырождается в дуэль "мастера копать Беломорканал детским совочком" против мастера "подковывать блоху роторным экскаватором". Причем скорее рано, чем поздно.

Тоже не совсем корректно. Скорее сравнение - мастер гаражного инструмента и мастер в набитой битком оборудрванием лаборатории. Ведь при использовании плюсов в процедурном стиле точно притянется, емнип, строгая типизация + при сборке в объектник функциям будут даваться префикс и постфикс согласно сигнатуре, в остальном все так же, ассемблерный код получится примерно(или абсолютно) таким же.


Не-не-не, все корректно.
В любом холиваре за инструменты выпячивается как минус того или иного инструмента именно некоректное использоние инструмента.
Использовать С++ без его плюшек некузяво. Шаблоны в грамотной реализации кроют функционал макросов как бык овцу.
Но в случае С++ легко ошибиться с выбором инструмента для задачи. А вообще зык, библиотеки и тп определяются в начале проекта и очень часто это решение дублируется в последующих проектах. Ибо сказано в писании - работает, не трогай!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 18:09 
Старожил
Аватара пользователя

Зарегистрирован: 19 фев 2015, 17:37
Сообщения: 938
Откуда: Void
aamonster писал(а):
P.S. А холивар какой-то унылый


На самом деле, это положительно характеризует пользователей на форуме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 18:22 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 2398
Faberge писал(а):
На самом деле, это положительно характеризует пользователей на форуме.


Просто весь пар ушел в соседний свисток, про вечнобеременных и детей как средство спасения Великой Руси :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Похоливарим? С++ vs C
СообщениеДобавлено: 04 окт 2016, 19:15 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 936
Derdemyansky писал(а):
Да уж, первый блин комом :(

Рецепт холивара - трансакционный анализ, треугольник Карпмана

_________________
mcu.goodboard.ru


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 108 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB