ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

C++ and other lectures

C++ and other lectures

الذهاب إلى القناة على Telegram

Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir Boosty автора: https://boosty.to/cpp_lects_rus

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام C++ and other lectures

تُعد قناة C++ and other lectures (@cpp_lects_rus) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 10 015 مشتركاً، محتلاً المرتبة 12 157 في فئة التكنولوجيات والتطبيقات والمرتبة 63 447 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 015 مشتركاً.

بحسب آخر البيانات بتاريخ 27 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 52، وفي آخر 24 ساعة بمقدار 4، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 87.99‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 33.73‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 8 812 مشاهدة. وخلال اليوم الأول يجمع عادةً 3 378 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 98.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل компилятор, c++, llvm, struct, compilers.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir Boosty автора: https://boosty.to/cpp_lects_rus”

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 28 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

10 015
المشتركون
+424 ساعات
+77 أيام
+5230 أيام
أرشيف المشاركات
Всем привет. Немного дружеского пиара. Открыт набор на бесплатные курсы от компании Yadro. Подходит для студентов 2 курса и старше (в том числе и для выпускников, почему нет). Можно проходить онлайн, можно ходить в офис Yadro и проходить очно. Направления: * Программирование микроконтроллеров * Верификация систем на кристалле * DevOps И всякое другое. https://edu.yadro.com/practical-courses/#admission Заявки принимаются до 2 февраля. #official

Всем привет! Хотелось бы начать новый год с какого-то большого и важного анонса. Многие спрашивали, будет ли у меня всё-таки книга по C++. Мне бы и самому хотелось это знать. Поэтому я решил выложить драфт -- первые три главы потенциальной книги. Объём -- примерно 20 страниц на главу, плюс ещё страниц 10–15 константного оверхеда, потому что выкладываю одним куском вместе с обложкой. К слову, обложкой искренне горжусь, очень концептуальная, очень. Подчеркну: это демо-версия потенциальной книги. Я пока даже не очень уверен в её составе на уровне крупных разделов. И уж точно у меня пока нет контракта с издательством и всего такого. Почитайте и напишите в комментариях, что думаете. А я через некоторое время вернусь с информацией (и опросом) на тему того, как вы сможете помочь этой книге состояться — если вам её идея покажется интересной. По первым трём главам, мне кажется, уже можно сделать какие-то выводы. #official #cpp_graduate #cpp_postgraduate

Пост итогов 2025-го года. Новый год уже стучится в двери. В этом посте я подведу свои итоги. Призываю всех в комментариях делиться своими ощущениями от года и нашего канала. Или просто поздравлять меня и друг друга. Особенно круто поздравлять непосредственно в новогоднюю ночь. В эту новогоднюю ночь я буду далеко от цивилизации (в лесу) и присоединюсь к вашим поздравлениям в лучшем случае утром. И, поскольку у всех жителей нашей страны от Владивостока до Калининграда новогодняя ночь наступает по разному, я выложил этот пост чуточку заранее. К слову о нашей необъятной стране -- за этот год я основательно её объездил (благодаря вышедшей книге). Встречи с читателями были мной проведены в Санкт-Петербурге, Москве, Новосибирске, Минске, Нижнем Новгороде, Ростове на Дону, Йошкар Оле, Великом Новгороде, Екатеринбурге, Казани, и в конце года ещё разок в Москве. Суммарно на встречах со мной и на гостевых лекциях побывало человек 350-400. Для меня это был важный опыт и я наконец-то посмотрел Россию. Россия замечательная страна, если вы не знали. У меня немного не сложилось с Владивостоком, с Магасом и с Нижним Тагилом, во все три меня в общем звали но я не доехал по разным причинам. Может быть ещё сложится. Среди докладов этого года самые важные это доклад про модули на C++ Russia и доклад на SnowOne про ограничения статических компиляторов. Также много позитивных отзывов собрали моя лекция про коэволюцию языков, компиляторов и инструментов разработки в iSpring и про распределение регистров в ИТМО. Как обычно, я продолжаю выводить в свет своих учеников и коллег. Среди тех, кого хочется отметить, конечно, Настя Черникова (со мной и без меня и ещё разок без меня), Илья Андреев, Владислав Белов, Никита Руденко, Илья Гаврилин и Юлий Тарасов. Гигантским достижением этого года я считаю курс на Stepik по RISC-V, сделанный совместно с Марком Гончаровым и Настей Черниковой. Он взят на вооружение в пяти университетах, и на него уже более тысячи регистраций. Своим чередом развивался мой любимый проект генератора llvm-snippy. Я прочитал пару докладов (например этот), мы выпустили опен-сорс релиз и сделали документацию на github pages. Генератор был принят в симулятор spike (он же riscv-isa-sim) для тестирования модели случайными тестами. Главной авантюрой этого года я считаю начало выкладки англоязычного курса. Я не был уверен, что из этого вообще получится что-то хорошее. Отмечу, что влияние этой выкладки на мой Linkedin было колоссальным: моя профессиональная сеть выросла до 2.4к (+1.5к) за счёт добавляющихся в друзья разработчиков из дружественных стран. Теперь, если что, я точно найду себе работу. По крайней мере -- в Индии. По просмотрам пока не так радужно, но лиха беда начало. Громадная благодарность Владиславу Белову, Насте Черниковой и Даниилу Авдееву за постоянную поддержку. Без них я бы не справился. В целом, мой телеграм-канал вырос до более чем 9к человек (+2.5к), а мой youtube-канал до более чем 29к (+5к). Хочется выразить огромную благодарность Владиславу Белову и Максиму Москальцу за неусыпную модерацию нашего сообщества. Планы на следующий год пока не ясны -- у меня с ними традиционно сложно. Но, возможно, в начале года что-то расскажу насчёт книги по C++, которую от меня все так долго ждали. Концепция у меня уже есть, кое-что уже готово. Может быть, я даже попрошу вашей помощи. Я хотел бы пожелать всем моим уважаемым друзьям на этом канале (всем более чем девяти тысячам), чтобы в наступающем году у вас было много амбициозных планов, много мотивации и сил для их претворения и чтобы не было проблем с внешними обстоятельствами. Всех с наступающим Новым Годом! P. S. Бонусом -- мнение микроволновки о моих итогах года. В комментариях можете пошарить мнение вашего пылесоса о вас. #official #happynewyear

