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.

  6. Hi Sir Dmitri,

    I created content about microblog, may I raise your content as my microblog?
    I usually simplify the language so that it is easier for people to understand why we have to learn it. I ask permission to promote the material you sell on my Instagram feed, would you like it?

  7. Greate courses so far. what is your plan on next courses? any chance sthg like
    type inference, type checking with advanced polymorphism in it?

  8. Hi cedu, thanks for the feedback, glad you like the courses. Yes, type systems might be next, will definitely consider.