What, if anything, is a programming paradigm?

Just out, an essay on the Cambridge University Press author’s blog about “programming paradigms”, and why I did not structure Practical Foundations for Programming Languages around them.




5 Responses to What, if anything, is a programming paradigm?

  1. You seem to make a similar point as Shriram Krishnamurthi who wrote a paper “Teaching Programming Languages in a Post-Linnaean Age” on the same subject, using the same comparison to taxonomy. No zebras though…


  2. csci1101 says:

    Maddening per usual — saying what seems clear in retrospect but which most of us pikers can’t seem to put our fingers on ourselves.

  3. mhelvens says:

    Sure. The notion of “programming paradigm” does not have a rigorous formal definition. At least not one that’s commonly known.

    And yet, every programmer will know what you’re talking about when you use the term. Most will be acutely aware that object oriented programming is a fundamentally different way of expressing their intentions than logic programming. One can acknowledge that a term is fuzzy around the edges, but still use it to successfully communicate an idea.

    Plenty of common terms are rather ill-defined when you get right down to it, yet still serve a useful function, like “planet”. The definition of “planet” was recently updated to make it more consistent and predictable. The same might be done for “programming paradigm” some day, because there’s obviously a ‘there’ there. But it is already a meaningful term even now.

    Furthermore, if I want to learn how to drive a particular car, understanding the components of the engine and the principle of internal combustion will only get me so far. I need to know whether it’s an automatic or a stick shift, and I need to understand what that means for me as driver. If I want to spot a zebra in the wild, the most useful hint you could give me is that it has black-and-white stripes.

    So it is no doubt fascinating and useful to study programming languages through type theory and the systematic study of computation. And that should be reason enough to do it. But I don’t think I understand your taxonomy versus genomics argument.

  4. Derek Dreyer says:

    Did someone actually give you a hard time for not focusing on different “paradigms”? As far as I can tell, the best definition of a programming paradigm is “something that you better hope your language is not restricted to”.

Leave a Reply to csci1101 Cancel reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: