Every once in a while, a meme appears on Twitter asking people to name all the computer languages they know, in the order they learned them. This is a twist on that, with additional information on why.
I first learned BASIC on an Apple ][+, circa 1980, by reading the reference manuals that came with the computer. I was in 8th grade at the time, and the computer was housed in a former photography darkroom, in an Earth Science teacher’s classroom. That teacher’s wife was also a teacher, of Kindergarten. I created a flash card program for her students to learn their letters and numbers.
I went on to program in BASIC on other computers, notably the Commodore VIC-20, and, later, the IBM PC.
In the mid-80s, I wanted to learn a more sophisticated language, and chose Pascal. Specifically, Borland’s Turbo Pascal. I went on to use that knowledge to work as a programmer for a company making software for the energy sector, while I was a student in college.
Very similar to Pascal, Modulo-2 was used as a instructional language in early Computer and Information Science (CIS) classes at the college I attended (THE Ohio State University). I’ve never used it outside of academia.
To quote Wikipedia:
“dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day.”
I was working for a large hamburger restaurant chain (think “sliders”), in their corporate HQ, investigating the feasibility of replacing their third-party Point Of Sale (POS) equipment with custom, in-house software.
5. x86 Assembly
Initially on the IBM PC (8088 processor), then the IBM PC/AT (80286 processor), and on to all the successors. I initially learned this language for fun, but later had an opportunity to use it commercially in helping port custom industrial control software (for concrete plants) from a proprietary 8008-based system, to a standard 80286-based system.
Again, seeking to up-level my skills, I learned C, first via Borland’s Turbo C, and later from the original K&R book. I used this commercially at several companies, including CompuServe, in the early 90s.
Wanting to get into Object-Oriented Programming (OOP), C++ was a natural progression. When I was learning it, it was common to find mistakes in the few books that were available. I used it commercially with the Zinc Application Framework in the early 90s.
8. 68000 Assembly
This was learned for some of the courses in my CIS degree, for programming the original Apple Macintosh. Never used it outside of academia.
Also part of my CIS studies, for a class on Object-Oriented Programming. Although popular in the military, I never used it again.
Also part of my CIS studies, but I don’t remember the class. Likely something involving queuing theory. Haven’t used it since.
Also part of my CIS studies, and a required class. I supposed it was revolutionary in the 60s & 70s, but in the late 80s it was cumbersome and tired.
Some would argue that this doesn’t qualify as a computer language. I can see both sides of that argument. But, it’s a language easily dismissed for its apparent simplicity, and it’s much deeper than that. Initially learned as part of my CIS studies, I’ve used it extensively over the years of my career.
Another object-oriented language that I learned as part of an employer bootcamp, but never really used much beyond that.
While at AOL, I was on a team analyzing the performance of all of AOL’s websites. The data was housed in a large Hadoop cluster, and the query-language of choice was Pig, developed at Yahoo! (along with Hadoop).
In an odd twist of fate, I happened to be on the Yahoo! campus for a Pig meetup the day the core team that founded Horton Works quit their jobs at Yahoo! to do so.
As my career pivoted from software engineering to data analytics in the mid-2000s, the most influential move was learning R. A language built from the ground-up for statistics and data analysis. Then, the work from Hadley Wickham on ggplot and dplyr, and what eventually became the tidyverse, shepherded by RStudio (now Posit), created a data analysis ecosystem without rival.