Wow, this math vs linguists bikering is totally nonsense.

Programming is math.

You have physical hardware which "is a computing model". Then you have programming language implementations on top of that hardware, which are computing models. The software you write to those implementations are subject to those models. You're a human being writing data to be interpreted by a model that is basically mathematics.

If we go to the abstraction part of the process (the desgining and paradigms), they are all based on formal models that have a ton of mathematics. This is the point where the debate of computer science being a part of (applied) math starts. Beside that, it's all math.

All paradigms discussed are turing-complete. All have efficient compilers. And all programers involved in them deviate from the pure paradigm to achieve better performance. In the process of writing code, inefficieny and bugs are introduced by the human (be it the source or the compiler guy).

So the initial discussion of procedural vs object-oriented vs functional is shifted to the human element: programmers and maintainers. It's about cognition/neuroscience/management/sociology, not about mathematics. The mathematic part of the paradigms have evolved past the point where there is any discussion about the merits. The real discussion is if we, monkeys who think in terms of bananas, deal better with programming language X or Y, which mainly follow paradigm A and/or B.