Hi, I’m Dmitry — a software engineer interested in learning and education. I blog on topics of programming languages, compilers, parsers and advanced JavaScript.

You can find my classes on dmitrysoshnikov.educaton school which I run, and also on Udemy platform.

For the latest updates you can follow me on Twitter @DmitrySoshnikov, and can also explore my side projects on Github.

If you find this content helpful and useful, you may also [ support ] the project.

Feel free to message me in case of any questions on classes and don’t hesitate posting questions in comments on blog posts.

Have fun with studying compilers and deep JavaScript!

– Dmitry Soshnikov

Write a Comment



  1. Hi @Ramaj, for a DSL I recommend Building a Parser from scratch and Building an Interpreter from scratch. If you’d like to make an automated parser instead, the Parsing Algorithms also would work.

  2. Hi, Dmitry, I have bought all of your courses on Udemy, I posted a comment earlier. What order would be the best to complete them all? Is it preferred to have prior Assembly knowledge at all before starting any of them? (Like some concepts etc.)

  3. @Max — congrats! I would recommend starting from the “Building an Interpreter from scratch” (understanding runtime first), then going to “Building a Parser from scratch” to make your language look nice with syntax. No Assembly knowledge is required here since these two are high-level at AST. After that going to lower-level, “Building a Virtual Machine from scratch” (in-progress and is coming soon, understanding bytecode/Assembly would be a benefit here). Then if you’d like to go to deeper theory, then “Parsing Algorithms”, “Garbage Collection Algorithms”, and “Automata Theory”. Good luck in building programming languages.

  4. Hi Dmitry,
    I see you have posted a few videos regarding “Build a virtual machine from scratch” on youtube. Looks like it might a playlist of about 29 videos.
    I have waited patiently(almost a year now) for this series. When “exactly” will this course be available on udemy.

  5. Hi Shreeya, thanks for the interest. Currently I target the release closer to the end of year, however it might come earlier.