Владимир Вишневский - С++ в мире встраиваемых систем

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ธ.ค. 2024
  • Ближайшая конференция - C++ Russia 2025, 20-21 марта, Москва + online. Подробности и билеты: jrg.su/9Sszhd
    - -
    Доклад знакомит слушателей с концепциями, разнообразием и архитектурными особенностями встраиваемых систем и рассматривает специфику использования С++ для разработки встраиваемого ПО. Множество аппаратных платформ и задач, решаемых встраиваемыми системами, определяет разнообразие существующих проблем, доступного инструментария и стандартов.
    В докладе рассматривается текущее положение дел в сфере использования языка С++ для разработки встраиваемого ПО с фокусом на особенностях языка С++, востребованных в реальных проектах, а также проблемах, ограничивающих его применение.
    Представленная информация может быть интересна специалистам начинающего и среднего уровня - как уже работающим со встраиваемыми системами, так и рассматривающими это направление для дальнейшего развития.

ความคิดเห็น • 7

  • @vladimir0rus
    @vladimir0rus 10 หลายเดือนก่อน +1

    Писать юнит-тесты и следовать TDD можно и на Си.

  • @SS-ne5js
    @SS-ne5js 11 หลายเดือนก่อน

    16:10 требования к языку

  • @vladimir0rus
    @vladimir0rus 10 หลายเดือนก่อน

    4:05 Такое определение встраиваемых систем никуда не годится. WiFi роутер это 100% "встраиваемая система", но его функционал не является вторичным. Все smart (умные) устройста и IoT - это всё встраиваемые системы.

  • @ВладиславСагунов-щ5м
    @ВладиславСагунов-щ5м 2 ปีที่แล้ว +5

    Много лет занимаюсь пропагандой С++ в embedded сообществах. Так корову не продать. Чхать они хотели на возможность тестирования. Реальную работу с железом ни один тест воспроизвести не может, а потому только отладка и испытания в железе. Начинаешь показывать возможности компайлтайм вычислений и оптимизаций на примере пинов - получаешь в ответ "и это дрочево и портянки ради дрыганья ножек и экономии пары таков?". Показывать что-то более серьёзное вобще не имеет смысла, ибо разговор на разных языках. Ну, примерно как ваша заключительная часть доклада - прощебетали на своём птичьем название двух десятков классов и что? Ради чего всё это надо изучить?

    • @MikeSmith-qc3ow
      @MikeSmith-qc3ow 2 ปีที่แล้ว +1

      Согласен, этот доклад по сути поймут только плюсовики. Бывалый эмбед-си-программист с опытом, испорченным десятком простых проектов, чхать хотел на классы, шаблоны, enum class, constexpr, ссылки и прочие полезности. Чтобы понять удобство с++, надо им начать пользоваться. А без знания языка это невозможно. Зачем нам напрягаться, что-то учить, когда наша программа и так работает, зачастую под лозунгом "и так сойдёт". Я уже лет десять перешёл на плюсы в эмбеддед, назад в чистый си не хочу. Но бывалых коллег переубедить действительно сложно.

  • @sergeykirdyankin7027
    @sergeykirdyankin7027 ปีที่แล้ว

    Классное видео. Если бы еще вендоры на это внимание обратили, а так под каждый новый МК придётся самим всю периферию описывать, а это не хилый объём дополнительной работы - работодатель может не оценить. В Rust рекламируют классную штуку, утилита которая из SVD файла(которые к каждому чипу поставляются) генерирует полное описание всей периферии с контролем возможности записи/чтения в каждый бит. Вот что то подобное для плюсов бы, но тут действительно сначала бы стандарт какой придумать для этого, что не тривиально учитывая насколько периферия может отличаться от МК к МК. Тогда переход с Си был бы гораздо проще. Сейчас же в условиях когда в наличие SDK только с сишным описанием периферии и ядра сделать такое конечно можно но очень трудозатратно, особенно если различных используемых платформ(МК) довольно много.

  • @vladimir0rus
    @vladimir0rus 10 หลายเดือนก่อน

    Похоже С++ адепты не понимают что главным ограничением в случае микроконтроллеров являются RAM и ROM, поэтому все эти распухшие С++ библиотеки идут лесом.
    Если нельзя использовать динамическую аллокацию, то и никакие смарт поинтеры и RAII не нужны, так как всё равно приходится ресурсами вручную управлять.
    Поэтому от С++ мало что остается полезного.