C++ and other lectures
8.47K subscribers
39 photos
2 files
209 links
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir
Download Telegram
Всем привет. Первая лекция нового магистерского курса отснята и должна была быть выложена сегодня, но мы не смогли. Она будет как сможем, вероятно во вторник, а дальше постараемся отладить ежесубботнюю выкладку.

#official
👍61🔥105🥰2👏2❤‍🔥1🤩1
Немного контента для настоящих ценителей (которые конечно все собрались на этом канале). Базовый курс этого года по ссылке без видео и в отвратительном качестве. Если такого рода сыр с плесенью никого не интересует, просто не заглядывайте внутрь =)

Семинар 1: https://youtu.be/SAbjswB4WgQ
Семинар 2: https://youtu.be/wWLj_fHk0No
Семинар 3: https://youtu.be/7DntbQtMnY8

Первые два семинара 1-в-1 повторяют то что выложено на youtube с прошлого года (плюс-минус нюансы). А вот третий уже отличается.

#cpp_graduate
👍593👏3🔥1🥰1
Выложил третью лекцию магистерского курса. С ней связан мрачноватый каламбур, который получился сам собой. Я читал её в среду утром и она в том числе посвящена частичной специализации. Не прочитайте второе слово неправильно.

Ещё там есть олени, но до них нужно досмотреть.

https://www.youtube.com/watch?v=e4NpXk9l51w

#cpp_postgraduate
👍46😁10🔥81😢1🌚1
Выложил четвертую лекцию магистерского курса. В основном она посвящена именам: мы обсуждаем их двухфазное разрешение, их объявления, состоящие из них единицы трансляции, их связывание и прочее.

Я некоторое время думал оставлять ли на записи выдачу магистрантам курсового проекта. В итоге решил оставить.

https://www.youtube.com/watch?v=8mCSDR1NpoU

#cpp_postgraduate
👍6832
Немного подзамочного контента для моих уважаемых подписчиков (вернее для ценителей из их числа). Объяснение первому курсу основ отладки и механизмов использования отладчика gdb: https://youtu.be/JWb2w_EPwwE

Когда нибудь я сделаю эту лекцию почти идеальной и выложу как чистовик.

#c_graduate
👍60🔥163🥰2🐳1
Еще немного подзамочного контента для ценителей. Первые три лекции бакалаврского курса этого года были тут ранее https://t.me/cpp_lects_rus/45 и были приняты неплохо. Продолжаем.

Семинар 4: https://youtu.be/3eeyeEAP4no
Семинар 5: https://youtu.be/SepMv--t6r4
Семинар 6: https://youtu.be/fGruSH0wS20

Звук все также плох. Контент всё также почти не отличается от того, что есть в куда лучшем качестве на youtube в базовом курсе прошлого года. Хотя тут четвертый семинар объективно отличается, но дальше конвергенция берёт своё.

#cpp_graduate
👍40❤‍🔥6🔥5🥰1
Посмотрел выступление Страуструпа на CppCon'22

https://youtu.be/2BuJjaGuInI

Мой таймлайн для этого доклада:
00:00 Вступление: борьба со сложностью, ограниченные среды выполнения, заблуждения о языке
18:10 Основания и принципы языка C++: механизмы абстракции, RAII, сдвиг вычислений в компиляцию,
40:34 C++ Core guidelines
56:28 Обработка ошибок и исключения
01:09:19 Мысли о настоящем и будущем
01:16:55 Ответы на вопросы

Снова подумал что надо бы хоть раз заглянуть в core guidelines. Последний раз заглядывал туда кажется в 2016-м году, увидел там рекомендацию везде использовать array_view, закрыл и больше не открывал. Может быть они и впрямь привели проект в полезное и актуальное состояние, то что я услышал от Страуструпа в этом докладе мне понравилось.

Увы, опять педалируется мысль что можно учить C++ не потратив до этого как минимум год на изучение C. Мне кажется методически это ошибка. У студента с нуля как раз год уходит чтобы понять указатели, массивы, структуры, циклы и рекурсию, выучить какие-нибудь простые алгоритмы и понять как работает архитектура и как используют тулчейны. А уже потом поверх этого можно накладывать ссылки, классы, шаблоны и прочее. Иначе всё смешивается и человек просто ничего не поймёт.

#talks
👍581🥰1😈1
Всем привет. Мне не нравится что комментарии к тематическим постам используются как общий чат. Давайте если кто то очень хочет что то конкретное обсудить и это тут в тему, пишите мне в лс, я создам корневую ветку в порядке очереди.

#official
👍2
Предложили тему про изучение языка C.

У меня есть для этого некоторые материалы.
Слайды к моему курсу по С для первокурсников: http://cs.mipt.ru/wp/?page_id=7775
На слайдах большое количество задач и есть задачник с автоматической проверкой и открытой регистрацией: http://olymp1.vdi.mipt.ru/

Очень надеюсь когда-нибудь записать и выложить что-то для youtube. Но пока формат записи не очень ясен и времени не хватает, всё в процессе.

Кроме того классический список литературы это.

C Programming Language, 2nd Edition: Brian W. Kernighan, Dennis M. Ritchie
Живая классика, должна быть первой книгой студента.

