I’m lucky.
When I started coding, back in the day of the Commodore Pet and Apple ][ and Ohio Scientific C8P and this weird new IBM PC thing, programming was still a form of High Magic. Approached and treated as such.
Now it’s just a career path.
The only barrier to entry was scraping together the 300 bucks for that new Commodore VIC-20 William Shatner was hawking, then realizing once you got home and spent 8 hours coding on your new machine with that warm plastic and electronic odor you’d come to love more than the smell of a fresh cherry pie cooling on the window sill, that you needed to go back to Monkey Wards and buy a 50 dollar cassette backup unit, only to get it home and find out you were supposed to turn off the computer first before plugging it in.
Carefully writing each line of your spontaneously created “choose your own adventure” program all down in pen on a napkin to be safe, you’d finally say “screw it” and plug the cassette unit in anyway.
At this point, after the computer failed to explode, and as you listened to your work being excruciatingly slowly streamed to tape, counting the little click-click-clicks of the drive motor carefully dragging the tape across the head at a precise speed that couldn’t vary or the bits wouldn’t be readable again, if you had an unaccountable quickening of pulse, a slight buzz in your ears that was the quantum foam of the rest of the world not mattering at all, and a twinkling new universe of possibilities for what you’d do the second the save finished dancing in your head, if that was you, then there was no doubt you were destined to become a programmer.
Today you have to be told you might have the right aptitude by a career guidance counselor.
Those were the days.
After realizing how slow and limiting BASIC was, you yearned to build faster, more resource efficient programs. If your desire was great enough, you entered into the black art of Assembly Programming, learning to control the very heart of the machine, its microprocessor.
Soon, if your mojo was strong, you ascended from programming neophyte, flirting with power like Mickey conjuring armies of wayward brooms, to the status of High Wizard.
High Wizards knew Machine Language.
You knew where every free bit was in your machine’s memory map, what it was for, and when it could safely be used for your own nefarious purposes.
You stashed frequently changed values zero page for faster access because any address in the first 256 bytes took just a single byte to address and cycles were dear, since the processor ran at 1Mhz.
You always knew the exact values in the microprocessor’s accumulator, registers, and flags, and whether you could get away with a JMP instead of a JSR to get to the opcodes and operands you wanted to execute next.
You knew you could get an extra 868 bytes of RAM from the cassette buffer if no tape operations happened.
You could do multiplication and division waaaaay faster if the multiplier or divisor was a power of two.
You commanded realms others barely knew existed, using the very language of the machine itself.
You laughed in the face of the non-maskable interrupt.
Where did the Magic go? That’s what I want to know.