Из докладов System Level Meetup могу также порекомендовать доклад Насти Черниковой (вы её уже видели на этом канале) про чекеры в clang-tidy. https://www.youtube.com/watch?v=UCc2xtyMhuo 00:00 Intro: что делать с UB? 06:50 Статический анализ. 11:48 Как выглядит AST и что такое матчеры. 18:10 Пишем собственный чекер. 25:38 Ограничения статического анализа и выводы 30:05 Ответы на вопросы. Он частично развивает и дополняет мою уже довольно древнюю лекцию про clang internals, раскрывая её с несколько более практичной стороны. #conference

Выложил последнюю лекцию первой части англоязычного магистерского курса. https://youtu.be/ME1PJmOSMYg Эта лекция продолжает разговор о диапазонах. Мы посмотрим как устроены изнутри стандартные отображения и на какие компромиссы приходится идти при работе с ними. Также мы углубимся в pull model и разберём некоторые её неочевидные последствия. Далее нас ждёт главное преимущество диапазонов -- возможность их бесшовной адаптации и склеивания с помощью специальных функцие-подобных объектов -- Ниблоидов. И в самом конце я покажу какие ошибки могут возникать при работе с диапазонами и как выглядит борьба с этими ошибками. 00:00 Intro: Views as Projections 05:52 Inside transform_view and More Dangling 12:27 Hesitant Behavior 16:41 Inside filter_view and Caching 22:48 Quirks of the Pull Model 30:25 Range Adaptation and Niebloids 37:20 Case Study: Trimming a String 46:55 CRTP Base for Adaptors 52:42 Bug Hunt: Dealing with Ranges in Practice 01:04:45 Lessons Learned and Bibliography #cpp_graduate

Выложил последнюю лекцию первой части англоязычного магистерского курса. https://youtu.be/ME1PJmOSMYg Эта лекция продолжает разговор о диапазонах. Мы посмотрим как устроены изнутри стандартные отображения и на какие компромиссы приходится идти при работе с ними. Также мы углубимся в pull model и разберём некоторые её неочевидные последствия. Далее нас ждёт главное преимущество диапазонов -- возможность их бесшовной адаптации и склеивания с помощью специальных функцие-подобных объектов -- Ниблоидов. И в самом конце я покажу какие ошибки могут возникать при работе с диапазонами и как выглядит борьба с этими ошибками. 00:00 Intro: Views as Projections 05:52 Inside transform_view and More Dangling 12:27 Hesitant Behavior 16:41 Inside filter_view and Caching 22:48 Quirks of the Pull Model 30:25 Range Adaptation and Niebloids 37:20 Case Study: Trimming a String 46:55 CRTP Base for Adaptors 52:42 Bug Hunt: Dealing with Ranges in Practice 01:04:45 Lessons Learned and Bibliography #cpp_graduate

