in reply to I started with...:

My first programming experience was a simple interpreted assembler-like language called STOP that ran on an IBM 360. It had some fascinating concepts like register-indirect addressing and the like, and I learned a lot from Mr. Good in that class about the layers of programming. We created punch card decks and they were run at night for us.

When I bought my first computer, an Intel SDK-86 with an 8086 and 2Kx16 of SRAM, its monitor program and assembler felt quite comfortable. x86 segmented addressing is even more crazy than STOP was, but I gained a lot of confidence.

Don Wilde
"There's more than one level to any answer."