5 ms·
It helps to keep in mind that a lot of programmers at the time just didn't have deep callstacks - they had a language that did "subroutines" but not "functions"
by annywhey 8y ago
It helps to keep in mind that a lot of programmers at the time just didn't have deep callstacks - they had a language that did "subroutines" but not "functions", and formal notions of separating concerns were often unavailable in production environments. Scoping rules didn't matter a great deal because you were always pressed up against global scope, and coding conventions assumed that context(e.g. reusing temporary variables).
All of this was the kindling that made OOP light on fire in the 90's, as computing power raced ahead and the old practices could be questioned throughout mainstream computing. But truth be told, you can go really far with imperative/global scope and discipline. It just means that you're treating the computer as a rat's nest of wiring.