na4ma4 7 days ago

I think they're just using hyperbole for the watershed moment when you start to understand your first programming language.

At first it's all mystical nonsense that does something, then you start to poke at it and the response changes, then you start adding in extra steps and they do things, you could probably describe it as more of a Eureka! moment.

At some point you "learn variables" and it's hard to imagine being in the shoes of someone who doesn't understand how their code does what it does.

(I've repeated a bit of what you said as well, I'm just trying to clarify by repeating)

2
chucksmash 7 days ago

It's not even intended as hyperbole. Watching kids first learn to program, there were many high schoolers who didn't really get the reason you'd want to use a variable. They'd use a constant (say, 6) in their program. You'd say, "how about we make this a variable?" So they'd write "six = 6" - which shows they understand they're giving a name to the value, but also shows they don't really yet understand why they're giving a name to the value.

I think the mental rewiring that goes on as you move past those primitive first steps is so comprehensive that it makes it hard to relate across that knowledge boundary. Some of the hardest things to explain are the ones that have become a second nature to us.

pixl97 7 days ago

Yep, I remember way back when in grade school messing around with the gorillas.bas file with nearly zero understanding. You could change stuff in one place and it would change the gravity in the game. Changing something else and the game might not run. Change some other lines and it totally freaks out.

I didn't have any programming books or even the internet back then. It was a poke and prod at the magical incantations type of thing.