Courses by Dmitry Soshnikov
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
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
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
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
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 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
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
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
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 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.