Earlier quoted context omitted.
> can’t get algebra to sink in properly yet. Doesn’t really click in the time we have and with the teacher he has (me). But in Python he is giving variables a name all the time. Perhaps there is something about programmatic math that helps, not hinders education. On the hinders side though, I can understand it being confusing to try to grasp: y = x + 2 As being sort of 'constantly updating', referring to x in abstrac…
The opposite confusion is actually something that really surprised me, working with beginner programmers for a while. The mistake that y=2+x should set up some constant relationship where y updates along with x should be expected for people who’ve been doing math their whole lives and not programming, but it is pretty confusing to figure out their confusion the first time.
It might be tempting to think it's procedural vs declarative, but it's not really, you could procedurally evaluate that y should now be maintained to have such value. Admittedly you can't really do it any other way on declarative terms. But what allows you to do computation like that? Datalog maybe?
I'm ignoring Matlab/Octave/etc. because I'm not that familiar and of course (I assume) they work more like math. What's interesting is that everything else seems to do it differently; I'm not sure why or how that happened. Is it as simple as an early limitation (in terms of early computation and compilers) that stuck?