What about the differences? How are students supposed to learn if not for making contrasts between patterns and explore each one separately to get an idea of what makes them tick?
Programming Paradigms, Turing Completeness and Computational Thinking (2020)
11–20 of 26 posts
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#12> this notion [of programming paradigms] sits ill with Kuhn’s classic conceptualisation of a scientific paradigm as a dominant world view, which supersedes its predecessors through superior explanatory power.
That much is (almost trivially) true: all of the programming paradigms are within a single scientific paradigm (the current one). (Even Logic Programming, which otherwise could be considered as close to a true superseding paradigm, if it ever actually supersedes the functional/imperative paradigm.)
You have to look to Cybernetics to find mechanisms from beyond the current scientific paradigm.
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#13And again I am reminded of the joke, "Computer Science could be called the post-Turing decline in the study of formal systems." > this notion [of programming paradigms] sits ill with Kuhn’s classic conceptualisation of a scientific paradigm as a dominant world view, which supersedes its predecessors through superior explanatory power. That much is (almost trivially) true: all of the programming paradigms are within a…
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#14And again I am reminded of the joke, "Computer Science could be called the post-Turing decline in the study of formal systems." > this notion [of programming paradigms] sits ill with Kuhn’s classic conceptualisation of a scientific paradigm as a dominant world view, which supersedes its predecessors through superior explanatory power. That much is (almost trivially) true: all of the programming paradigms are within a…
Could you explain how cybernetics is outside the current paradigm? It's "just" control theory no?
Cybernetics is about how humans interact with technology, so it doesn't even have a resemblance to control theory (and it's a human science by the way).
What makes your impression is probably that the cybernetics literature has a passion to try solving all its problems with control theory. But control theory here is just a tool, not the science.
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#15And again I am reminded of the joke, "Computer Science could be called the post-Turing decline in the study of formal systems." > this notion [of programming paradigms] sits ill with Kuhn’s classic conceptualisation of a scientific paradigm as a dominant world view, which supersedes its predecessors through superior explanatory power. That much is (almost trivially) true: all of the programming paradigms are within a…
Could you explain how cybernetics is outside the current paradigm? It's "just" control theory no?
Not easily, but I'll try. And thanks for asking.
> It's "just" control theory no?
That's the view from the old paradigm looking "forward". From the new paradigm looking "backward" control theory is the beginning of the new paradigm. To me feedback and control theory looks like a slow and painful rediscovery of Wiener and company.
Cybernetics grew out of the study of "loops of causality". In logic, "A = not A" is a contradiction, in cybernetics it's an oscillator.
It's very difficult to describe the paradigmatic shift. I could point to Shannon and Wiener. Shannon's paper is in many ways the epitome of the scientific paradigm that started with Newton and could be demarcated by Einstein. Already with Quantum Mechanics we're starting to get into the new thing (but the name "mechanics" kind of points to the old way still.) The crux is the change of emphasis from concrete and static to context and relationship, the "verbs" rather than the "nouns".
Consider the cannon vs. the heat-seeking missile. In the first case the science is ballistics, in the second it is feedback and control (with ballistics as a kind of substrate) and the physical properties of the mechanism are secondary to the metaphysical properties (the "causal loops" embodied in the mechanism.) Note that the cannon also has its feedback loops. After you fire you measure the result and adjust the aim and so on. The paradigms aren't separate, they all co-exist, it's a change of attention and emphasis. And speed, of course.
It almost doesn't matter what the missile is made of, electric circuits, clockwork, fluidics, etc. The crucial aspects of it that define its behaviour are intangible not physical. That's why Cybernetics can be applied to living systems just as well as machines.
(FWIW, I never went in much for the "Second-order" cybernetics, it got too metaphysical for my taste.)
Anyhow, I hope that makes more (rather than less) sense. :)
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#16Earlier quoted context omitted.
Could you explain how cybernetics is outside the current paradigm? It's "just" control theory no?
> Could you explain how cybernetics is outside the current paradigm? Not easily, but I'll try. And thanks for asking. > It's "just" control theory no? That's the view from the old paradigm looking "forward". From the new paradigm looking "backward" control theory is the beginning of the new paradigm. To me feedback and control theory looks like a slow and painful rediscovery of Wiener and company. Cybernetics grew ou…
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#17Earlier quoted context omitted.
Could you explain how cybernetics is outside the current paradigm? It's "just" control theory no?
> It's "just" control theory no? Cybernetics is about how humans interact with technology, so it doesn't even have a resemblance to control theory (and it's a human science by the way). What makes your impression is probably that the cybernetics literature has a passion to try solving all its problems with control theory. But control theory here is just a tool, not the science.
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#18Earlier quoted context omitted.
> Could you explain how cybernetics is outside the current paradigm? Not easily, but I'll try. And thanks for asking. > It's "just" control theory no? That's the view from the old paradigm looking "forward". From the new paradigm looking "backward" control theory is the beginning of the new paradigm. To me feedback and control theory looks like a slow and painful rediscovery of Wiener and company. Cybernetics grew ou…
I hope this doesn't offend you, but I am more confused by your answer than I was before. Could you point me to some papers/books available online (maybe on certain hubs of science) you'd consider "seminal"?
In re: Cybernetics in general I always recommend "Introduction to Cybernetics" by W. Ross Ashby. It's a whole book but I find it to be the most direct and concrete exposition of Cybernetics.
http://pespmc1.vub.ac.be/ASHBBOOK.html http://pespmc1.vub.ac.be/books/IntroCyb.pdf
In re: paradigm shift, I don't really know of a single good source for that, but the works of Gregory Bateson, specifically "Steps to an Ecology of Mind" and "Mind and Nature: A Necessary Unity", were useful to me.
https://en.wikipedia.org/wiki/Gregory_Bateson
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#19"Paradigm" is something science historians talk about.
We can talk about objects, functions, data structures, abstractions, interfaces, complex compositions, etc. without mentioning paradigms. We can plan software that follows rules without involving a paradigm. We can teach a course just on functional programming and still not talk about it as a paradigm.
With all the words we have to describe the parts of programming, "paradigm" seems as generic and vague as "concept" or "thing". But "paradigm" does have a specific meaning, and it's not relevant in practice.
Re: Programming Paradigms, Turing Completeness and Computational Thinking (2020)
#20Can someone elaborate? How do we have unbounded computations and unbounded values?