Низкоуровневое
программирование сегодня:
новые стандарты С++,
программирование
контроллеров, тренды IoT
Антон Семенченко
Обо мне
Антон Семенченко
автоматизированное
тестирование, низкоуровневая
разработка, управление, продажи
Основатель DPI.Solutions
Менеджер в EPAM Systems
Тренер по автоматизации и
управлению
Примеры проектов 
1. Холодильник спамер
2. Безопасный фитнес браслет и стоимость безопасности
3. Умный дом симпатизирующий грабителям
4. ПО для Атомных Реакторов
5. Умный дом, Ардуино, и дети дошкольного возраста
6. Умные устройства: например, активные камеры
7. Камеры – «хакеры»
8. Google Translate и смерть Эсперанто
9. Готовь сани  лыжи летом
10.Эмуляция тяжелой техники и снежные истории страховых
агентов
11.Дополненая реальность: Магазин, Музей и Банк
12.Виртуальная реальность
13.Дубайские рассказы о самом умном роботе в мире из
сердца Сибири
C++: зарплаты в Минске
https://salaries.dev.by/
Разнообразие
Сокращается ли внутреннее разнообразие
систем в процессе эволюции?
Живая и неживая природа, язык, культура,
технологии
История С++
1983 – зарождение языка
1998 – стандарт С++ 98
2003 – стандарт С++ 03
2011 – С++ 11
2014 – С++ 14
2015 – C++ Core Guidelines
2017 – C++ 17 (ожидаемо)
C++ Core Guidelines
Бьерн Страуструп
Герб Саттер
● Опубликованы в сентябре 2015
● Open source (github)
● MIT-style (contributor) лицензия
● Открыты для дополнения
● Сейчас: около 250 страниц А4
https://github.com/isocpp/CppCoreGuidelines
Core Guidelines: идеология
"Within C++ is a smaller, simpler, safer language
struggling to get out." - Bjarne Stroustrup
● Современный С++ 11/14/17 (прицел на
будущее)
● Автоматизируемые правила, где возможно
● Безопасность и простота кода
● Фокус на высокоуровневых вещах:
○ типы и интерфейсы
○ управление ресурсами (в т.ч. памятью)
○ потокобезопасность
Core Guidelines: цели
● Использование накопленных годами знаний
● Унификация практик между организациями
● Получить качественный код:
○ статически типо-безопасный
○ без утечки ресурсов
○ с ранней диагностикой ошибок в логике
● Помочь новичкам в изучении С++
1. Непосредственно правила
2. Guideline Support Library (GSL, header-only) -
функции и типы, рекомендуемые Гайдланами
https://github.com/Microsoft/GSL
1. Checker Tool (Visual Studio Add-in) -
автоматическая проверка правил
https://blogs.msdn.microsoft.com/vcblog/2015/12/03/c-
core-guidelines-checkers-available-for-vs-2015-update-1/
Core Guidelines: компоненты
С++: полезные ссылки
https://isocpp.org/ – сайт, посвященный работе комитета
стандартизации С++ и сопутствующим вопросам
http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/n4606.pdf –
черновой вариант следующего стандарта С++17
https://google.github.io/styleguide/cppguide.html – Google C++ Style
Guide
http://www.codingstandard.com/section/index/ – High Integrity C++
Coding Standard
Литература по С++
1. Гради Буч «Объектно-ориентированный анализ и проектирование с
примерами приложений на С++»
На мой взгляд это одна из лучших книг для настоящего, а не шапочного,
знакомство с ООП.
2. Scott Meyers «Effective C++» / «More Effective C++», издание 1, 2 и 3
Книга состоит из набора атомарных советов – областей С++. Это одна из
настоятельно рекомендованных к прочтению книг в большинстве топовых IT
компаний, например Microsoft.
3. Scott Meyers «Effective STL»
Советую прочитать книгу хотя бы раз и в дальнейшем обращаться как к
справочнику.
4. Саттер Герб «Решение сложных задач на С++», часть 1 и 2.
Очень советую прочитать обе книги дважды от корки до корки, а потом
самостоятельно прорешать предложенные задачи.
5. Scott Meyers «Effective Modern C++»
Советую прочитать дважды. Книга состоит из набора атомарных советов –
областей С++. Это одна из настоятельно рекомендованных к прочтению книг
в большинстве топовых IT компаний, например Microsoft.
CoreHard C++ Community
https://corehard.by/ – сайт сообщества
http://conference.corehard.by/ – сайт конференций сообщества
Спасибо! Вопросы?
Антон Семенченко
skype: dpi.semenchenko
semenchenko@dpi.solutions

