Pages

25 January 2016

“Weird” is intellectually lazy

Saying “X is weird” is equivalent to saying “I don’t understand X, and I blame X for it.”

I often have to make this point in discussions of programming languages. I enjoy writing in Haskell, and I’ve taught it to a number of developers. People who are accustomed to imperative programming languages are quick to term Haskell “weird”. When I ask what they mean by this, it usually boils down to the fact that it’s different from what they’re accustomed to, and they don’t understand why the differences are necessary or useful.

A “weird” language feature is one that seems gratuitous because, almost by definition, you don’t yet understand why the language authors would’ve designed it that way. Once you understand the reasoning behind it, the weirdness evaporates. Of course, you might still reasonably hate the design, but it’s impossible to give a fair critique without a proper understanding.

For instance, criticising Go for its lack of generics misses the point of what Go is for—to be a simple, boring language, with minor improvements on the status quo, that admits good tooling. And Go does this admirably. It’s not going to advance the state of the art in the slightest. It’s not going to shape the future of programming. It is going to be a language that people use for writing regular old code right now.

To shamelessly misappropriate a quote from Tim Minchin: “Throughout history, every mystery ever solved turned out to be not magic.” If you find yourself thinking that something is weird or magical, that’s not an excuse to dismiss it out of hand—rather, it’s an excellent opportunity to dig in and learn something enlightening.

7 comments:

  1. Thanks, this is generally helpful.
    Still, I followed step-by-step your method in this Python Online Training
    Python Online Course

    ReplyDelete
  2. Thanks for sharing this in here. You are running a great blog, keep up this good work.
    Online degree courses
    Distance education

    ReplyDelete
  3. Good blog. Keep sharing. I love them Are you also searching for Cheap assignments? we are the best solution for you. We are best known for delivering writing services to students without having to break the bank

    ReplyDelete
  4. Appreciate your sharing this one. A must read article!



    토토
    프로토
    안전놀이터

    ReplyDelete
  5. I found your site perfect for me. It comprises of brilliant and valuable posts. Keep up the good work..


    스포츠중계
    스포츠토토티비
    토토사이트

    ReplyDelete
  6. 토토
    배트맨토토
    먹튀검증



    Goodd site you’ve got here.. It?s difficult to finnd good quality writing like yours these days. I seriously appreciate peoplle like you! Take care!!my blog

    ReplyDelete