Turbo Pascal
I learned serious programming on Turbo Pascal, on the advice of one of my father’s friends. This was in the mid-to-late 1980s - maybe 1987 or 1988. I had experience with Microsoft Basic - yes, the last program Bill Gates wrote - and was doing okay there, but I knew I needed to become a better programmer if I was going to write video games. So I learned Turbo Pascal, and I even learned how to do inline assembly on the advice of Richard Garriott.
Just saw this come up today: Things Larger Than Turbo Pascal v3.0
Let this be a reminder to you that we did things differently in the ’80s.
I was terribly happy when I modified my sprite drawing code to be 10 bytes shorter by using REP MOVS - of course, I wasn’t in the same league as the big game developers but it was good for an amateur.
My father was proud of a great text-mode printer firmware he wrote in the early ’80s that did run-length compression in the buffer. He used a special code to indicate the beginning of a run-length value. The three bytes 0xFF count byte meant that the buffer stored count repetitions of byte; when the code saw 0xFF 0xFF he had special logic to output the byte 0xFF. I pointed out one day that he could have represented the marker as the combination 0xFF 0x01 0xFF - which would have eliminated all the special conditions and shrunk his firmware. We cared about such things! Nowadays we just pass it through GZIP and dust off our hands.