@aparrish How experimental are you willing to go?
I have some theoretical justifications for teaching beginners to solve simple problems in a variety of esolangs. 😉
@aparrish
My thesis is basically: most of *deep* programming knowledge is getting the flexibility to paradigm shift, & the easiest way to get that is exposure to lots of paradigms. Most of the difficulty in learning real languages is memorizing inessential syntax details.
Esolangs are all paradigm and no syntax, so they can be learned more quickly because they make no consessions to reality.
Solving the same problem in brainfuck, befunge, pure prolog, and forth will level you up.
@LogicalDash @aparrish
I'm not familiar with that at all, & will have to look into it.
It's the logic behind language survey courses and the "seven languages in seven weeks" books. I think those examples compromise too much, choosing marginally useful languages even when utility for real problems is counterproductive.
@aparrish Another nice experimental technique: teach them about stacks and associative arrays, then have them try to implement a toy forth-like stack language. Then, ask them to write something in it.
Parsing in a toy forthlike is easy (just split by whitespace), & keeping track of parameters and functions is also easy (two stacks). So, it's within the realm of possibility for beginners to implement.
@aparrish Maybe implementing something more like turtle would be more thematic. There's more complexity in some ways & less in others.
(On the forth side, I'm sure there's a subset of postscript that isn't super ugly. Also if you teach a little postscript people can go home and write code directly into their printer, which is a nice trick.)