This is a surprisingly nostalgic list. It's not that there's no benefit to these projects, it's that there are more modern projects - custom web servers, practical DSLs, 2D and 3D iOS/Android games, simple AR, simple ML, simple embedded hardware - at a similar level of difficulty, which are easier to extend to real commercial applications, and also teach important CS fundamentals.
You could also do worse than learn Erlang, Haskell, Julia, or some other interesting-but-not-really-mainstream language.
I'm surprised the author appears to be a millennial. I would have expected a list like this from someone my age, who started coding when TinyBASIC and Space Invaders were the new shiny.
Isn't embedding a "practical DSLs" another toy compiler?
Except that with a DSL, you have to worry about gnarly but not-so-interesting problems like what happens to my syntax (given by a CFG) when I add another syntax (another CFG)? Are the combined CFGs ambiguous etc?
You could also do worse than learn Erlang, Haskell, Julia, or some other interesting-but-not-really-mainstream language.
I'm surprised the author appears to be a millennial. I would have expected a list like this from someone my age, who started coding when TinyBASIC and Space Invaders were the new shiny.