What were your #FirstSevenLanguages?

26

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!

Share

About Author

Chris Hemedinger

Director, SAS User Engagement

+Chris Hemedinger is the Director of SAS User Engagement, which includes our SAS Communities and SAS User Groups. 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

26 Comments

  1. Chris,

    Oh this is a really fun blog post!

    My first seven programming languages were:

    Algol
    Fortran
    PL/1
    COBOL
    JCL
    Business Basic
    SAS
    In addition to the above, I speak very tortured high school French:-)

    ----MMMMIIIIKKKKEEEE

    • Chris Hemedinger
      Chris Hemedinger on

      From Business Basic to SAS -- what a leap! And we're happy with where you landed!

      • Here are mine:

        Algol 60
        Pascal (on punch cards and Turbo Pascal)
        SPSS
        SAS
        VBA (HTA, WSH)
        XSLT
        Java (still a junior)

        Oh, and somewhere intermixed was Stata, VMS/DCL, Kixtart and PHP.

    • My first seven languages
      Fortran II and IV
      Programma 101 assembler
      PL/1
      RPN (Reverse Polish Notation for HP45)
      ML/1
      Algol W and 68
      LISP
      DEC/VAX Assembler

      and later

      APL
      SAS

  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)
    Cobol
    C and C++
    VBA and web technologies/scripting
    Java
    SAS

    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)
    Pascal
    PDP 11/45 Assember & machine language
    Basic HP 2000 & later Commodore 64
    COBOL
    JCL
    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. Basic (on an Enterprise 128, then C64, then IBM PC)
    C
    Matlab
    Python
    SAS

    And that is it. I skipped the Pascal craze, jumped straight into C.

  6. I would have dabbled in other languages, but the first ones I did any serious projects with are:
    Fortran
    Pascal
    PL/1
    SAS
    360/370 Assembler
    C
    SQL
    #FirstSevenLanguages

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

  7. 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).

  8. 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)
    Fortran
    Pascal
    C
    SAS
    ksh (korn shell)
    Java
    I see your first 7 programming languages and raise you your first web based languages/scripting:
    HTML
    htmlsql
    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

  9. I'm sure I'm showing my age, but my first ones were:
    Fortran
    IBM 360 Assembler
    Cobol
    Lisp
    APL
    SNOBOL4
    Simscript II

  10. Wires (on IBM EAM equipment that used plugboards)
    Assembly
    Jovial
    Basic
    Visual Basic
    JavaScript
    C

  11. Pascal
    PL/1
    370 Assembly Language
    Fortran
    Basic
    WYLBUR scripting language
    REXX scripting language
    no particular order

  12. Peter Lancashire on

    Hmm. Memory problems here.
    FORTRAN IV
    DARE-P
    Commodore BASIC
    SPSS
    Pascal
    Minitab
    Genstat
    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.

  13. Doc Muhlbaier on

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

    FORTRAN
    Autocoder
    Easycoder (2 flavors of assembly language for mini-computers)
    PL/1
    COBOL
    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.

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

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

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

    I just manage to slip SAS in there...

    Fortran
    APL
    COBOL
    DEC 10 Assembler
    S/370 Assembler
    PL/I
    SAS
    #FirstSevenLanguages

    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!

Back to Top