Great response, thank you!
> I'm been a compiled-language programmer for 35 or so years.
40 or so for me. :-)
> I perceive [procedure calls] as a fundamental mechanism for organizing code.
Yes, I've been arguing this for some time: that the call/return architectural style has been so incredible dominant for so long that it is not really seen as a specific architectural style, but instead as simply all there is. It is the mechanism for organising code.
A paradigm in the true sense.
I call this The Gentle Tyranny of Call/Return[1]. "Gentle" because as architectural style go, it's probably one of the better ones to have, particularly if you only get one.
Anyway, if you study software architecture, you will find that procedure calls[2] are just one of many ways to organise software. However, they are given special status, because they have special language support. So if you use procedure calls to organise your code, to glue your components together, you get to write code naturally. If not, it starts to look messy. And it turns out that procedure calls not always ideal, because...
> Glue is a way to move data (and perhaps other stuff too) across code boundaries that are imposed
And a lot of what we do today is moving data around. Computers don't really compute all that much[3].
>But your TFA seems to be talking about a much higher level of glue than this, I think.. protobufs, RPC, serialized JSON, even ye olde CORBA/OLE models
Yes, these are also glue. But so are procedure calls.
> In that sense, procedure calls are low level mechanism that will support a higher level solution.
One might even say they are the "Assembly Language" for connecting: [2]
[1] https://2020.programming-conference.org/details/salon-2020-p...
[2] https://resources.sei.cmu.edu/library/asset-view.cfm?assetid...
[3] https://www.youtube.com/watch?t=278&v=EKWGGDXe5MA&feature=yo...