Опубликовали наше с Юлием Тарасовым выступление по корутинным оптимизациям в LLVM. Всегда интересно заглянуть как это там под капотом. Прекрасный способ провести пятничный вечер, я считаю )) https://youtu.be/UH2Y1I2HuBE Timeline: 01:00 Intro: Routine, Subroutine 05:36 Thread Routines and Coroutines 10:20 Stackfull and Stackless Coroutines 14:11 C++ Coroutines Flexibility And Thread Independence 17:10 What Compiler Shall Do? 20:50 Yuly Appears: Clang/LLVM Coroutines 25:40 How C++ Coroutines Transformed in LLVM 31:25 How To Help Compiler With Elide? 36:13 Wrap-up and Q&A #conference

Выложил тринадцатую лекцию магистерского курса на английском https://youtu.be/8C2u9QrGygY На этой лекции мы начнём разговор о диапазонах -- фундаментальном улучшении стандартной библиотеки. Мы покажем как даже классические алгоритмы были улучшены концептами в пространстве имён ranges. Далее мы введём понятие диапазона -- между итератором и ограничителем. Нас ждёт увлекательная встреча с механизмом безопасности итераторов -- borrowed ranges. Во второй части лекции мы рассмотрим views -- легковесные отображения и увидим по настоящему странные ограничители, позволяющие даже бесконечные диапазоны. Закончим мы на общем обзоре стандартных отображений. Timeline 00:00 Intro: When the Standard Library Was Young 05:00 Sentinels 09:58 Hierarchical Range Concepts 16:35 Dangling Iterators and Borrowed Ranges 22:22 Views: Lightweight Ranges 26:01 CRTP and view_interface 30:15 Why string_view Is a Poor View 35:27 Curious Uses of Sentinels 46:50 Infinite Views and Their Finite Parts 49:41 Constness Propagation -- End of Part I #cpp_postgraduate

Продолжаю хвастаться своими студентами. https://www.youtube.com/watch?v=lYZIDX6oU74 Илья Гаврилин учится в магистратуре на нашей кафедре и работает у меня в команде рантаймов. Его доклад посвящён Chromium и интерпретатору V8. Илья участвовал в портировании V8 и Maglev на архитектуру RISC-V и мне кажется доклад стал отличным обобщением этой работы. Он не сосредоточен именно на RISC-V. Для вас он может быть просто очень интересной экскурсией внутрь вашего браузера. Timeline: 00:00 Введение, представление докладчика и т.д. 05:07 V8: движок для оптимизации JavaScript, TypeScript и WebAssembly. 10:50 Проблемы исполнения JavaScript в браузере и оптимизирующий компилятор TurboFan в составе V8. 24:03 Добавляем билтины к байткоду: шаблонный компилятор SparkPlug 27:40 Компилятор Maglev как золотая середина: самый быстрый оптимизирующий JIT-компилятор. 33:00 Немного о портировании Maglev на RISC-V и немного о котопсах. 39:20 Ответы на вопросы. #conference #talks

Выложил двенадцатую лекцию магистерского курса на английском https://youtu.be/Xvdcz_vnddw На этой лекции мы поговорим про лямбды и всё, что с ними связано. Мы начнём с их введения как обычных анонимных функторов. Далее окажется, что каждый объект лямбды это объект специального класса-замыкания. Ненадолго мы вернёмся в пещеру чудес и рассмотрим как лямбды работают в невычислимом контексте. Особое внимание мы уделим захвату в замыкание и решим интересную задачу проброса списка захвата: так мы изобретём кортежи. В конце лекции нас ждёт погружение в стирание типов -- начав от более простых механизмов вроде std::any мы дойдём до std::function. И конечно в процессе мы отроем технику deducing this и далее неоднократно к ней вернёмся. Timeline 00:00 Intro: Anonymous Functors. 04:22 Universal Way to Call Anything 11:45 Lambdas, Closures and Concepts 19:30 Unevaluated Contexts 23:00 Capturing Arguments 30:45 Move Capture and Forwarding 36:00 Deducing This 40:18 Variadic Captures 49:40 Forwarding Capture: Inception of Tuples 55:07 Ways to Create a Tuple 01:01:45 Type Erasure: std::any, std::variant 01:08:00 Type Erasure with std::function 01:14:10 Homework and Bibliogrpahy #cpp_graduate

