Home > misc, software engineering > Say Something Nice About Every Language You’ve Used

Say Something Nice About Every Language You’ve Used

December 8th, 2010 Leave a comment Go to comments

In Michael Easter’s recent post, I was struck by his comment that Guy Steele like all languages. Seems like a pretty chill way to live a programming career. So I wondered, do I like all languages? Can I say something nice about every language I’ve used? As the saying goes, “If you can’t say something nice, don’t say nothin’ at all.”

Let me give it a try in rough chronological order of the first time I used each language in anger:

  • Pascal – Ouch. My memory is so fuzzy I can’t even think of something bad to say about it. So we’ll count “no comment” as nice and move along …
  • C++ – Another toughy, but this time because my memory is so sharp. Hmmm. Uh. C++ has a really nice personality. Next.
  • Matlab – Pretty cool array slicing notation. I don’t know if Python stole this from Matlab, but when I first learned Python I was like “Hey, this is Matlab!”
  • Common Lisp – Generic functions and multiple dispatch are cool.
  • Visual Basic 6 – Seemless integration with COM and built-in support for the observer pattern.
  • C – As Linus has pointed out, you need almost no context to understand a random chunk of C code. It is what it is and nothing more.
  • Java – It’s simple enough that really powerful, reliable tools can be built for it. If you change the signature of a method in Eclipse, you can feel confident that it actually worked. (unless you’re doing reflection…)
  • Tcl – The entire language is expressed in 11 simple rules and it’s homoiconic. Once you accept that everything is a string, you’ll enter a zen-like trance and every atom of your being will vibrate in harmony with Tcl’s interpreter. Or something. Finally, whenever you write a quick test script, you get to name it “test.tcl”
  • Python – Python taught me about list comprehensions and bound methods. It’s stupid, but I also always liked that you could multiply a string by a number to repeat it.
  • Soar – Fast, rete-based pattern matching is cool. Everything that’s really easy in a procedural language is hard in Soar, but some things that are hard are easy.
  • JavaScript – Taught me that objects are overrated and started my reptilian, OO brain down a brighter path.
  • Ruby – I think blocks are a neat bit of syntactic sugar. I like that everything, including nil, is an object.
  • Scala – Introduced me to implicit typing and opened my eyes to how much I actually have to type when I’m coding Java.
  • Clojure – It’s fun, has a nice cross-platform VM, persistent data structures, a good concurrency story, and is apparently saving Lisp from itself.

Wow, I feel really great now.

Note that every one of these could have easily be extended with “even though”, “except for when” or “but sometimes”, but I resisted the urge, mostly.

Can you think of something nice to say?

  1. MagicFingers
    December 19th, 2010 at 23:21 | #1

    I’d like Ada wich is by far the most strongly typed langage i’ve never had to deal with. The coding process can be tedious but the whole job can be tremendiously accelerated by this feature.

    The “modern” versions VB i mean .NET, are now proposing a not so bad way of strongly type behavior but, i think it’s not by now exactly what it should be. The .NET library have a component that i hate more than every shity things MS Corp. has made and this is the System.Data.BindingSource. I always get lost in the pitfall of thinking that binding UI with Data should be with a minimum coding but since VB6 and after smashing my head on my keyboard and swear to my screen, i know that automated binding is just something like demonstration software.

    I’d never like Java and i do not really know why! I don’t hate this langage wich have a C like syntax and is a totally OO langage. Maybe my remebering of early days of managed langages such this one running on win95…

    I cannot finish with the worst i’ve ever encontered in my life. Casted on the perfect bureaucratic civil servant (but business oriented) and i named the Report Program Genertor or RPG. I just can’t imagine someone had think about creating such monstrosity! Worst than COBOL i think!
    But it was long ago…

  2. Joseph
    December 21st, 2010 at 15:32 | #2

    Dave:

    Soar is not a programming language.

    awk and sed are special purpose languages that have perfect syntax for their niches. Instead of trying to make that one language to rule them all, which is probably never going to happen, we need more special purpose languages and better ways to make them work together.

    Also this:

    http://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html

  3. December 21st, 2010 at 22:38 | #3

    @Joseph In Soar (the implementation), I type in code and run it to perform some task. It even has syntax. Sounds like a programming language to me :)

Comment pages
1 2 322
  1. December 14th, 2010 at 18:38 | #1
  2. March 9th, 2011 at 17:05 | #2
  3. February 6th, 2012 at 18:56 | #3
  4. February 7th, 2012 at 00:36 | #4
  5. July 17th, 2013 at 15:03 | #5