All the Programming Languages

Talking to some junior developers today, I was struck again by how much software developers identify themselves with a particular tech stack or programming language. Along with that they may decide that your preferred language is not a real language and therefore you are not worthy of respect.

I think this is fundamentally wrong since it’s much more likely these days that you will start on one tech stack and language and it won’t be long before you are adopting another and another as different problems present themselves. Which programming language you choose to solve a problem can go a long way to making your job as a programmer easier or harder depending on how well that choice fits the pardigms of the solution space.

That conversation made me think about all the languages I have used in my career. It’s quite a list (and several have come back more than once) but it doesn’t include any that I have just played around with to see how they worked etc. That list would truly be too long.

In order:

  • Assembly Language (HP machine, can’t remember which)
  • Pascal
  • C
  • QuickBasic
  • Pascal
  • C
  • C++
  • C and Clipper
  • Smalltalk
  • C++
  • C
  • Assembly x86
  • Java
  • C++
  • Visual Basic
  • Weird Visual Block Language
  • C++
  • Visual Basic
  • C#
  • JavaScript
  • Ruby
  • Smalltalk
  • Python
  • Go
  • Rust
  • Elixir
  • PowerShell
  • JavaScript

I remember reading the Pragmatic Programmer’s book in something like 2000 and really taking to heart the advice that we should learn a new programming language each year to keep us fresh and widen our horizons for how we can solve problems.