Saying something nice about programming languages

Saying something nice about programming languages

I recently saw several instances of an interesting proto-meme from a couple years ago: can you find something nice to say about every programming language you’ve used? Here’s my try (limited mostly to languages I’ve used at work or for extended periods), organized chronologically:

  • EduBasic (on a DEC PDP-8e): I could write programs, and they’d do stuff!
  • PDP-8e machine language: taught me how computers really worked. I still remember a few of the opcodes, decades later.
  • C: Introduced me to pointers in a high-level language, and K&R introduced me to a clean elegant style of both coding and technical writing. I still use C today.
  • APL: I used this for a summer job, on an IBM 5100 Portable Computer. It introduced me to the idea of operating in parallel on whole vectors at a time, as well as teaching me both the appeal and the danger of crafting one-liners.
  • SPRITE: I can’t find any web references for this, it was the proprietary systems-programming language for the Burroughs (later Unisys) Medium Systems mainframes. It introduced me to the idea of separating interface declarations from implementations (C could do this with header files, but I hadn’t fully grasped the concept until I saw SPRITE).
  • ALGOL: This was Burroughs Large Systems ALGOL, which was an “extended subset” of ALGOL-60 that had been hacked into something rather different. With it I wrote a program that ran on the most expensive computers I’ve ever worked with.
  • Pascal: I used several variations, starting with USCD Pascal, and later Turbo Pascal. It’s type safe, and the Turbo variant compiled really quickly.
  • Modula-2: Drove home the concept of modularity, and had the best post-mortem dump analyzer I’d seen up to that point (or for a long time after!).
  • COBOL: I only ever wrote one test case in COBOL, but I discovered that it had a very rich (if wordy) language for describing data structures.
  • C++: Showed that multiple inheritance was possible, and why it probably wasn’t worth the effort. Later, taught me about generic programming. I still admire the Standard Template Library.
  • Visual Basic: Awesome for quickly prototyping Windows user interfaces. I prototyped a tool in VB in a less than a week that ended up getting used for a couple years in production.
  • Perl: I started with version 4, which was a cool little language for hacking away at text processing tasks. Then I did web stuff in version 5, which unleashed the power of CPAN. Now I’ve discovered Moose, which almost makes Perl a whole new language.
  • Java: Showed what C++ could have been, and how much easier automatic garbage collection makes programming in the large.
  • Javascript: While I had futzed with it a little, it was Douglas Crockford’s writing that got me to take the language seriously. It’s a cool instance-based OO language, that’s got incredible market penetration.

I’m leaving out various languages I’ve played with but never did anything serious with, including SAM76, SNOBOL, Forth, Smalltalk, Lisp, Simula-67, Erlang, and so on. I learned a lot from many of them, too.

That actually wasn’t as hard as I’d expected, finding one thing nice about even the languages I liked the least.

(Image from‘s story on Improv Everywhere‘s Say Something Nice mission.

Speak Your Mind