низкоуровневое программирование сегодня новые стандарты с++, программирование контроллеров, тренды Io t

  • 1.
    Низкоуровневое программирование сегодня: новые стандартыС++, программирование контроллеров, тренды IoT Антон Семенченко
  • 2.
    Обо мне Антон Семенченко автоматизированное тестирование,низкоуровневая разработка, управление, продажи Основатель DPI.Solutions Менеджер в EPAM Systems Тренер по автоматизации и управлению
  • 3.
    Примеры проектов  1.Холодильник спамер 2. Безопасный фитнес браслет и стоимость безопасности 3. Умный дом симпатизирующий грабителям 4. ПО для Атомных Реакторов 5. Умный дом, Ардуино, и дети дошкольного возраста 6. Умные устройства: например, активные камеры 7. Камеры – «хакеры» 8. Google Translate и смерть Эсперанто 9. Готовь сани лыжи летом 10.Эмуляция тяжелой техники и снежные истории страховых агентов 11.Дополненая реальность: Магазин, Музей и Банк 12.Виртуальная реальность 13.Дубайские рассказы о самом умном роботе в мире из сердца Сибири
  • 4.
    C++: зарплаты вМинске https://salaries.dev.by/
  • 5.
    Разнообразие Сокращается ли внутреннееразнообразие систем в процессе эволюции? Живая и неживая природа, язык, культура, технологии
  • 6.
    История С++ 1983 –зарождение языка 1998 – стандарт С++ 98 2003 – стандарт С++ 03 2011 – С++ 11 2014 – С++ 14 2015 – C++ Core Guidelines 2017 – C++ 17 (ожидаемо)
  • 7.
    C++ Core Guidelines БьернСтрауструп Герб Саттер ● Опубликованы в сентябре 2015 ● Open source (github) ● MIT-style (contributor) лицензия ● Открыты для дополнения ● Сейчас: около 250 страниц А4 https://github.com/isocpp/CppCoreGuidelines
  • 8.
    Core Guidelines: идеология "WithinC++ is a smaller, simpler, safer language struggling to get out." - Bjarne Stroustrup ● Современный С++ 11/14/17 (прицел на будущее) ● Автоматизируемые правила, где возможно ● Безопасность и простота кода ● Фокус на высокоуровневых вещах: ○ типы и интерфейсы ○ управление ресурсами (в т.ч. памятью) ○ потокобезопасность
  • 9.
    Core Guidelines: цели ●Использование накопленных годами знаний ● Унификация практик между организациями ● Получить качественный код: ○ статически типо-безопасный ○ без утечки ресурсов ○ с ранней диагностикой ошибок в логике ● Помочь новичкам в изучении С++
  • 10.
    1. Непосредственно правила 2.Guideline Support Library (GSL, header-only) - функции и типы, рекомендуемые Гайдланами https://github.com/Microsoft/GSL 1. Checker Tool (Visual Studio Add-in) - автоматическая проверка правил https://blogs.msdn.microsoft.com/vcblog/2015/12/03/c- core-guidelines-checkers-available-for-vs-2015-update-1/ Core Guidelines: компоненты
  • 11.
    С++: полезные ссылки https://isocpp.org/– сайт, посвященный работе комитета стандартизации С++ и сопутствующим вопросам http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/n4606.pdf – черновой вариант следующего стандарта С++17 https://google.github.io/styleguide/cppguide.html – Google C++ Style Guide http://www.codingstandard.com/section/index/ – High Integrity C++ Coding Standard
  • 12.
    Литература по С++ 1.Гради Буч «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» На мой взгляд это одна из лучших книг для настоящего, а не шапочного, знакомство с ООП. 2. Scott Meyers «Effective C++» / «More Effective C++», издание 1, 2 и 3 Книга состоит из набора атомарных советов – областей С++. Это одна из настоятельно рекомендованных к прочтению книг в большинстве топовых IT компаний, например Microsoft. 3. Scott Meyers «Effective STL» Советую прочитать книгу хотя бы раз и в дальнейшем обращаться как к справочнику. 4. Саттер Герб «Решение сложных задач на С++», часть 1 и 2. Очень советую прочитать обе книги дважды от корки до корки, а потом самостоятельно прорешать предложенные задачи. 5. Scott Meyers «Effective Modern C++» Советую прочитать дважды. Книга состоит из набора атомарных советов – областей С++. Это одна из настоятельно рекомендованных к прочтению книг в большинстве топовых IT компаний, например Microsoft.
  • 13.
    CoreHard C++ Community https://corehard.by/– сайт сообщества http://conference.corehard.by/ – сайт конференций сообщества
  • 14.