What were your #FirstSevenLanguages?


My computer geek colleagues are boasting about their humble beginnings by sharing lists of their first seven programming languages. You can find these under the hashtag #FirstSevenLanguages.

From what I've seen of these lists, the programming languages that appear are very much a function of age -- not the age of the language, but of the person sharing the list. It's also a function of industry. For people of a certain age who first worked at a bank, COBOL appears early on the list. Did you work in the defense industry? Ada is probably on your list.

Of course, the SAS programming language features prominently among my colleagues. I have argued that listing SAS is a bit of a cheat, since SAS actually comprises several different programming languages: DATA step, SQL, DS2, SAS macro, IML, GTL, SCL, and more. SAS also contains hooks into other languages like Lua and Groovy. Some SAS analytical procedures are programming languages in their own right, like PROC OPTMODEL.

I have several friends who have built their entire careers on SAS programming. There is little risk of boredom, as the SAS language evolves with each release and is used in virtually every industry. It's like a huge mansion of a programming language -- we all have our favorite rooms where we spend most of our time, but there are always new additions to discover and explore.

I've said that I don't identify myself as a programmer, even though programming is an activity that occupies lots of my time. Here's my #FirstSevenLanguages list. It's not exactly in chronological order, and like other folks I'm cheating by grouping some languages together into eras.

  • Extended basic on the TI99/4A (high school, in my parent's basement)
  • Turbo Pascal and Turbo C and Assembly (school and internships)
  • REXX and Perl (two different jobs, but used both to automate tedious tasks)
  • C++ (our first versions of SAS Enterprise Guide)
  • Java (various projects)
  • C# and .NET (SAS Enterprise Guide since the mid 2000s)
  • SAS - (first learned in a SAS education class in 1993, and still learning it)

Unlike some of my more distinguished colleagues, there are no "punch cards" languages on my list. Nostalgia is sometimes fun, but I don't believe anyone who says that the era of punch cards, 16K RAM, and 8-inch floppy disks was "the good old days." Instead, I prefer to look forward to my #NextSevenLanguages. In my current role with SAS Support Communities, I get to dabble in JavaScript, FreeMarker, and Python. But I use SAS every day and for so many tasks, it remains high on my list of languages to learn!


About Author

Chris Hemedinger

Senior Manager, SAS Online Communities

+Chris Hemedinger is the manager of SAS Online Communities. Since 1993, Chris has worked for SAS as an author, a software developer, an R&D manager and a consultant. Inexplicably, Chris is still coasting on the limited fame he earned as an author of SAS For Dummies.  He also hosts the SAS Tech Talk webcasts each year from SAS Global Forum, connecting viewers with smart people from SAS R&D and the impressive work that they do.


  1. Chris,

    Oh this is a really fun blog post!

    My first seven programming languages were:

    Business Basic
    In addition to the above, I speak very tortured high school French:-)


  2. I'd consider you a programmer Chris and a very creative one too! (Friday Breakfast Goodie post!!!)

    My #FirstSevenLanguages
    Logo (loved programming the Turtle when I was eight)
    Pascal (in high school)
    C and C++
    VBA and web technologies/scripting

    Not sure exactly about #NextSevenLanguages ... I'd like to learn foreign languages to talk to friends in their native language.

  3. Fortran
    General Purpose Simulation System (GPSS)
    PDP 11/45 Assember & machine language
    Basic HP 2000 & later Commodore 64
    IBM 370 Assembler
    TSO Clist & Rexx

    Sadly the first 7 only covers college undergrad and a concurrent part time jobs from 1974-1978. So much more during grad school and real life work, both obscure and common.

  4. This is fun! Mine are:

    * Pascal
    * PL/C
    * SQL (dBase II/III)
    * C
    * Perl
    * Korn Shell (really, most of the Unix Shell languages)
    * Smalltalk

    I think Perl is still my favorite! (And I didn't include SAS, since it's a world of its own.)

    • Chris Hemedinger
      Chris Hemedinger on

      Thanks Randy! I was beneficiary of your ksh skills back in my early days at SAS in Pubs. Remember when departments each had their own IT staff, and we all had Unix terminals on our desks?

  5. I would have dabbled in other languages, but the first ones I did any serious projects with are:
    360/370 Assembler

    Now I mostly work in Java which isn't even in the first 7.

  6. A trip down memory lane! I agree, the odds on which languages are here mostly are based on age, though other variables also probably play a part.

    Basic (Commodore 64 built in version), 10th grade (1982)
    Logo (summer course) (1983)
    Pascal (High school class) 12th grade (1984)
    6502 assembler (self taught on the same Commodore 64) (1984)
    C (summer course before starting college) (1985)
    Scheme (college SICP class) sophomore year (1986)

    Now it gets tricky... I think the next language was the RISC assembler class, but was it different enough from the previous assembler to count? Same thing with C*Linda, was it sufficiently different from C to count, or just a new addition/version? The next definitely new language I learned was Prolog, first year of graduate school (1990).

  7. David Pope

    So many languages and still learning/using new ones, but here are my first 7:
    Basic (on trash80's and cassette tapes - came right after punch cards)
    ksh (korn shell)
    I see your first 7 programming languages and raise you your first web based languages/scripting:
    jsp (JavaServer Pages)
    php (originally Personal Home Page, but now Hypertext Preprocessor)
    asp (Active Server Pages)
    and of course still learning new ones as needed/required

  8. I'm sure I'm showing my age, but my first ones were:
    IBM 360 Assembler
    Simscript II

  9. Pascal
    370 Assembly Language
    WYLBUR scripting language
    REXX scripting language
    no particular order

  10. Peter Lancashire on

    Hmm. Memory problems here.
    Commodore BASIC
    Lots of others including SAS came much later.

    • Chris Hemedinger
      Chris Hemedinger on

      DARE-P? Had to look that one up. "Any variable starting with I, J, K, L, M, or N are automatically assumed to be of type INTEGER." Pretty much the opposite of those dynamic typed languages that the kids are using these days.

  11. Doc Muhlbaier on

    It does dig into the (fading) memory banks....

    Easycoder (2 flavors of assembly language for mini-computers)
    SAS 76, and every version since then.
    BASS (Does anyone else remember that freeware version of SAS based on SAS 72?)
    Z80 Assembly

    I managed to just dabble in BASIC and Logo.

    • Chris Hemedinger
      Chris Hemedinger on

      Wow, the BASS system is a throwback. Before my time at SAS...

      "Easycoder" is a bit of an oxymoron, I'd guess.

  12. Hmm, fun! I'm a bit boring ...

    Basic/QBasic (mostly modifying the gorilla game to make it more interesting!)
    c/c++ (I went from c to c++ very quickly so I list them together)
    Excel VBA

  13. Sorry to be late to the party, as usual!

    I just manage to slip SAS in there...

    DEC 10 Assembler
    S/370 Assembler

    And what's this about SAS macros? No such thing when I started with SAS. We all thought they were quite something when they appeared!

Leave A Reply

Back to Top