C++ and other lectures
Відкрити в Telegram
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir Boosty автора: https://boosty.to/cpp_lects_rus
Показати більше9 608
Підписники
Немає даних24 години
+137 днів
+10330 день
Архів дописів
Всем привет. По ближайшим событиям.
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
31 мая с высокой вероятностью читаю гостевую лекцию в Школе 21 в Великом Новгороде.
#official
+2
Провёл встречу с читателями в Ростове на Дону в библиотеке. Было много людей, общение снова шло без записи и довольно откровенно. Обсудили зачем в мире больше одного компилятора, взгляды Федора Достоевского на код ревью, а также что советовал Чжуан Цзы насчёт перехода программиста в менеджмент. Ну и про книжку пообщались.
Начали разговаривать в уютной комнате с огромным столом и портретами классиков. Но после часа общения и автограф-сессии нас оттуда прогнали. В ответ на это, мы, не обинуясь, оккупировали читальный зал и еще общались полтора часа просто под недоумевающие взгляды сотрудников.
Два с половиной часа в итоге пролетели незаметно.
С моей точки зрения прошло очень круто, большое спасибо всем кто пришёл. Особенно спасибо C++ группе Ростова на Дону за распространение информации в локальном коммьюнити (ссылку скинут в комментарии) а также Донской Библиотеке за организацию встречи и общую терпимость к самозахвату читального зала.
#author_event
Всем привет, встреча в Ростове на Дону уже завтра: в субботу 26 апреля в 16 часов в Донской Библиотеке, 3 этаж, западный зал.
Всех очень жду. По гугл-формам записалось 40 (!) человек, это отличная цифра, столько места там вполне есть, библиотека огромная. Надеюсь всё пройдёт отлично.
Этот пост -- плейсхолдер, я его удалю и заменю отчётом о встрече, когда она пройдёт.
Провёл встречу с читателями в Нижнем Новгороде.
Проговорили более двух с половиной часов. Записи не было, так что беседа шла с полностью открытыми интеллектуальными шлюзами. Обсудили не только такие неизбежные темы как мои творческие планы и ML в компиляторах, но и более сложные темы, например состояние гуманитарной науки и мультфильм my little pony. Подписал много книжек. Впервые на встрече был десятиклассник уже читающий мою книгу, что, конечно, вау.
Спасибо всем кто пришёл.
P. S. до встречи зашёл в кафе "Гуси" где меня узнала девушка бариста и сказала что тоже смотрит мои лекции. Это было ещё более вау. Я прямо почувствовал, что в Нижнем меня особенно любят. Очень это ценю.
Спасибо книжному магазину Дирижабль на Большой Покровке за организацию.
#author_event
+1
Прочитал в ННГУ гостевую лекцию по инструментам разработки. Жаль меня так редко зовут в университеты и огромное спасибо кафедре высокопроизводительных вычислений и системного программирования и институту информационных технологий математики и механики (почему-то факультеты в ННГУ называют институтами) и лично Иосифу Борисовичу Меерову за приглашение и организацию.
Прошло отлично, надеюсь студентам тоже понравилось (если кто то был на лекции из подписчиков -- кидайте честные отзывы в комментарии, мне важна обратная связь). По моим впечатлениям, аудитория была отличная.
Когда выложат запись обязательно дам ссылку на этом канале.
Завтра встреча с читателями и надеюсь придут все кто записался в таймпад.
Из университетов следующий iSpring в Йошкар-Оле 17 мая. Там тоже анонс должен появиться и скоро я тут напишу детали.
Ну и на следующей неделе встреча с читателями в Ростове На Дону, обязательно приходите, анонс был чуть выше ))
#official #author_event
Всем привет. Небольшое, но важное объявление.
Yadro открывает регистрацию на летнюю программу Yadro Импульс. Среди направлений и C и C++ и даже немного компиляторы и тулчейны, всё как мы любим. Набирают сотни человек. Стажировка два месяца -- июль и август, неплохо оплачивается. Рассчитана, конечно, на студентов, там написаны ограничения на сайте.
Подробности и запись: https://edu.yadro.com/impulse
#official
+2
Небольшое развлечение с микроволновками на выходных.
Берём любую русскую пословицу, я например выбрал такую "курочка по зёрнышку клюёт, а весь двор в говне".
Просим нейронку перевести это на английский с несколькими ограничениями:
1. Должен сохраниться идиоматический смысл. Например в случае с курочкой, что небольшие постоянные усилия приводят к не обязательно позитивным, но всегда к впечатляющим результатам.
2. На выходе это должна быть именно пословица, то есть нечто в свою очередь идиоматическое со всякими курочками, рыбками, которых трудно вытащить из пруда и прочими оленями.
3. Должен быть элемент технарского юмора в области компьютерных наук.
Получившиеся поговорки можно попросить сделать картинкой с подписью и запостить в комментарии.
Призов, кроме зрительских симпатий, не обещаю ))
#llm
Всем привет. По встрече в Ростове На Дону 26 апреля: она перенесена на более удобное время в 16:00
https://forms.gle/aL8K3b6xEpZKKVNW9
Поправил на форме. Встреча будет в здании Донской государственной библиотеки, ул. Пушкинская, 175А
Я вряд ли скоро снова приеду на юг России так что записывайтесь, проблем с местами вроде не будет ))
По лекции в ННГУ: опубликован анонс https://t.me/itmm_info/307 там же есть ссылка для регистрации.
#author_event
Всем привет. По анкетам я вижу, что на встречу в НН записалось несколько больше людей, чем готов вместить книжный (примерно впятеро больше, внезапно). Я обсудил с книжным и там решили сделать таймпад.
Пожалуйста кто идёт на встречу в Нижнем Новгороде 19 апреля в магазин Дирижабль, зарегистрируйтесь здесь (если места закончились значит не приходите, я обязательно приеду ещё).
https://dirigable-book.timepad.ru/event/3289158/
Кроме того у меня за день до встречи будет лекция в ННГУ, 18 апреля в 14-40. Анонс будет висеть где-нибудь в университете, я перед лекцией напишу сюда номер аудитории и все детали, вероятно это будет потоковый лекторий. Там тоже можно будет подписать книгу и пообщаться после лекции.
Всех студентов я сердечно приглашаю именно туда, чтобы больше не-студентов попало на встречу вне стен университета.
Также собираю анкеты желающих для встречи в Ростове На Дону.
https://docs.google.com/forms/d/e/1FAIpQLSdRsuJzsMA-x0IMJVzGeG7yN0-d0hS2g_XC5_doN-pOd-Y8qg/viewform
Планирую приехать 26-го апреля. О встрече договорился с местной библиотекой.
#author_event
Пятница, вечер, время почитать стандарт. Увертюра в четырёх актах.
1. Рассмотрим следующий пример. Тут компилятор считает запятую разделителем для макроса, а не для шаблона.
https://godbolt.org/z/s7s453v1o
Что делать? Очевидно поставить скобки:
2. https://godbolt.org/z/86Wj5nh4Y
Стало лучше, но всё ещё можно сломать. Как сломать? С помощью фигурных скобок и фантазии:
3. https://godbolt.org/z/v3qnf519v
Как починить?
После некоторой игры с компилятором я нашёл решение работающее на обоих основных компиляторах (я верю вы его тоже легко найдёте).
4. https://godbolt.org/z/1919eKvnr
Предлагается обосновать по стандарту почему это работает.
#questions
Выступил на Sysconf и на C++Russia этого года.
https://cppconf.ru/schedule/table/
https://sysconf.pro/schedule/table/
Выступление на C++Russia получилось потрясающим: у меня был забитый до отказа зал и я уже получил на него массу отличных отзывов. На Sysconf тоже неплохо. Теперь ждём пока видео станут публично доступны, я здесь сообщу.
Немного пост-конференционных соображений.
1. Хотелось бы всем рассказать о прекрасной инициативе, о которой я узнал от Михаила Лукина (но как я понимаю там много людей участвует): Friendly Journal of Software Systems
https://systems-journal.github.io
Кажется у нас снова появляется то место, где мы сможем обмениваться текстовыми статьями (а может когда-нибудь мы этот журнал увидим и на бумаге). Я бы, например, много что публиковал, но на хабровую помойку не хочется, в соцсетях возможности ограничены, а больше негде. Так что инициативу считаю отличной.
Статьи туда уже в принципе можно потихоньку готовить и подавать.
Я уверен что кто-то из редколлегии читает мой канал, может быть расскажет больше в комментариях к посту.
2. В своём докладе я приводил примеры в godbolt с модулями и целыми проектами и обещал кому-то дать ссылку на моём канале, чтобы быстро начать эксперименты.
Предлагаю к размышлению вот этот кейс: https://godbolt.org/z/zsKn5hjWG
Он несколько отличается от представленного на конференции. Я тут разметил пару интересных мест, чтобы обратить внимание на некоторые проблемы с достижимостью, которые не успел включить в доклад.
3. На Sysconf я выступил с неким lightning talk не под запись. Его текстовый материал пойдёт в ближайший пятничный зачил.
#conference
Итак, давайте попробуем собирать людей через гугл-формы.
Нижний Новгород, 19 апреля, 14:00, Магазин "Дирижабль", ул. Большая Покровская, 46.
Записывайтесь: https://forms.gle/BvfpSYmEz1HtZpST9
Там есть поле для студентов ННГУ, поскольку в этом университете меня когда-то приглашали провести также лекцию.
Если регистраций от студентов будет много, я сделаю и то и то, то есть и лекцию для студентов и встречу в книжном для всех остальных. Тогда о лекции ещё договорюсь и объявлю отдельно.
#author_event
Провели встречу в Минске.
На встречу записалось 56 человек см. https://t.me/cpp_lects_rus/245
Пришло человек пятнадцать. Я прикреплю фотку в первом комментарии. Это худшая конверсия из записавшихся в пришедших по всем городам. Обычно что-то вроде 60-70%, а тут меньше трети.
Я не понял что произошло. Может быть кто-то из тех кто записался и не пришёл пояснит в комментариях к этому посту что его остановило.
Обидно, что я преодолел массу преград, нашёл прекрасный большой зал, оплатил его, ехал всю ночь на поезде. И вот.
Тем не менее, встреча прошла прекрасно и была исключительно ламповой, отличная дискуссия с разными интересными отклонениями, мне очень понравилось. Впрочем, если бы вас было больше, мне бы ещё больше понравилось. Но тем более спасибо тем, кто всё-таки пришёл.
На очереди Ростов, Нижний Новгород и Екатеринбург, следите за апдейтами. Кроме того меня приглашают выступить в "Школе 21" в Великом Новгороде, тоже внесу это в планы. Надеюсь там всё будет как в Питере и Новосибе. А не как в Минске ))
P. S. Завёл новый тег для встреч с читателями и информации по ним.
#author_event
Продолжаем встречи с читателями. Если вы не знали, я могу не только приехать к вам в город но и (если концентрация читателей в компании велика) придти к вам в офис. И первыми кто меня позвали были ребята из VK. Приём был прекрасным, люди не просто заказали моих книг на всех, они ещё отпечатали глянцевые фотки меня для автографов на обратной стороне тем, кому книг не хватило. Получилось очень мило.
Встреча состояла из двух частей. Сначала общались вживую не под запись, а потом со мной записали подкаст. Изначально это планировалось как подкаст для сотрудников VK, но сейчас подкаст стал доступным по ссылке и конечно мне хочется поделиться им с моими читателями.
https://vk.com/audio-227738875_456239017_ed542bafbed1461fbe
Обсудили обычные вопросы: как я пришёл к программированию, что делают на работе разработчики компиляторов и всё остальное.
P. S. Кстати встреча в Минске в субботу 15-го в 12 часов. Кажется это уже сегодня и я уже еду в Минск. Всех буду ждать ))
#author_event
Наконец-то выложили один доклад на C++Russia прошлого года, который я хотел бы всем порекомендовать.
Увы, на конференции в прошлом году было очень много шлака, не имеющего даже отношения к C++. И тем ценнее увидеть очень серьёзный и интересный доклад, в целом мирового уровня. Тем более от столь молодого спикера.
Итак, встречаем:
Сергей Добычин — constexpr-аллокатор для контейнеров стандартной библиотеки
https://www.youtube.com/watch?v=mwy15RAhl8I
2:55 Начало. Transient выделения памяти при компиляции. Невозможность non-transient в C++
8:45 Подробный разбор предложения P0639 по CE аллокатору
11:30 Проблемы с размером буфера
18:16 Двухэтапное определения размера буфера во время компиляции
20:40 Постановка задачи: как сделать чтобы CE аллокатор сам определял размер буфера? Общий вид решения.
23:13 Интересные детали реализации
27:45 Передача инициализирующего значения через типы (разбор P2781)
31:20 Завершение: QR код на полное решение в C++20 и примеры
34:08 Вопросы
Интересно в этом докладе также то, что я немного помог в его создании. До конференции Сергей обратился ко мне вот с таким кодом и спросил баг ли это в компиляторе.
https://godbolt.org/z/EcKhhGfzr
Я немного подумал и мы с ним вместе доминимизировали это до вот такого кейса.
https://godbolt.org/z/69PEPojzo
Тут проблема стала очевидной и стало очевидным, что она и впрямь в компиляторе.
После этого я зафайлил эту проблему в GCC и она до сих пор висит там и ждёт своего героя.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115233
Но пока не дождалась.
#talks
Проголосуйте если вы точно или почти точно придёте 15-го в Минске. В противном случае не голосуйте.
P. S. Книжки на подпись приносить с собой ))
Всем привет. Встреча с читателями в Минске 15 марта в субботу в 12 часов в коворкинге "Работаем. Океан" https://yandex.ru/maps/-/CHB3v61h
Я на месте буду минут за 15, пожалуйста сильно не опаздывайте. Схема обычная: я что-то рассказываю про книгу, вопросы, автограф-сессия. По времени два часа.
Первым комментарием будет видеоинструкция как пройти внутри ТЦ.
#author_event
Продолжаем тему встреч с читателями -- и на этот раз пришло время приключений.
Первые три города -- Москва, Санкт-Петербург и Новосибирск -- приняли меня без неожиданностей. Встречи, которые организовывало издательство, проходили в неплохих книжных магазинах. Всё было отлично.
Четвёртую встречу мне очень хотелось провести в Минске. Во-первых, я там никогда не был. Во-вторых, именно оттуда приходило много запросов. Я наметил поездку на 15–16 марта. И тут началось.
1. Книжные магазины
Все Минские книжные, с которыми издательство пыталось договориться, отказались проводить встречу. Оказалось, что, будучи иностранным гражданином, я организую массовое мероприятие, а значит, процесс согласования будет долгим и сложным. Для магазинов это того не стоило.
2. Университет
Тогда, при поддержке уважаемых подписчиков, я попробовал договориться с БГУИР. Меня свели с проректором, мы пообщались, созвонились. Я даже предложил прочитать лекцию для студентов и преподавателей, если встречу разрешат. Пообещал, что никаких продаж книг не будет.
Проректор оказался приятным человеком и очень хотел помочь, но на уровне ректората встречу запретили. Причина: университет не может пустить так много посторонних, даже если заранее собрать паспортные данные.
Отступление. В принципе, оформление пропусков в кампус -- несложная процедура, я это знаю как преподаватель МФТИ. Тем более, что схема была абсолютно win-win: суббота, занятий нет, аудитории пустые. Студенты БГУИР -- моя целевая аудитория, и им бы наверняка было интересно. Но логика "как бы чего не вышло" оказалась сильнее. Можно было сделать что-то интересное, но не сделаем ничего.
3. Книжная ярмарка
После этого я попробовал через издательство договориться с организаторами книжной ярмарки, которая пройдёт в Минске на выходных. Там мне тоже отказали -- причины в общем те же.
Что дальше?
На этом этапе я почувствовал себя в Москве времён так называемого ковида, когда в университет и в офис меня не пускали. Что я делал? Я проводил семинары в коворкингах.
Так что я попробую найти подходящий коворкинг и позвать всех туда в субботу, 15-го марта или в воскресенье 16-го. Где именно и во сколько -- напишу на этой неделе.
Если же и этот вариант не сработает, придётся отменять поездку. Надеюсь, что этого не случится.
#author_event
Для всех любителей открытой и расширяемой архитектуры RISC-V.
В пятницу 14 марта пройдёт очередной RISC-V & YADRO митап, посвящённый экосистеме ПО для RISC-V. Участие бесплатное, но надо зарегистрироваться по ссылке. Количество мест в оффлайн ограничено, там бесплатно покормят и можно будет пообщаться. Нормальный такой пятничный вечерочек.
Я там буду сидеть экспертом на каком-то обсуждении в конце. Ну а уже в субботу я буду в Минске, о чём тоже будет пост вскоре.
#official #riscv #conference
И снова время пятничного зачила. Наливайте пивка, открывайте последний драфт стандарта C++23 (N4950) и поехали.
Рассмотрим вот такой пример, обозначим его [1].
class X {
template <typename U> struct Hidden {};
};
template <typename T>
using Wrapper = typename X::template Hidden<T>;
int main() {
Wrapper<float> w;
}
https://godbolt.org/z/sMnec5nx4
В нём clang и gcc почему-то не выдают ошибок, хотя имя является скрытым. Тут хочется воскликнуть — ну наверное по стандарту открытость using зависит от него а не от того что он алиасит. Не торопитесь, читайте дальше.
Уберём шаблоны и получим пример [2].
class X {
struct Hidden {};
};
using Wrapper = typename X::Hidden;
int main() {
Wrapper w;
}
https://godbolt.org/z/q9TYMeaYo
Вроде он мало чем отличается, тоже using, но тут оба компилятора отказываются компилировать.
Теперь пойдём от [1] в другом направлении: заменим using на struct и получим пример [3].
class X {
template <typename U> struct Hidden {};
};
template <typename T>
struct Wrapper : X::template Hidden<T> {};
int main() {
Wrapper<int> w;
}
https://godbolt.org/z/Gs1s3z8qn
Оба компилятора отказываются компилировать. То есть using всё-таки важен? Ситуация становится интересней.
И теперь сделаем последний шаг: запишем пример [3], но не будем инстанцировать шаблон (т.е. уберём функцию main) и получим пример [4].
https://godbolt.org/z/9EM1avbxe
И внезапно тут мнения компиляторов расходятся. Clang выдаёт ошибку, тогда как gcc отлично компилирует.
Вопросы:
1. Обоснуйте с точки зрения стандарта чем отличается [1] от [2]
2. Обоснуйте с точки зрения стандарта чем отличается [1] от [3]
3. Обоснуйте с точки зрения стандарта какой из компиляторов прав в [4]?
Ответы кидайте в комментарии к посту. Ссылки на нормативные документы обязательны.
Призов не обещаю (кроме зрительских симпатий). Рекомендуется сначала подумать самостоятельно, потом заезжать в комментарии.
#questions
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
