Easyelectronics.ru

Электроника для всех
Текущее время: 23 июн 2017, 11:58

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


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


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


    • The World's Cheapest PCB Prototyping: 10 шт. 2-слоя 100*100mm 2$(около 140rub), изготовление за 24 часа.
    • Создание принципиальных схем и проектирование печатных плат
    • Симуляция работы на spice моделях
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 96 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Похоливарим? С++ 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
Сообщения: 2397
Похоливарим? Что лучше, унитаз или холодильник?
А ездить лучше на джипе или кабриолете?
Огурцы или помидоры?

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

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
Сообщения: 3411
Откуда: г. Липецк
Надуманный холивар. С || C++, Pascal OR Object Pascal (Delphi). Давайте еще и Шарп сюда приплетем. Знание одного не предполагает незнание другого...


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

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


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

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


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

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


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

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


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

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 2324
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
Сообщения: 2397
fr0ster писал(а):
А если вы не на STM оказались, а кроме CMSIS у вас ничего нет,
То надо себя крепко ущипнуть и проснуться. В 2016 даже совсем нишевые кортексоделы выпускают API как минимум, и сборки РТОС с сетевыми стеками как норму.


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

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


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

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


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 2397
Derdemyansky писал(а):
Дефайны вообще то зло, которое нужно минимизировать в коде.
Пруфы зла?
Derdemyansky писал(а):
Как раз недавно разбирал код погроммиста, который напихал в логику CMSISных и DriverLibских вещей, мол "это эмбед, что вы хотите".
Конечно, это С виноват в рукожопости отдельно взятого экземпляра.
Derdemyansky писал(а):
В чем проблема написать функцию? В случае проекта "на хорошую перспективу" нужно будет написать свои обертки над ST HAL, TI DriverLib и т.д.

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


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

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


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

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

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

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

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

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


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

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

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

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

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


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

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 3950
Откуда: п. Борок, Ярославская область
Кстати про куб - не поперло у меня сним почему-то. Совсем. Во первых пытается постоянно лезть зачем-то в сеть и порой от этого виснет. Потом проекты на выходе делает для 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
Сообщения: 2092
Откуда: Санкт-Петербург
count_enable писал(а):
Derdemyansky писал(а):
Дефайны вообще то зло, которое нужно минимизировать в коде.
Пруфы зла?

#define true false
;-)

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

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


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

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

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

_________________
mcu.goodboard.ru


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

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2092
Откуда: Санкт-Петербург
В тред призываются 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
Сообщения: 2324
Derdemyansky писал(а):
fr0ster писал(а):
Похоже любой холивар типа "С против С++" рано или поздно вырождается в дуэль "мастера копать Беломорканал детским совочком" против мастера "подковывать блоху роторным экскаватором". Причем скорее рано, чем поздно.

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


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


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

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


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


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

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


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


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

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

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

_________________
mcu.goodboard.ru


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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

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