That proprietary 4GL is still running today, still being modified and enhanced, still compiled on multiple platforms, and still distributed via binary to multitudes of companies. So, yes.
I think really what we're seeing is a failure in the CS-education system;
That's the truth of it right there. And I agree that OO isn't always the best fit. Therein lies the crux of the issue. They're not taught to solve the actual problem with the best tools. They're taught to write software to work around their own lack of knowledge. They don't know how to analyze a specific problem or requirement and then develop an efficient and effective solution. They write inefficient code because "hardware is cheap." They don't know enough to respect memory and bandwidth as the precious resources they still are.
This is true; but it does open the door to those who do.
They're taught to write software to work around their own lack of knowledge. They don't know how to analyze a specific problem or requirement and then develop an efficient and effective solution.
Tell me about it; I recently ran into a situation where randomization for "selecting candidates from a pool" was done via a loop of get random, continue looping if already-selected... fortunately I was allowed to replace this with Fisher-Yates shuffling. (This was in actual production code.)
That's the truth of it right there. And I agree that OO isn't always the best fit. Therein lies the crux of the issue. They're not taught to solve the actual problem with the best tools.
Which is why I'm rather against using C as a systems-level language; I don't think it's the best tool for the job. -- Sadly we're also seeing this sort of "go with the popular" mentality in application (especially Web) development: nothing else explains why anyone would willingly use PHP in any serious endeavor/project.