Rocky asks the question “What languages and language families have you been competent in during your career?” and provides his own list. Here’s mine, in order, as I remember it:
- BASIC (IBM-5100, a precursor to the IBM PC)
- BASIC (TRS-80 Model III)
- APL (IBM-5100)
- AppleBASIC (Apple ][+ and Apple ][e)
- UCSD Pascal (IBM PC)
- Unix shell scripting (not sure the machine)
- C (ditto)
- Turbo Pascal (IBM PC)
- GBBS Pro BASIC (a custom BBS language, Apple ][e)
- Scheme (Mac)
- C++ (IBM PC)
- Haskell (Sun)
- Visual BASIC 1.0 to present day (Windows & .NET)
- SQL (Access & SQL Server)
- Java (Windows)
- MSIL (.NET)
- C# (.NET)
And there is a small smattering of experience with other languages, but no significant programming experience. Broadly, this breaks down to the following families:
- BASIC
- Pascal
- C
- Functional languages like Scheme, Haskell, etc.
- Other
I’ll also add that the entry for “APL” is really a joke. I started programming on IBM-5100s over at Duke University. The 5100 had the distinction of having a switch on the front panel marked “BASIC/APL”. Depending on which position the switch was in, that’s the language you used when the machine booted up. Somehow, my friend Tom and I came into possession of some mag tapes (which is what the 5100 used for storage) with a bunch of games written for the 5100, including an adventure game written in APL. I seem to remember really wanting to learn how to modify the adventure game and so I set about learning APL. Unfortunately, I was probaby 11 years old at the time and had nowhere near the necessary mathematical foundations to be able to understand the language, so the whole enterprise was a bust. So Tom and I fell back to writing an adventure game in BASIC. I think I still have a printout of “Escape from Carr Building” somewhere around here…
Updated 02/17/05: How could I forget SQL?