Programming Language Migration Path

While I was preparing some personal background information for a potential client, I was reviewing all the programming languages that I have had experience with. I list languages that I’m most experienced with on my resume. However, it occurred to me that if I was to list all the languages that I’ve worked with, then the client would become overwhelmed with the resume and just write me off as either a total bit head or looney toons. But as I reflected on all these different environments I realized how much fun I’ve had being involved with the software development industry, and that a lot of that fun has to do with the learning process. I think this is what makes a good programmer. Not just the ability to write code, or come up with a very creative application, but the ability to learn. Lets admit it! If a programmer doesn’t have good learning skills, then the programmer is going to have a very short career.

As an exercise, I’m going to list out my Programming Language Migration Path. I would be interested to hear from other programmers what their PLMP is as well. Here goes:

* Commodore Vic-20 Basic

* Commodore Vic-20 6502 Assembler

* Commodore 64 6510 Assembler (Lots of all nighters with this one!)

* IBM BASIC

* IBM Assembler (My hate relationship with segment addressing.)

* dBASE II (Wow! Structured programming.)

* GWBasic

* Turbo Pascal (Thank you Mr. Kahn! Best $49 I ever spent!)

* Turbo C

* dBASE III+ (Cool, my dBASE II report generator now only takes 2 hours to run instead of 7.)

* Clipper/Foxbase

* dBASE IV

* dBASE SQL

* Microsoft C (First under DOS, then under Windows 3.1)

* SuperBase (First under Amiga DOS, then for MS Windows)

* SQL Windows (Whatever happened to this? Gupta?)

* Visual Basic 2.0

* Delphi

* Visual Basic 3.0

* Access Basic / Word Basic (Microsoft)

* Newton Script (My first “elegant” language)

* Visual Basic 4.0 & 5.0

* HTML

* FormLogic (for Apple Newton)

* Codewarrior C for Palm OS

* Visual Basic 6.0

* NS BASIC for Palm OS & Windows CE

* FileMaker 5

* Satellite Forms

* Visual C++

* REAL Basic for Mac 9.x & OSX

* Java

* Codewarrior C++ for Palm OS

* Appforge for Palm OS & Pocket PC

* C#

* FileMaker Pro 7.0

Whew! Not only is this a good exercise to reflect on all the languages that I’ve worked with, but it is a good example of how the languages and the technology has progressed during the past 25 years. I’m sure that I’ll be adding much more to this PLMP in the near future as well. And as with most programmers I know, there is so much more that I would like to learn but just don’t have the time.

Another good exercise is to bring this up as a topic of discussion with a group of programmers after a nice long day at any technical trade show. For example, quite some time ago, after a long day at the OS/2 Developers Conference in Seattle (Yea, dating myself here.), I brought up the topic of 6502 Assembly Language programming. This was during dinner at around 7pm. The resulting conversation migrated to the hotel lobby where it continued until around 2am in the morning. (Ah, the good ol’ days.) 😉

(If you’re a developer, I’d be interested in seeing your own personal Programming Language Migration Path. Shoot me an email to timdottrimbleatgmaildotcom.)

Timothy Trimble, The ART of Software Development