Fortran II, which was my first language. Learned it in Union Station in Chicago, waiting for the train back to Montana at Christmas break in my Freshman year.<p>XPL, after my very contentious relationship with Fortran II developed, changed not only my thinking about programming, but pushed me into a career in Compilers.<p>Then Lisp, after a 40 year interval (introduced in a "survey" class in my senior year at NWU), came into full bloom as my tool for most everything these days.<p>And RPG III for a reflection on its ancestry of Plugboard machines (not meant in a disparaging way). But the truth is that was likely the only way that I would have come to appreciate COBOL.<p>Bliss 36 as a precursor, of sorts, to C, on a high-level language used to write said compiler in.<p>I had a rather ho-hum reaction to C, as all the work in in the Sigma5/RBM interrupt-rich environment made it hard to accept the compromises that were, and are, C.<p>But C was a lesson in engineering to me. Engineering, in my simple country boy definition, is finding the solution to a problem with 5 mutually exclusive constraints. Studying C carefully shows you those. Unless you have designed a language, you may not have access to the full appreciation of it.<p>Syclops (yes, that is the spelling--the company was named Sycor), the language that three of us designed and built a compiler for back in the 1970s. It was a very simple language, in the spirit of PL/M, but it was a lesson in the combinatorial potential lurking behind even a very simple language. Three of us were a bit clueless that you couldn't build a compiler in a year, but we ended up doing it. And one of us was a student of Ullman; wrote a paper on a particular aspect of error recovery for LALR parser. Targeting the 8085, no less.<p>The PDP-10 assembler language for unmatched beauty and power in an assembler. 8086 is not very pretty in comparison.<p>Smalltalk, which taught me that with a good development environment, you can feel drained after putting in 8 hours of programming, because you are not waiting around for any compile, ever. And that OO programming in other languages (C++, I am looking at you) is but a pale imitation.<p>Oh, and Forth, for a way to build astonishingly complex behavior with extremely simple hardware.<p>Edit--typos