Провёл встречу с читателями в Ростове на Дону в библиотеке. Было много людей, общение снова шло без записи и довольно откровенно. Обсудили зачем в мире больше одного компилятора, взгляды Федора Достоевского на код ревью, а также что советовал Чжуан Цзы насчёт перехода программиста в менеджмент. Ну и про книжку пообщались.
Начали разговаривать в уютной комнате с огромным столом и портретами классиков. Но после часа общения и автограф-сессии нас оттуда прогнали. В ответ на это, мы, не обинуясь, оккупировали читальный зал и еще общались полтора часа просто под недоумевающие взгляды сотрудников.
Два с половиной часа в итоге пролетели незаметно.
С моей точки зрения прошло очень круто, большое спасибо всем кто пришёл. Особенно спасибо C++ группе Ростова на Дону за распространение информации в локальном коммьюнити (ссылку скинут в комментарии) а также Донской Библиотеке за организацию встречи и общую терпимость к самозахвату читального зала.
#author_event
Начали разговаривать в уютной комнате с огромным столом и портретами классиков. Но после часа общения и автограф-сессии нас оттуда прогнали. В ответ на это, мы, не обинуясь, оккупировали читальный зал и еще общались полтора часа просто под недоумевающие взгляды сотрудников.
Два с половиной часа в итоге пролетели незаметно.
С моей точки зрения прошло очень круто, большое спасибо всем кто пришёл. Особенно спасибо C++ группе Ростова на Дону за распространение информации в локальном коммьюнити (ссылку скинут в комментарии) а также Донской Библиотеке за организацию встречи и общую терпимость к самозахвату читального зала.
#author_event
Всем привет. По ближайшим событиям.
17 мая читаю гостевую лекцию в институте iSpring в Йошкар-Оле. Тема примерно та же что и в ННГУ: инструменты разработки.
22 мая вместе с Настей Черниковой выступаем на PhDays в Москве https://phdays.com/ru/forum/program/?tags=development&talk-id=1867
24 мая вместе с Ильёй Андреевым выступаем на Yadro C++ митапе в Санкт-Петербурге https://meetups.yadro.com/cpp-kernel-spb-0525
7 июня читаю гостевую лекцию в Школе 21 в Великом Новгороде.
#official
17 мая читаю гостевую лекцию в институте iSpring в Йошкар-Оле. Тема примерно та же что и в ННГУ: инструменты разработки.
22 мая вместе с Настей Черниковой выступаем на PhDays в Москве https://phdays.com/ru/forum/program/?tags=development&talk-id=1867
24 мая вместе с Ильёй Андреевым выступаем на Yadro C++ митапе в Санкт-Петербурге https://meetups.yadro.com/cpp-kernel-spb-0525
7 июня читаю гостевую лекцию в Школе 21 в Великом Новгороде.
#official
phdays.com
Программа PHDays Fest
Positive Hack Days Fest - международный киберфестиваль для всех, кто хочет погрузиться в мир кибербезопасности и технологий. Любой желающий может узнать, как устроен цифровой мир, повысить уровень своей защищенности и круто провести время
Выступил на конференции Аскон. Конференция была внутренняя (только для сотрудников компании), а я был приглашённым спикером. Слот выдали небольшой, но в пленарной части, что уважительно само по себе. Плюс моё выступление мне разрешили выложить у себя, за что особенное спасибо.
Что можно успеть за 20 минут? Я попробовал успеть небольшой спидран по тому, что каждый программист должен знать про то, почему компиляторы могут оптимизировать вообще и какие оптимизации лучше держать включёнными. Материал частично пересекается с выступлением на SnowOne, но там я много говорил о сравнении с динамическими языками, подробно и академично, а здесь своего рода выжимка. Мне кажется -- довольно полезная.
Судя по всему, остальные доклады с конференции никуда вовне не выложат, что жаль, там были интересные.
https://youtu.be/YfgwPY5FulY
P. S. SnowOne тоже скоро будет, возможно уже вот-вот.
#conference
Что можно успеть за 20 минут? Я попробовал успеть небольшой спидран по тому, что каждый программист должен знать про то, почему компиляторы могут оптимизировать вообще и какие оптимизации лучше держать включёнными. Материал частично пересекается с выступлением на SnowOne, но там я много говорил о сравнении с динамическими языками, подробно и академично, а здесь своего рода выжимка. Мне кажется -- довольно полезная.
Судя по всему, остальные доклады с конференции никуда вовне не выложат, что жаль, там были интересные.
https://youtu.be/YfgwPY5FulY
P. S. SnowOne тоже скоро будет, возможно уже вот-вот.
#conference
Выложили мой доклад на конференции SnowOne. Кажется он получился довольно удачным. Я подробно обсудил чем статически компилируемые языки такие как C++ отличаются от динамически компилируемых, таких как Java. Отдельно остановился на разгадке того факта почему в Java нет UB и привёл пример из C++ где по той же логике в C++ нет UB.
https://www.youtube.com/watch?v=fAZSIAsKarc
00:00 Введение.
08:18 Абстрактная машина языка и as-if rule.
16:44 Трансляционная семантика и виды поведения программ.
25:10 Борьба против UB это борьба против производительности.
35:20 Смешение трансляции и исполнения.
43:10 Резюме, выводы и ответы на вопросы.
#conference
https://www.youtube.com/watch?v=fAZSIAsKarc
00:00 Введение.
08:18 Абстрактная машина языка и as-if rule.
16:44 Трансляционная семантика и виды поведения программ.
25:10 Борьба против UB это борьба против производительности.
35:20 Смешение трансляции и исполнения.
43:10 Резюме, выводы и ответы на вопросы.
#conference
YouTube
Константин Владимиров: Странные ограничения статических компиляторов
Рассмотрим, чем статически компилируемые языки отличаются от динамически компилируемых, что такое трансляционная семантика, чем трансляция отличается от исполнения и какие странные ограничения статических компиляторов это порождает.
Слайды: https://spea…
Слайды: https://spea…
Выложили самый важный мой доклад этого года про модули в C++.
Он оформлен в виде сказки про кашу из топора. Вы все знаете эту сказку, но я расскажу её по новому.
https://www.youtube.com/watch?v=LvRQH8Gkl1E
00:00 Начало
03:30 Дисциплина для меньшей сложности
07:30 Компонентный подход
11:50 Появление топора: precompiled headers
17:30 Кусочек мяса: контроль экспорта и модули
27:05 Немного крупы: транзитивный импорт
32:54 Кусочек масла: глобальный фрагмент
42:40 Финальный рецепт и ответы на вопросы
Давайте приложим силы к тому, чтобы модули стали былью.
Альтернативная ссылка: https://vkvideo.ru/video-77278886_456239996
Презентация: https://jrg.su/3bcqzV
#conference
Он оформлен в виде сказки про кашу из топора. Вы все знаете эту сказку, но я расскажу её по новому.
https://www.youtube.com/watch?v=LvRQH8Gkl1E
00:00 Начало
03:30 Дисциплина для меньшей сложности
07:30 Компонентный подход
11:50 Появление топора: precompiled headers
17:30 Кусочек мяса: контроль экспорта и модули
27:05 Немного крупы: транзитивный импорт
32:54 Кусочек масла: глобальный фрагмент
42:40 Финальный рецепт и ответы на вопросы
Давайте приложим силы к тому, чтобы модули стали былью.
Альтернативная ссылка: https://vkvideo.ru/video-77278886_456239996
Презентация: https://jrg.su/3bcqzV
#conference
YouTube
Константин Владимиров — Каша из топора: модули в C++, проблемы и решения
Подробнее о конференции C++ Russia: https://jrg.su/9Sszhd
— —
Скачать презентацию с сайта C++ Russia — https://jrg.su/wR78UC
Модули в C++ имеют нелегкую историю. Они выросли из прекомпилированных хедеров, были с некоторым трудом приняты в стандарт и не…
— —
Скачать презентацию с сайта C++ Russia — https://jrg.su/wR78UC
Модули в C++ имеют нелегкую историю. Они выросли из прекомпилированных хедеров, были с некоторым трудом приняты в стандарт и не…
Провёл гостевую лекцию в Йошкар Оле в институте iSpring. Было довольно много народа (и невероятно огромный зал, прикладываю отдельно фотку левой и правой частей). Как обычно, очень порадовали студенты как отличными ответами на мои вопросы так и своими вопросами мне.
Организаторы делали довольно профессиональную видеозапись. Возможно, скоро выложу.
После лекции ещё больше часа общались, довольно неплохо. Надеюсь всем тоже понравилось.
Огромное спасибо iSpring и лично Алексею Малову за приглашение и за то, что был также организован доступ студентам местного ПГТУ (поволжского государственного). Алексей на одной из фоток. К слову он, кроме основной работы, также преподаёт информатику в местном универе и у него есть ютуб канал с лекциями: https://youtube.com/@vividbw
Следующий в планах Великий Новгород 7-го июня, гостевая лекция в Школе 21. Более подробно ближе к дате.
#author_event
Организаторы делали довольно профессиональную видеозапись. Возможно, скоро выложу.
После лекции ещё больше часа общались, довольно неплохо. Надеюсь всем тоже понравилось.
Огромное спасибо iSpring и лично Алексею Малову за приглашение и за то, что был также организован доступ студентам местного ПГТУ (поволжского государственного). Алексей на одной из фоток. К слову он, кроме основной работы, также преподаёт информатику в местном универе и у него есть ютуб канал с лекциями: https://youtube.com/@vividbw
Следующий в планах Великий Новгород 7-го июня, гостевая лекция в Школе 21. Более подробно ближе к дате.
#author_event
Выкладываю запись своего выступления в институте iSpring 17 мая 2025 года. Огромная благодарность организаторам за приглашение и за разрешение выложить запись на моём канале.
https://youtu.be/A9B2_rAPCmw
В этой лекции мы поднимемся от самого нижнего уровня -- отдельных транзисторов до высокоуровневых языков программирования и проследим совместное развитие механизмов абстракции и инструментов разработки.
00:00 Начало: бинарные цифровые компьютеры
06:00 Мнемоническое представление и проблемы двоичного кода
14:10 Релокации и изобретение линкера
17:25 Язык ассемблера, секции и ассемблер как программа
24:30 Дизассемблер.
30:25 ABI и соглашения о вызове
35:35 Библиотеки
40:55 Проблемы ассемблера
48:10 Алгоритмические языки и компиляторы
54:45 Компилятор и его ограничения
01:03:40 Оптимизации в бэкенеде: inline и LTO
01:15:00 Гарантии по именам и механизмы абстракции
01:19:55 Завершение: абстракции не случайны
P. S.
Также есть несколько фанатский контент: та же лекция в ННГУ. Там несколько хуже монтаж, но она создаёт представление о том как я читаю одну и ту же лекцию для двух разных аудиторий: https://youtu.be/S-qSU6jau2M
#toolchain
https://youtu.be/A9B2_rAPCmw
В этой лекции мы поднимемся от самого нижнего уровня -- отдельных транзисторов до высокоуровневых языков программирования и проследим совместное развитие механизмов абстракции и инструментов разработки.
00:00 Начало: бинарные цифровые компьютеры
06:00 Мнемоническое представление и проблемы двоичного кода
14:10 Релокации и изобретение линкера
17:25 Язык ассемблера, секции и ассемблер как программа
24:30 Дизассемблер.
30:25 ABI и соглашения о вызове
35:35 Библиотеки
40:55 Проблемы ассемблера
48:10 Алгоритмические языки и компиляторы
54:45 Компилятор и его ограничения
01:03:40 Оптимизации в бэкенеде: inline и LTO
01:15:00 Гарантии по именам и механизмы абстракции
01:19:55 Завершение: абстракции не случайны
P. S.
Также есть несколько фанатский контент: та же лекция в ННГУ. Там несколько хуже монтаж, но она создаёт представление о том как я читаю одну и ту же лекцию для двух разных аудиторий: https://youtu.be/S-qSU6jau2M
#toolchain
Выложили наш с Настей Черниковой доклад на Positive Hack Days "Опен-сорс от кристалла до программного стека".
Своего рода сборная солянка, многое из этого вы уже видели в других докладах на этом канале.
Но акценты смещены и добавлена новая большая часть про конвейер, интерфейсы и открытые ядра в исполнении Насти (см. с 5-й до 20-й минуты примерно), вот это стоит посмотреть.
https://youtu.be/b_YaT_o463o
00:00 Введение. Архитектура RISC-V, открытая и расширяемая (sigh).
05:38 Стадии конвейера и интерфейсы.
13:37 Открытые ядра на базе RISC-V, тестовое окружение и проблема верификации
19:14 Компиляторные технологии и LLVM
24:46 Моделирование и верификация RISC-V на разных уровнях и llvm-snippy
29:17 Задача бенчмаркинга и llvm-exegesis
34:24 Проблема высокоуровневого ПО, профили и развитие экосистемы
41:15 Ответы на вопросы
Альтернативная ссылка:
https://vkvideo.ru/video-28022322_456241183
#conference #riscv
Своего рода сборная солянка, многое из этого вы уже видели в других докладах на этом канале.
Но акценты смещены и добавлена новая большая часть про конвейер, интерфейсы и открытые ядра в исполнении Насти (см. с 5-й до 20-й минуты примерно), вот это стоит посмотреть.
https://youtu.be/b_YaT_o463o
00:00 Введение. Архитектура RISC-V, открытая и расширяемая (sigh).
05:38 Стадии конвейера и интерфейсы.
13:37 Открытые ядра на базе RISC-V, тестовое окружение и проблема верификации
19:14 Компиляторные технологии и LLVM
24:46 Моделирование и верификация RISC-V на разных уровнях и llvm-snippy
29:17 Задача бенчмаркинга и llvm-exegesis
34:24 Проблема высокоуровневого ПО, профили и развитие экосистемы
41:15 Ответы на вопросы
Альтернативная ссылка:
https://vkvideo.ru/video-28022322_456241183
#conference #riscv
YouTube
Опенсорс от кристалла до программного стека
Нужны ли нам открытые архитектуры? Что нам нужно, чтобы они работали? В этом докладе мы попытаемся изложить основные проблемы и преимущества открытых архитектур на примере RISC-V — и расскажем про то, как происходит разработка различных инструментов, включая…
Продолжаю выводить в свет своих учеников и коллег. На этот раз на C++ митапе Yadro я выступил вместе с Ильёй Андреевым -- старшим инженером в моей команде, работающим много над чем и в том числе над девиртуализацией в Syntacore Devtoolkit. Для Ильи это первое выступление и, мне кажется, получилось отлично.
Мы рассмотрели вопросы девиртуализации -- сначала простые случаи, разобранные, в частности, в моей книге, а дальше более интересные алгоритмы, которые способны работать в сложных случаях и давать отличный прирост производительности. Не обошлось без починки странных примеров добавлением одного символа и без далеко идущих выводов относительно вашего кода.
https://www.youtube.com/watch?v=egdhQOQsj_Q
00:00 Начало. Два полиморфизма.
05:15 Обратите внимание: мы с Ильёй отлично знаем про виртуальные деструкторы. На дальнейших слайдах их нет для экономии места.
05:44 Виртуальные функции это дорого?
09:25 Две девиртуализации.
13:15 Совместная работа оптимизаций в компиляторе, моя книжка и sc-dt, над которым мы с Ильёй работаем. Концепция VCT.
17:35 Появление Ильи. Что если убрать виртуальные функции: идеи вокруг std::variant.
22:50 Погружение в таблицы виртуальных функций.
27:30 Идея и алгоритм спекулятивной девиртуализации в компиляторе.
33:05 Один очень интересный случай когда она может не сработать
35:15 Бенчмаркинг и выводы
39:15 Вопросы из зала
Альтернативная ссылка: https://rutube.ru/video/fe56f9b56f6caa6943465b1568c490d1
P. S. В ближайшее время будет пост про предстоящие встречи с читателями, в частности про встречу в Екатеринбурге, там назначили дату и место.
#conference
Мы рассмотрели вопросы девиртуализации -- сначала простые случаи, разобранные, в частности, в моей книге, а дальше более интересные алгоритмы, которые способны работать в сложных случаях и давать отличный прирост производительности. Не обошлось без починки странных примеров добавлением одного символа и без далеко идущих выводов относительно вашего кода.
https://www.youtube.com/watch?v=egdhQOQsj_Q
00:00 Начало. Два полиморфизма.
05:15 Обратите внимание: мы с Ильёй отлично знаем про виртуальные деструкторы. На дальнейших слайдах их нет для экономии места.
05:44 Виртуальные функции это дорого?
09:25 Две девиртуализации.
13:15 Совместная работа оптимизаций в компиляторе, моя книжка и sc-dt, над которым мы с Ильёй работаем. Концепция VCT.
17:35 Появление Ильи. Что если убрать виртуальные функции: идеи вокруг std::variant.
22:50 Погружение в таблицы виртуальных функций.
27:30 Идея и алгоритм спекулятивной девиртуализации в компиляторе.
33:05 Один очень интересный случай когда она может не сработать
35:15 Бенчмаркинг и выводы
39:15 Вопросы из зала
Альтернативная ссылка: https://rutube.ru/video/fe56f9b56f6caa6943465b1568c490d1
P. S. В ближайшее время будет пост про предстоящие встречи с читателями, в частности про встречу в Екатеринбурге, там назначили дату и место.
#conference
YouTube
Девиртуализация в C++, компиляторах и вашей программе (Константин Владимиров, Илья Андреев)
24 мая в Санкт-Петербурге состоялся первый System Level Meetup от компании YADRO. В рамках мероприятия спикеры из Syntacore, Константин Владимиров и Илья Андреев, выступили с докладом "Девиртуализация в C++, компиляторах и вашей программе".
Они рассказали…
Они рассказали…
Провёл лекцию и встречу с читателями в Школе 21 в Великом Новгороде. Качество фото увы, зато солнце приятно освещало амфитеатр.
Отличный зал, замечательный город, местные ребята и девушки очень интересуются программированием. После лекции (увы записи не было) обсудили широкий круг вопросов, таких как проблемы наказания нейросетей, пределы возможностей компиляторов к алгоритмической оптимизации и необходимость для разработчика знать своё железо.
Возможно покидаю в комментарии путевых заметок.
P. S. С Екатеринбургом пока всё сложно. Там кое-что сорвалось, но надеюсь встреча 13-го всё же будет.
#author_event
Отличный зал, замечательный город, местные ребята и девушки очень интересуются программированием. После лекции (увы записи не было) обсудили широкий круг вопросов, таких как проблемы наказания нейросетей, пределы возможностей компиляторов к алгоритмической оптимизации и необходимость для разработчика знать своё железо.
Возможно покидаю в комментарии путевых заметок.
P. S. С Екатеринбургом пока всё сложно. Там кое-что сорвалось, но надеюсь встреча 13-го всё же будет.
#author_event
Всем привет. Я всё-таки еду на Урал. Небольшая лекция и встреча с читателями состоится 13-го июня в Екатеринбурге в 19 часов. Примерно час на лекцию и час на ответы на вопросы, как обычно по широкому кругу тем.
Площадку предоставляет Библиотечный Центр «Екатеринбург».
Обязательная регистрация (бесплатно): https://bce.timepad.ru/event/3413045/
Дата и время: 13 июня 19:00–21:00
Адрес: Библиотечный Центр «Екатеринбург», ул. Мамина-Сибиряка, 193
Обращаю внимание: купить книгу на месте будет нельзя, приносите с собой.
На Урале я после этого скорее всего буду не скоро, так что обязательно приходите.
#author_event
Площадку предоставляет Библиотечный Центр «Екатеринбург».
Обязательная регистрация (бесплатно): https://bce.timepad.ru/event/3413045/
Дата и время: 13 июня 19:00–21:00
Адрес: Библиотечный Центр «Екатеринбург», ул. Мамина-Сибиряка, 193
Обращаю внимание: купить книгу на месте будет нельзя, приносите с собой.
На Урале я после этого скорее всего буду не скоро, так что обязательно приходите.
#author_event
bce.timepad.ru
Компиляторы и инструменты разработки / События на TimePad.ru
Лекция Константина Владимирова
Провёл встречу с читателями в Екатеринбурге. Пришли люди из местного УрФУ, приехали из Челябинска и из Тагила и из других городов. Было много народа, очень хорошая аудитория. Увы, было жестко лимитированное время, так что мне показалось, что немного не договорили.
Тем не менее, был прекрасный живо реагирующий зал, интересные вопросы, мне очень понравилось. Обсудили перспективы формальной верификации компиляторов, причины будущего успеха убийцы языка Раст и управление зависимостями в C++. Ну и про компиляторы поговорили. Записи, увы, не было.
К слову в "Библиотечном центре Екатеринбург" отличная площадка, большое спасибо за неё.
Кроме того, люди из УрФУ сказали что просто не знали, что меня можно позвать с гостевой лекцией и осенью возможно позовут.
Екатеринбург очень хорош и я по нему очень приятно погулял в отличной компании. Путевые заметки скину в комментарии.
Список из прошлого опроса исчерпан, так что скоро сделаю новый опрос по дальнейшим поездкам ))
#author_event
Тем не менее, был прекрасный живо реагирующий зал, интересные вопросы, мне очень понравилось. Обсудили перспективы формальной верификации компиляторов, причины будущего успеха убийцы языка Раст и управление зависимостями в C++. Ну и про компиляторы поговорили. Записи, увы, не было.
К слову в "Библиотечном центре Екатеринбург" отличная площадка, большое спасибо за неё.
Кроме того, люди из УрФУ сказали что просто не знали, что меня можно позвать с гостевой лекцией и осенью возможно позовут.
Екатеринбург очень хорош и я по нему очень приятно погулял в отличной компании. Путевые заметки скину в комментарии.
Список из прошлого опроса исчерпан, так что скоро сделаю новый опрос по дальнейшим поездкам ))
#author_event