I came across this book[1] and was intrigued by the premise. Has anyone learned assembly as a first programming language or known anyone who has?<p>[1] https://link.springer.com/book/10.1007/978-1-4842-7437-8
Anybody living in AD 1975. You could access government mainframes and Fortran, but it required lots of begging. I knew 8008, 8080, Z80, MC6800, RCA Cosmac, NOVA-1200 and PDP-11 assemblers and some more.<p>I studied also Russian MIR-1 machine code, but they decided I was not politically suitable, cause my hair was too long.<p>And I had scary experience of superwide telephone exchange controller by Siemens, but they had no symbolic assembler, they programmed every word bit-by-bit in octal.
I learned assembly first, and it definitely affected how I approached all languages afterward.<p>Actually, it was digital logic that I started with, building half adders and such. From there the changeover to assembly was very natural. From there, C just made sense because it projected a very assembly like virtual machine.<p>From then on, I'd unconsciously convert high level code to its assembly equivalent in my head. The only pitfall is that you mustn't stop profiling, because these days cache trumps cycles per operation by a very wide margin.
I learned Fortran first (in the 1970's) but didn't fully understand computers until I learned Assembler (MACRO-10 for the PDP-10 first, then COMPASS for the CDC-6400, then IBM 360 Assembler).