Beginning C: From Novice to Professional: Ivor Horton
C Programming: A Modern Approach, 2nd Edition: K. N. King
Эти две книги — более детальные альтернативы, если изложение K&R кажется слишком сжатым.

Expert C Programming: Deep C Secrets: Peter van der Linden
Очень глубокое погружение. Опасайтесь акул.

C Interfaces and Implementations: Techniques for Creating Reusable Software: Hanson, David
Немного о том как люди виртуозно используют макросы и void*. Один раз надо этому научиться чтобы с одной стороны больше так не делать, а с другой стороны всегда и везде видеть эту альтернативу.

Немного прикладных областей т.к. C очень простой язык и обычно его изучение должно быстро выходить на прикладные вещи:

TCP/IP Sockets in C: Practical Guide for Programmers: Michael J. Donahoo, Kenneth L. Calvert
Фундаментальный труд по сокетам и сетевому программированию. Выучить до знакомства с boost::asio

Numerical Linear Approximation in C: Nabih Abdelmalek, William A. Malek
Линейная алгебра, линейное программирование и линейное счастье

Algorithms in C: Robert Sedgewick
Книга ученика Дональда Кнута, очень неплохая (её версия на C++ куда хуже, там у меня от его понимания C++ глаза вытекают кровью).

Image Processing in C: Dwayne Phillips
Древняя и наивная но приятная книга про обработку изображений на CPU. Потом легко перекладывается на OpenCL C и на GPU.

И конечно вершина и венец вычматематики (и кстати книга которая на C тоже нравится мне куда больше чем её же версия на C++ по тем же причинам что и Седжвик) это Numerical Recipes in C (коллектив авторов). Это просто надо один раз осилить.

#questions #c_graduate
👍80🔥28❤‍🔥431🤩1🐳1
Посмотрел доклад "What’s New in C++23" - Sy Brand - CppCon 2022

http://youtube.com/watch?v=vbHWDvY59SQ

Мой таймлайн к докладу:

00:00 Вводное безумие (пропустите это)
03:45 Часть про ranges: chunk(_by), repeat_range_n, zip, ranges::to. Также std::print и always_inline.
14:30 Часть про std::optional и std::expected: and_then, or_else
19:45 Краткий рассказ про deducing this
24:06 Вопросы (промежуточные)
26:10 Часть про корутины: std::generator
30:50 Умные указатели: static op(), std::out_ptr, std::to_underlying, etc.
35:12 Move-only functions
37:15 std::unreachable и создание целенаправленного UB
38:30 std::mdspan
41:00 Пример с пересылкой по сети: std::byteswap, if consteval, ospanstream, stacktrace
46:00 Снова ranges: join_with, iota, shift_left
49:15 import std и завершение

При рассказе про deducing this уважаемый докладчик ссылался на крайне интересный доклад Бена Дина: https://youtu.be/jXf--bazhJw
Очень скоро лекция, в которой будет разбор этой техники, также появится в моём магистерском курсе (как только мы с магистрантами этого года дойдём до систематического обсуждения правых ссылок).
Пожалуй deducing this и if consteval это самое интересное и самое перспективное в 23-м стандарте.

#talks
🔥28👍14
Выложил очередную лекцию магистерского курса.

Мы начинаем с проблем void_t и странных правил для шаблонных алиасов. Далее мы долго обсуждаем enable_if. Последняя треть лекции посвящена развитию классического (периода до 2011-го года) метапрограммирования. Это скорее интересно, чем практично, так как всё это уже история. Но без этого дальше будет неясно откуда что берется в современных подходах.

https://youtu.be/jL3CNQr-0Cg

#cpp_postgraduate
🔥38👍171👏1
Выложил очередную лекцию. Она отличается в первую очередь визуальным оформлением: я был вынужден перенести её в другую переговорку (а вовсе не в мрачный подвал как кто-то мог бы подумать).

Начнём с глубокого нырка в константность. Далее речь пойдёт в основном о константных выражениях: constexpr, в меньшей степени — consteval и constinit.

https://youtu.be/jyYys1UcHkM

#cpp_postgraduate
👍43🔥65🐳1
Больше подзамочного контента для моих уважаемых подписчиков. Семинары 7, 8 и 9 базового курса этого года.

Мне кстати очень нравится как мне в этом году удалось изложить наследование и множественное наследование. Хотя вроде бы материал строго тот же.

Семинар 7: https://youtu.be/zgkIiNNLLYM
Семинар 8: https://youtu.be/wb5ML1WajXM
Семинар 9: https://youtu.be/FqQNDyKRkRA

Более ранние выпуски: https://t.me/cpp_lects_rus/51
Ещё более ранние: https://t.me/cpp_lects_rus/45

#cpp_graduate
👍59🔥98🥰1
Всем привет. Я сегодня посмотрел лучшее в этом году видео по C++ (я учитываю только англоязычные). Я не скажу какое до лекции по ranges иначе, боюсь, вы увидите в моём творчестве слишком много ремейков. Но я приглашаю всех в этом чате т.к. год в плане C++ событий заканчивается, написать какое из видео с зарубежных конференций этого 2022 года было самым полезным для вас.

P. S. Если никто не угадает, то до конца года выложу что это за доклад и его таймлайн.

#questions #talks
👍32😁3🤔3🤯2😱2👨‍💻2💋1👀1