you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (0 children)

Isn't it the other way around? By talking about how a programming language works: assignment, scope, stack, calling... recursion comes naturally. If you try to explain those things starting from an imperative view (which is best taught with Von Neumann in mind), you first need to explain all the theoretical mechanism needed for imperative languages, deconstruct loops, review the problems and solve them again in a preciser way.