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.
This entry was posted on Monday, May 1st, 2017 at 2:01 pm and is filed under Programming, Teaching. You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
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…
Thanks for the citation, I’ve added a link.
Maddening per usual — saying what seems clear in retrospect but which most of us pikers can’t seem to put our fingers on ourselves.
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.
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”.
Please log in using one of these methods to post your comment:
You are commenting using your WordPress.com account. ( Log Out / Change )
You are commenting using your Twitter account. ( Log Out / Change )
You are commenting using your Facebook account. ( Log Out / Change )
You are commenting using your Google+ account. ( Log Out / Change )
Connecting to %s
Notify me of new comments via email.
Notify me of new posts via email.
Create a free website or blog at WordPress.com.