3 ms·
To expand on what qsort said, the paper is right in stating that it's not possible to draw bright lines between the different programming paradigms, but who exp
by MaxBarraclough 6y ago
To expand on what qsort said, the paper is right in stating that it's not possible to draw bright lines between the different programming paradigms, but who expected otherwise?
You can use C++ to write C-style procedural code, or object-oriented code, or functional code. You could use it to write stack-oriented code in the Forth style. With the help of a library you could even use the logic programming style of Prolog. C++ compilers also tend to support assembly. Of course, the list goes on. You could implement a Turing machine, or a one-instruction-set computer, or Game of Life, or Langton's Ant, and use that as your computational paradigm.
The distinctions between the programming paradigms are often a fuzzy matter of emphasis and idiom, it's not precise and unambiguous.
I hadn't encountered the term hypercomputation before. [0]
> The notion of distinct programming paradigms, as opposed to permeable traditions of programming languages and methodologies, now seems anachronistic in Computer Science curricula, and should be revisited. In particular, the inconsistent uses in the influential ACM/IEEE Curricula should be addressed.
I'm not convinced. It makes good sense to have a course on functional programming, to introduce students to its concepts. The concepts aren't easy, and it makes sense to dedicate a whole course to them. What does it matter that the distinctions between programming paradigms are ultimately imprecise? The same is true for just about everything.
Also, the paper didn't mention the related concept of the Rule of least power: choose the least powerful computer language suitable for a given purpose. [1]
[0] https://en.wikipedia.org/wiki/Hypercomputation https://en.wikipedia.org/wiki/Hypercomputation
[1] https://en.wikipedia.org/wiki/Rule_of_least_power https://en.wikipedia.org/wiki/Rule_of_least_power