Programming Paradigms, Turing Completeness and Computational Thinking

Greg Michaelson1

The Art, Science, and Engineering of Programming, 2020, Vol. 4, Issue 3, Article 4

Submission date: 2019-01-28
Publication date: 2020-02-17
DOI: https://doi.org/10.22152/programming-journal.org/2020/4/4
Full text: PDF

Abstract

The notion of programming paradigms, with associated programming languages and methodologies, is a well established tenet of Computer Science pedagogy, enshrined in international curricula. However,this notion sits ill with Kuhn’s classic conceptualisation of a scientific paradigm as a dominant world view, which supersedes its predecessors through superior explanatory power.

Furthermore, it is not at all clear how programming paradigms are to be characterised and differentiated. Indeed, on closer inspection, apparently disparate programming paradigms are very strongly connected. Rather, they should be viewed as different traditions of a unitary Computer Science paradigm of Turing complete computation complemented by Computational Thinking.

  1. G.Michaelson@hw.ac.uk, Heriot-Watt University, United Kingdom