ISpring 2025: Логика коэволюции компиляторов, инструментов разработки и языков программирования.

Выступление в институте iSpring 17 мая 2025 года. Огромная благодарность организаторам за приглашение и за разрешение выложить запись на моём канале. В этой лекции мы поднимемся от самого нижнего уровня -- отдельных транзисторов до высокоуровневых языков программирования и проследим совместное развитие механизмов абстракции и инструментов разработки. Слайды: https://sourceforge.net/projects/cpp-... Timeline 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 Завершение: абстракции не случайны Errata Здесь пока пусто

Что такое LLVM и зачем об этом нужно знать?
▶︎

Что такое LLVM и зачем об этом нужно знать?

C++ 2026: безопасность, рефлексия, C++ vs Rust, будущее языка – Антон Полухин в Подлодке
▶︎

C++ 2026: безопасность, рефлексия, C++ vs Rust, будущее языка – Антон Полухин в Подлодке

Как экраны украли детство — и как его вернуть | Джонатан Хайдт | TED
▶︎

Как экраны украли детство — и как его вернуть | Джонатан Хайдт | TED

Проблемы и решения в крупных проектах на примере LLVM-snippy | Константин Владимиров, Syntacore
▶︎

Проблемы и решения в крупных проектах на примере LLVM-snippy | Константин Владимиров, Syntacore

Практика языка C (МФТИ, 2023-2024). Углубление пройденного: логическая память и виртуальная память.
▶︎

Практика языка C (МФТИ, 2023-2024). Углубление пройденного: логическая память и виртуальная память.

Проблема рекламации памяти и два новых решения в C++26. Лекция в университете iSpring.
▶︎

Проблема рекламации памяти и два новых решения в C++26. Лекция в университете iSpring.

И33: В.В. Петроченков | Как создается язык программирования Rust
▶︎

И33: В.В. Петроченков | Как создается язык программирования Rust

Измерение объективной степени случайности конечного набора точек [1] // Владимир Арнольд
▶︎

Измерение объективной степени случайности конечного набора точек [1] // Владимир Арнольд

Вся IT-база в ОДНОМ видео: Память, Процессор, Код
▶︎

Вся IT-база в ОДНОМ видео: Память, Процессор, Код

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

Дизайн языков программирования / Гипервизоры / Будущее системного программирования
▶︎

Дизайн языков программирования / Гипервизоры / Будущее системного программирования

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья
▶︎

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья

Оптимизирующие компиляторы (МФТИ, 2024). Лекция 1. Тулчейны.
▶︎

Оптимизирующие компиляторы (МФТИ, 2024). Лекция 1. Тулчейны.

Улучшаем и усложняем C++ код: функции, исключения, ranges и корутины
▶︎

Улучшаем и усложняем C++ код: функции, исключения, ranges и корутины

Самая легендарная задача математических олимпиад // Vital Math
▶︎

Самая легендарная задача математических олимпиад // Vital Math

Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake).
▶︎

Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake).

LLVM в GPU компиляторах/Стандарты С++ (часть 2)
▶︎

LLVM в GPU компиляторах/Стандарты С++ (часть 2)

Сбер Гигаконф 2024. LLVM: компилятор, инфраструктура и платформа.
▶︎

Сбер Гигаконф 2024. LLVM: компилятор, инфраструктура и платформа.

Паттерн, который должен знать каждый
▶︎

Паттерн, который должен знать каждый

Константин Владимиров: Странные ограничения статических компиляторов
▶︎

Константин Владимиров: Странные ограничения статических компиляторов