The stack is indeed the main reason why the behavior of a conventional programming language is difficult to predict at runtime. The observation is that there are much better ways to organize the runtime information than a bunch of stacks, that allows better and more precise predictive optimization.
Sometimes I read stuff like this and think I must be stupid. Other times I read it and think the author is full of it. I am struggling to see how a language can help with our enterprise applications because I approach the problem from the view of architecture and treat language as irrelevant. Hopefully, I am stupid and someone can enlighten me.
The main point of the blog is that the current programming languages do not allow much automation by compilers in building enterprise systems, that is why much of today's enterprise architecture has to be created and optimized manually at the application level by developers.
I don't get the link between enterprise software and predictive optimizations. But call stacks don't prevent them (the argument seems so assume you can only really store data on the stack), nor does it prevent automatic optimization (like call site monomorphisation in a dynamic language or memoization - again, that's entirely orthogonal), nor am I sure it always should be automatic instead of in a library; seems like they just chose the words "SDSM", "predictive optimization" and "enterprise" and threw them together. Their "silver bullet" seems to be a rules engine.
Every enterprise timesheet and expense system I've ever used was a slow, barely usable, confusing disaster. But I don't think that was because the VM failed to pre-allocate memory for some operations.
Without the superlatives and strawman attacks and with an actual description of how things should be done instead this would be an interesting read.
9 comments
[ 3.1 ms ] story [ 7.7 ms ] threadReplace capitalism with programming languages.
Condemning the stack is a novel entry point, I’ll admit.
Without the superlatives and strawman attacks and with an actual description of how things should be done instead this would be an interesting read.