Here’s a secret I wish someone told me in high school: literally everything is pass by value, it’s just that sometimes the value is an address. It demystified pointers for me.
pointers are just symlinks in programming
Lemme tell you something, DO NOT learn BASIC as your first language. As a hobbyist, I avoided C/C++ for 25 years because I just didn’t get pointers and memory manipulation, and messed around with other languages like JS and PHP instead (also BASIC’s GOTO and GOSUB kinda ruined me as a programmer for a few years). But once it finally clicked a couple years ago, I now want to write EVERYTHING in C/C++.
I think plain C at least should be everybody’s first language. It literally reprograms your brain to think exactly like how a computer internally functions. I never got that with other languages, because they were so far removed from the actual machine.
Edit: also, after learning some of it, it’s pretty neat when you do stuff like look at parts of the Linux kernel source code and think “wow, I know what’s actually happening here now!”.
I “understood” on a basic level what pointers were when i was first learning programing as a 12-13year old. But I never understood HOW to use them, or manipulate them, or what functions you use to interact with them, or how to examine them, or how to declare them, etc etc. And since I was young I never got the opportunity to take an actual programming class that taught any of that throughout high school. By the time I got to college I went with Electrical Engineering instead of computer science and so my journey with pointers ended.
Now I do python and never have to think about pointers.
Every Python variable is a pointer
Sounds like the perfect evolution of pointers then.
Thanks, Anya Forger
She reads memory all the time