Courses by Dmitry Soshnikov

Programming Language with LLVM

Programming Language with LLVM

How programming languages work under the hood? What’s the difference between compiler and interpreter? What is a virtual machine, and JIT-compiler? And what abo
2 hours 46 minutes 4 seconds
Automata Theory: inside a RegExp machine

Automata Theory: inside a RegExp machine

State machines — the fundamental concept used today in many practical applications, starting from UI programming like React, automated reply systems, lexical an
1 hour 48 minutes 5 seconds
Building a Typechecker from scratch

Building a Typechecker from scratch

Untyped programs are often prone to errors, runtime exceptions, and can make debugging much harder. That’s why many production languages implement a static type
2 hours 16 minutes 15 seconds
Building a Virtual Machine for Programming Language

Building a Virtual Machine for Programming Language

How programming languages work under the hood? What’s the difference between compiler and interpreter? What is a virtual machine, and JIT-compiler? And what abo
4 hours 27 minutes 8 seconds
Building a Parser from scratch

Building a Parser from scratch

Parsing or syntactic analysis is one of the first stages in designing and implementing a compiler. A well-designed syntax of your programming language is a big
2 hours 31 minutes 11 seconds
Parsing Algorithms

Parsing Algorithms

Parsing or syntactic analysis is one of the first stages in designing and implementing a compiler. A well-designed syntax of your programming language is a big
4 hours 27 minutes 33 seconds
Building an Interpreter from scratch

Building an Interpreter from scratch

How programming languages work under the hood? What’s the difference between compiler and interpreter? What is a virtual machine, and JIT-compiler? And what abo
2 hours 59 minutes 53 seconds
Garbage Collection Algorithms

Garbage Collection Algorithms

Memory leaks and dangling pointers are the main issues of the manual memory management. You delete a parent node in a linked list, forgetting to delete all its
2 hours 13 minutes 20 seconds
Building a Transpiler from scratch

Building a Transpiler from scratch

In modern implementations of compilers, it has become popular to transform one high-level language into another. Examples include transpiling new versions of...
2 hours 3 seconds
Dmitry Soshnikov

Dmitry Soshnikov

Dmitry Soshnikov is a software engineer, lectures on various topics of computer science. He is passionate about education and has a strong focus on high quality educational content: concise and clear animated lectures with real-time notes.

Share this page