Провёл последнюю в этом году встречу с читателями. В Москве в офисе Yadro. Было не очень много людей, но кажется прошло довол
Провёл последнюю в этом году встречу с читателями. В Москве в офисе Yadro. Было не очень много людей, но кажется прошло довольно неплохо. Из тех кто ходит на встречи, книгу так никто за год и не прочитал. Зато обсудили всё остальное: NixOS, задачи компиляторов, проблемы RISC-V Vector Extension и когда я наконец заведу канал на Boosty и начну там поглавную выкладку книги про C++. Пора бы уже, конечно. #author_event

Выложил одиннадцатую лекцию магистерского курса на английском Мы продолжим обсуждение техник программирования времени компиляции. Начнём с красивой проблемы, поставленной и решённой ещё Фон Нейманом. Далее переместимся в современный C++ и исследуем рефлексию через операторы, напоминающие ушки кошкодевочек. Посмотрим что делать с разнообразием методом метапрограммирования и исследуем интересный подход к метапрограммированию, ориентированному на функции и значения, принятый в Boost::Hana. Для восприятия этой лекции лучше посмотреть прошлую лекцию, вводную в мир constexpr. Timeline 00:00 Introduction: Trits 06:40 Consteval-Constructible Trits 12:30 A Bit of C++26: Template For and the Ears Operator 19:30 Catgirls in the Cave of Wonders 24:13 Case Study: Is It an Object Type? 29:40 Constexpr for Metaprogramming 39:00 A Variety of Metaprogramming Styles: The Sumfoos Riddle 46:23 Another Example: Physical Quantities 50:45 Boost.Hana and the Idea of "Normal" Compile-Time Programming 58:30 Homework and Bibliography #cpp_postgraduate

Всем привет. Если кто-то из новых читателей этого канала не знает, у меня год назад вышла книжка: https://t.me/cpp_lects_rus/191 и неплохо разошлась. В этом году я проводил встречи с читателями в разных городах и зачастую в офисах разных компаний, например в VK меня позвали ещё весной. Надо какое-то красивое завершение года, финальная встреча. И я думаю вы уже поняли где она пройдёт. https://meetups.yadro.com/autograph-session-k-vladimirov Да, это будет встреча с читателями в офисе Yadro в Москве, причём двери будут открыты для всех, вам не обязательно быть сотрудником. Ну а уж если вы сотрудник то вообще просто — спускаетесь к общедоступному ресепшену на первом этаже (где столовая) и всё там. Карту для остальных куда подходить приложу в комментариях. Встречаемся в среду 10 декабря, в 20:00. Как обычно могу пообещать максимум общения с залом при максимально открытых интеллектуальных шлюзах. И даже будет какое-то количество еды. Встреча пройдёт в довольно большом помещении, 50 мест точно есть. Обычно народа столько не бывает. Но мало ли, лучше регистрируйтесь заранее. #author_event

Выложил десятую лекцию магистерского курса на английском https://youtu.be/cg1D-t_7ZSk В этой лекции мы начнём разговор о вычислениях на этапе компиляции. Мы начнём с определения константно-выраженных переменных и функций, рассмотрим детали константно-выраженного потока управления. Также мы разберемся как работает в контексте компиляции неопределённое поведение и какую пользу мы сможем из этого извлечь. Далее мы познакомимся с концепцией constexpr all the things и с историей "контекспризации" стандартной библиотеки. В конце лекции нам предстоит зайти в пещеру чудес, познакомиться с охраняющим её джином и научиться показывать фокус с пальцем: нас ждут такие странные вещи, как виртуальные функции и выделение динамической памяти времени компиляции. Timeline 00:00 Introduction: constant expressions 06:53 constinit and constexpr variables 13:04 Control flow in constexpr contexts 17:02 constexpr functions 25:29 Implementing countl_zero 34:15 Core constant expressions 40:04 Undefined behavior in consteval functions 45:02 User-defined literal types and suffixes 55:25 Constexpr all the things 01:00:50 constexpr arrays 01:05:10 Virtual constexpr functions: sleight of hand 01:09:47 constexpr new and the Cave of Wonders 01:16:45 Homework and bibliography #cpp_postgraduate

Немного анонсов. На OSDev Conf ещё остались места для оффлайн-участия и открыта регистрация. Программа: https://osdevconf.ontico.ru/abstracts Официальный анонс: https://t.me/osdevconf_channel/21 Я там ранее выступал см. https://t.me/cpp_lects_rus/142, очень приятное мероприятие (для разработчиков операционных систем в основном). В этот раз также будут выступать несколько моих коллег. #official

