How Many Languages Do You Know Dad?

ATrigueiro
The Old Coder
Published in
6 min readMay 1, 2019

--

In the movie, Snowden, the main character brags about knowing 5 or 7 programming languages. I forget exactly how many the Snowden character states, but it is a single digit number. In any case, it prompted a question from my adult sons, who had come to the theater with me. As adults, they have had much less interest in what Dad might know or not know, so I was surprised by the question.

I did not have an immediate answer, either. My sons felt pretty sure I must know more than that, but when asked I stammered a bit. They insisted that I must know more than a measly five. The number seemed unusually small, I admitted. I did a mental inventory of my own day to day coding challenges and came back with five quickly.

“Any decent full stack developer needs to know five languages or so,” I replied.

I explained that I use SQL quite a lot, then C# and VB.NET with some JavaScript thrown depending on what the implementation is. That was four languages right there. I added that I also had to dig into some ancient VB6 code from time to time. And to some points of view, HTML & CSS would be considered languages as well, so I was already at seven. I did not even start counting the various job control, batching or scripting languages like PowerShell to get to Snowden’s “brag count”.

Their question has stuck with me, since that conversation. I finally decided to sit down and list the number of languages I have learned over the years. I mean truly learned, not just “dabbled”. Below is that list excluding quite a number of batch languages on various operating systems due to my imperfect memory. The ones that I count before #1 are ones I learned in school, but never got paid for. With the exception of the last one in the list, I coded in all of these “professionally”…meaning I was paid to write the code.

#0 Fortran — 1980 — Santa Ana College — I took a class in college to learn how to code, but I barely attended. When I went to the library to log in my lack of attendance meant I did not actually know how to get past the first couple of prompts. I ended up typing swear words on the command line and eventually wandering out of the library.

#0.5–1983 — COBOL — Now almost four years later my friends were graduating from Berkeley to go work at accounting firms and I was flipping hamburgers. I decided I needed an employable skill, so off to the Computer Learning Center I went.

#0.75 BAL — 1983 — basic assembly language — This was an eye-opening exercise at the Computer Learning Center. COBOL was a lot of writing and had an English-like syntax. Assembly language was at a very low level where you were checking values within registers which were very unique to each type of hardware. This was the MOST efficient way to write code in tight memory spaces.

#1 RPGII — 1984 —The first paying job as an accounting clerk/computer operator at a packaging company. However, all the source code was there. I started changing stuff because I could. The owner took notice and leveraged me to save money and get more out of his computer system.

#2 Commodore Basic — 1985 — Check-writing program for a small check cashing company.

#3 Microfive Basic — 1986 — Adapting a healthcare application package to be used in the packaging industry.

#4 TBOL — 1986 — This was a custom language based upon SYBOL a hardware company’s scripting language which had been adapted to be used by a cable billing company in Sacramento.

#5 TAL — 1988 — Tandem Assembly Language — This was another language leveraged by the cable billing company I was working for at the time.

#6 QCode — 1990 — The cable billing company, CableData, created its own computer system! It was an amazing accomplishment, though it obviously never caught on, since you do not know what a QuikData is. QCode was what ran on the QuikData.

#7 THEOS BASIC — 1993 — This was a practice management software package. It was actually two separate, but closely related practice management packages, one for dentists and one for medical practices.

#8 THEOS C — 1994 — The practice management software was written on the THEOS operating system. I used this to write device drivers to work with this lightly used but powerful operating system

#9 HTML — 1995 — I have always fancied myself to be some kind of a writer. LOL. When the World Wide Web really started to catch on, I knew I needed to learn HTML so I could publish my “rantings”.

#10 Visual Basic— 1997 — I was still at the practice management company, but we were trying to migrate the THEOS code to a Windows platform using Visual Basic.

#11 Delphi — 1998 — Moved on to a pension administration company where I rewrote a mainframe application suite onto a Windows client-server architecture.

#12 Speedware — 1999 — When the pension administration company was actually faced with a completed package on a Windows network, they backed away due to internal politics. I was forced to learn this language if I wanted to continue to work there.

#13 Java — (mostly just applets) — 2000 — I started contracting a little Java thinking Speedware would be a dead end for me. I never coded in Speedware again.

#14 SQL — 2000 — I began doing a lot of Delphi consulting work. This Win32 work was using a SQL Server back-end most of the time. I needed to bone up on querying data if I wanted to succeed.

#15 Classic ASP — 2000 — It was not referred to as “Classic” back then. It was actually referred to as Active Server Pages and many web sites were being written in it. This was just before the dotcom flame-out and everyone NEEDED a website.

#16 JavaScript — 2000 — It was called DHTML or Dynamic HTML. It essentially was JavaScript enabled web pages based upon Netscape’s engine.

#17 CSS — 2000 — Another essential component to web sites if you wanted a “modern” look.

#18 Various Win32 language flavors, like FoxPro and PowerBuilder along with VB and Delphi — 2004 — The dotcom flame-out ate all the web site work, so it was desktop applications.

#19 VB.NET — 2006 — I started doing .NET consulting and this was the language I was getting contracts in. Ergo, I learned VB.NET though I liked C# better.

#20 C# — 2008 — I tried to get as many C# contracts as I could. I got much better at it over time too.

#21 AngularJS — 2013 — This was an enormous paradigm shift for me at a large dental manufacturing company, but it was necessary if I wanted to continue to work at the dental laboratory.

#22 Typescript — 2013 — Angular and Typescript seemed to walk a path together, so I learned it.

#23 LESS — 2014 — I moved on to do some more consulting with Typescript. It was a massive application with many coders involved. All the CSS was delivered in LESS for an automated build.

#24 BASH — 2019 — My day to day work is mostly C# and SQL these days. However, Windows 10 and Microsoft’s vision of an operating system as a service is not appealing to me. I need to get better on the Linux platform, so I started using this command line “language” more and more at home for various applications.

So there you go, in a 35-year career, I have learned over twenty languages. I anticipate learning some more before my time is done. In fact, even as I contemplate retirement, I think to myself that this world requires coding. I should never stop. I am thinking I need to delve into Python more.

My career has kept me connected to a changing world. I feel I have a better handle on what is going on in my nation and the world for that matter because I code. I am considering the reality that I must code to stay connected even if I no longer do it professionally. Or will I always do “some” consulting, so I can keep my hand in? Perhaps I will.

--

--