Sign Up Sign in
📌 Очень жаль, что всем известный персонаж решил начать войну. Мы молимся за Украину и за мир!
Дмитрий Сошников logo

Дмитрий Сошников

Дмитрий Сошников - инженер-программист, читает лекции по различным темам информатики. Он увлечен образованием и уделяет особое внимание высококачественному образовательному контенту: кратким и понятным анимированным лекциям с заметками в реальном времени.
91 -5

Курсы от Дмитрий Сошников

Язык программирования с LLVM logo

Язык программирования с LLVM

Programming Language with LLVM
Как работают языки программирования под капотом? В чем разница между компилятором и интерпретатором? Что такое виртуальная машина и JIT-компилятор? А в чем разница между функциональным и императивным программированием?Есть много вопросов, когда речь идет о реализации языка программирования!Проблема с "курсами по компиляторам" в школе заключается в том, что такие курсы обычно представлены как "тяжелая ракетная наука", которая п
2 ч 46 мин 4 сек
English
Премиум
Теория автоматов: внутри машины регулярных выражений logo

Теория автоматов: внутри машины регулярных выражений

Automata Theory: inside a RegExp machine
Машины состояний - фундаментальное понятие, используемое сегодня во многих практических приложениях, начиная от программирования пользовательского интерфейса, такого как React, автоматизированных систем ответов, лексического анализа в парсерах и теории формальных языков, например, машина регулярных выражений, и заканчивая жизненными случаями, такими как обычные светофоры, торговые автоматы и другие.Машины состояний основаны на более крупной теоре
1 ч 48 мин 5 сек
English
Премиум
Typechecker (типизатор) с нуля logo

Typechecker (типизатор) с нуля

Building a Typechecker from scratch
Нетипизированные программы часто подвержены ошибкам, исключениям времени выполнения и могут затруднить процесс отладки. Именно поэтому многие языки программирования в производственной среде реализуют статический типизатор - дополнительный модуль, цель которого - повысить безопасность программ и упростить разработку.Проверка типов или вывод типов? Что такое теория типов и типовые суждения? Слабо или сильно типизированный мой язык? И как мне на сам
2 ч 16 мин 15 сек
English
Премиум
Создание Виртуальной Машины для Языка Программирования logo

Создание Виртуальной Машины для Языка Программирования

Building a Virtual Machine for Programming Language
Как языки программирования работают под капотом? В чем разница между компилятором и интерпретатором? Что такое виртуальная машина и JIT-компилятор? А как насчет разницы между функциональным и императивным программированием? Когда дело доходит до реализации языка программирования, возникает так много вопросов! Проблема с «классами компиляторов» в школе заключается в том, что такие классы обычно представляются как некая «ракетостр
4 ч 27 мин 8 сек
English
Удален по просьбе правообладателя
Создание Парсера с Нуля logo

Создание Парсера с Нуля

Building a Parser from scratch
Разбор или синтаксический анализ - один из первых этапов проектирования и реализации компилятора. Хорошо продуманный синтаксис вашего языка программирования - это большая мотивация, по которой пользователи предпочтут и выберут именно ваш язык. Примечание: это практическое занятие по созданию парсера с рекурсивным спуском вручную.
2 ч 31 мин 11 сек
English
Удален по просьбе правообладателя
Алгоритмы Синтаксического Анализа logo

Алгоритмы Синтаксического Анализа

Parsing Algorithms
Парсинг или синтаксический анализ - один из первых этапов проектирования и реализации компилятора. Хорошо продуманный синтаксис вашего языка программирования - большая мотивация, по которой пользователи предпочтут и выберут именно ваш язык.
4 ч 27 мин 33 сек
English
Удален по просьбе правообладателя
Основы интерпретации logo

Основы интерпретации

Building an Interpreter from scratch
Семантика языков программирования. Как языки программирования работают под капотом? В чем разница между компилятором и интерпретатором? Что такое виртуальная машина и JIT-компилятор? А как насчет разницы между функциональным и императивным программированием?
2 ч 59 мин 53 сек
English
Удален по просьбе правообладателя
Основы сборщиков мусора logo

Основы сборщиков мусора

Garbage Collection Algorithms
Утечки памяти и висячие указатели являются основными проблемами ручного управления памятью. Вы удаляете родительский узел в связанном списке, забывая сначала удалить все его дочерние узлы - и ваша память просачивается. Вы удаляете цепочку объектов в правильном порядке - но вдруг ваша программа падает, так как вы забыли о втором владельце этого ресурса, который теперь пытается разыменовать нулевой указатель.
2 ч 13 мин 20 сек
English
Удален по просьбе правообладателя