I am suspicious as well, or perhaps stronger--I am likely to say "humbug" to such claims. Having made many of them loudly at various points in my career, starting with Structured Programming, OOP. There was also the Rational phase, as in the Rational Unified Method, in which the methodology was though to hold the true silver bullet.
Doing functional programming still leaves you with the essential complexity.
But I wonder if "procedural programming is the foundation upon which all other edifices are constructed" is necessarily true. Could we not build a computer that was truly functional throughout?
But I wonder if "procedural programming is the foundation upon which all other edifices are constructed" is necessarily true. Could we not build a computer that was truly functional throughout?
Not to sound rude here, but I'm going to guess you have never done any low-level programming, with assembly, mnemonic and embedded microprocessors, circuit-design etc etc: Things which require that you fundamentally understand how computers work.
Not to say we shouldn't have ambition, but given today's technology a computer being "functional throughout" would be a VM running on top of 100% procedural logic.
I agree that his point is valid for computers built on the ordinary substrate of classical switches (whether relays, tubes, or transistors). There are two very influential ways of representing computation, the lambda calculus and the Turing machine; when starting from switches, people (roughly) build something that looks like a Turing machine (with procedural programs) and then, if they want lambda calculus (with more functional programs) they use Turing completeness to emulate it.
That said, it's not 100% clear to me that this must be true for all physical models of computation. (And the existence of Shor's algorithm suffices to keep practical people at least a little interested in computational mechanisms which are fundamentally different from classical switches.) Does anyone know if there are any reasonably plausible computational mechanisms for which it'd be natural to start by implementing something that looked more like lambda calculus, so that if you needed a Turing machine you'd emulate it?
Well, I have. I did five years of hard-core assembly language programming on the Sigma 5 for a real-time medical data acquisition and analysis. I am quite familiar with how the hardware is classically built.
But it doesn't mean that it has to be that way. Everybody presumes that addresses are in binary, but this was not the case for many of the Burroughs machines, i think the 3500, just to challenge some assumptions.
So let me ask you a question in return: Are you familiar with the Burroughs B 1700?
And claiming that I have not done low-level programming is not likely to convince me that hardware is fundamentally necessarily procedural logic.
Doing functional programming still leaves you with the essential complexity.
But I wonder if "procedural programming is the foundation upon which all other edifices are constructed" is necessarily true. Could we not build a computer that was truly functional throughout?