ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
965513 Топик полностью
Связанные сообщения
CppTyping
Мнится мне, что кто-то уже записывал такие мысли на песках Сахары...2024-06-19
Вы просто не умеете его готовить. Я бы мог бесконечно показывать примеры, но это непробиваемо. Сразу авторитетно докажут, что у ...2022-09-30
Embedded Template Library (iar arm 9.20.4)2022-05-18
Наброшу.2021-12-06
В C++ доступна вся C-библиотека. Когда C++ сам себе разумеется нет, а как ты себе представляешь? Можешь написать свою реализацию...2020-09-23
Ты хочешь static_if, которого в C++ в чистом виде нет. constexpr if это совсем не то, т.к. он неизбежно будет компилиров...2020-07-02
В общем случае может быть 2-3 подхода перечисленных ниже. В базе всегда SFINAE -- шаблон откидывается и просматриваются следующи...2020-07-02
Надо понимать, что класс -- это не структура. Применительно к C++ мне больше нравится слово тип. Тип -- это сущность существующа...2020-04-26
Я говорю про другую типизацию. Не про int или long, и даже не про int или char*. Программа на ООП-языке существует в рамкой неко...2019-12-19
C#, Java и тем более Javascript -- это совсем другой код, нежели C++. На порядок менее оптимальный, если конечно задача не своди...2019-12-19
Не совсем. C++ -- это уход в сторону _типизированных_ ЯВУ, а Java или C# -- подвижка в сторону "управляемого кода" и что наиболе...2019-11-03
Да конечно, ну вот расскажи, как оно работает -->2019-10-25
Мне какой-то куб для Renesas вспомнился, лет 6 тому назад. Они хвалились, что у них код компилится сразу, как его пишешь. В итог...2019-10-25
Увы, часто нет. Ардуины не просто так возникли. МК подросли и стали возможны другие подходы к разработке. Видно же что делается:...2019-03-03
Не соглашусь, во-первых я чётко подвёл к мысли, что возможны разные классификации, существование одних не запрещает другие. И ес...2019-03-03
С этого стоило и начинать. С того, что язык скриптовый. И это уводит совсем в другую сторону, практически в параллельную вселенн...2019-03-01
Для этого просто существуют разные языки! Смотри вторую ссылку: 2017-11-29
Утиная типизация - это оно? -> -->2017-11-28
EvgenyCD! Смотри ссылку! Я понял, что это круче чем swig, например, в определённых обстоятельствах. Правда руки применять надо...2017-02-09
Это свойство практически любого языка с динамической типизацией. Здесь питон притянут за уши. Но это НЕГАТИВНОЕ свойство для бол...2010-01-13
fk0, легенда (17.12.2019 12:24, просмотров: 835) ответил VLLV на Все проблемы, которые я вижу сегодня в надежности встроенных систем, вообще не связаны с языком программирования. Например:
С языком очень даже связано. Компилирующие языки со статической типизацией (C++, C#, Java, C, Pascal) пропускают гораздо меньше ошибок, чем ассемблеры (без типизации) или скриптовые языки (Python, Javascript). В последних пока не запустишь -- не узнаешь, что там ошибка вообще есть. А сделать 100% покрытие тестами -- невозможно. Кроме того, ещё "алиасинг" вызывает массу ошибок. Это union, void*, reinterpret_cast, c-style cast "(char*)x"... Алиасинг применяется ввиду отсутствия ни статического (на уровне шаблонов), ни динамического (на уровне ООП) полиморфизма, и ввиду отсутствия generic-функций и типов. Других вариантов нет и программисту приходится всё делать руками, что в других языках делается какими-то относительно безопасными механизмами. И при этом компилятор ничего не проверяет и позволяет допускать ошибки с несовместимыми типами объектов, с несовместимым выравниванием, с несовместимыми размерами в памяти... Кроме того, отсутствия концепции владения (RAII), или garbage collector, неизбежно ведёт к утере ресурсов (утечкам памяти). Реально C++ позволяет допустить куда меньше характерных для C ошибок, требующих отладки с отладчиком. Но позволяет другие классы ошибок, но это уже другая история. В среднем на C++ возможно создание более сложных архитектурных решений, которые на C утонули бы в собственной сложности и ошибках. Про ассемблер и говорить нечего. И с другой стороны скриптовые языки очень выигрывают по скорости разработки, но по скорости работы и безошибочности далеко позади. Последнее практически ограничивает возможность применения скриптовых языков в больших проектах.
[ZX]