Выложили моё выступление в ИТМО. Попробовал поговорить о настоящей сложности распределения регистров и вообще — про обманчиво простые задачи. https://www.youtube.com/watch?v=XUttZ838Tw0 00:00 Начало. Кто использует стек? 04:50 Задача распределения регистров и подход через раскраску графов. 10:20 Покраска через клеточные автоматы 12:43 Учёт иррегулярности архитектур и PBQP 15:12 Эвристики для спиллов и рематериализация. 23:05 Слияние и разбиение интервалов активности. 29:28 Немного о настоящей сложности задачи 33:18 Литература и ответы на вопросы #compilers

Выложил девятую лекцию магистерского курса на английском https://youtu.be/IClwPgYFwkk В этой лекции мы начнём путешествие в мир метапрограммирования. Сначала мы применим (там где это возможно) шаблонную специализацию для того чтобы реализовать определители и модификаторы типов. Далее мы рассмотрим фундаментальную идиому SFINAE и некоторые её исторические применения, включая void_t и enable_if_t. В процессе мы увидим как современный C++ решает те же проблемы гораздо проще. В конце лекции мы изобретём классическое метапрограммирование и пройдём историю развития человеческой мысли, рассмотрев основные библиотеки, существенно повлиявшие на эту область. Мы остановимся незадолго до C++11 и появления полноценных вычислений времени компиляции. 00:00 Intro: trivially copyable 10:55 Type And Value Domains 15:50 Writing your own type traits 22:52 Type modifiers: add_lref riddle 28:36 SFINAE and fundamental domains 33:20 Paper Over the Cracks: void_t and enable_if_t 39:45 SFINAE-OUT: excercise in semantic processes 44:40 Bad reputation of aliases: void_t again 48:44 Case study: move only function 59:36 Classical metaprogramming 01:05:22 Historical detour: Loki, MPL and Fusion 01:12:15 Conclusion: mixed computations, homework and bibliography #cpp_postgraduate

Выложил восьмую лекцию магистерского курса на английском. https://youtu.be/aY69noAq2Bk В этой лекции мы продолжим разговор о модулях, до которых мы едва успели дойти в прошлый раз. В первую очередь мы разберёмся с проблемой макросостояния. Далее детально обсудим правила экспорта и рассмотрим разные способы включения хедеров в модули. Главная часть этой лекции -- понятие достижимости, вносящее свои дополнения в разрешение имён и инстанцирование шаблонов. В конце мы рассмотрим какие механизмы модулей позволяют нам придерживаться компонентного подхода и как модули поддержаны в системах сборки. 00:00 Module linkage 06:20 Macro state and dependency graphs 14:17 Rules of export 24:56 Attached names and importable headers 36:18 Global module fragment 39:46 Reachability and decl-reachability 49:40 Deers again: specializations and reachability. Private fragments. 56:10 Back to the Component-based approach. Partitions. 01:03:13 BMI, dependenices and collate. 01:13:30 CMake support 01:17:04 Homework (course project) and bibliography. #cpp_postgraduate

Немного образовательного контента в рамках пятничного зачилла. Не знаю, куда вставить в лекции, но считаю это крайне милым фактом относительно языка.
struct S {};
template <typename T> void bar(T& t) {}

int main() {
  using CS = const S;
  using CI = const int;
  bar(CS{}); // working
  bar(CI{}); // not working 
}
https://godbolt.org/z/GsMab56oT Пункт стандарта скину в комментарии если никто не напишет его там в первые 15 минут )) #questions

Выложил cедьмую лекцию магистерского курса на английском. https://youtu.be/VlkNCGiT-YE В этой лекции мы начнём длинный и обстоятельный разговор о модулях. Сначала мы обсудим такие свойства объектов как storage и linkage, погрузимся в детали ODR и детально рассмотрим ключевое слово inline. Далее мы поговорим о компонентном подходе к физической организации кода и оценим как его сложно поддерживать без модулей. В частности мы столкнемся с проблемами слишком долгой компиляции и попробуем их решить через предварительно скомпилированные хедера. Увы, на этом пути мы увидим проблемы с контролем экспорта и с проникновением макросостояния в код. В конце лекции появятся собственно модули как органичное развитие идеи предкомпилированных хедеров. Ну а их детальное рассмотрение мы отложим до следующего раза. 00:00 Introduction: object properties. 06:45 Storage and linkage. 14:44 ODR and subtleties. 18:42 Inline: exception from ODR. 24:58 ODR-usage and discarded statements. 29:20 Component approach. 40:58 Precompiled headers. 50:00 Uncontrolled export and modules introduction. 56:22 Inversion of dependencies #cpp_postgraduate