(That and the 800lb gorilla in the room: programmers are fashion-driven to the point of absurdity.)
Except, thinking about it, I don't think it fits your description because it can't be solved by the methods you describe. We are "complexity junkies". Most of us haven't hit rock bottom, don't see a problem, or are well-paid to feed our habit.
We have tools and concepts that would do the trick, but we ignore them.
Consider Elm lang. Takes all the complexity out of writing web apps, has a history of zero bugs in the code it generates, doesn't get traction because...?
- - - -
Dr. Margaret Hamilton (of Apollo 11 fame, who coined the phrase "software engineering") developed a system of software construction she called "Higher-Order Software" that eliminates the sources of most programming bugs. Sadly, it was critically panned and has languished in obscurity for decades. See "System Design from Provably Correct Constructs" for more info.
- - - -
Graydon Hoare gave a talk on the history of compilers[1] and he doesn't mention Prolog once. Is it possible he doesn't know about the research into logic programming and compilers?
E.g. "Parsing and Compiling Using Prolog" Jacques Cohen and Tim Hickey
ACM Transactions on Programming Languages and Systems 9(2):125-163 · April 1987
DOI: 10.1145/22719.22946 · Source: DBLP https://www.researchgate.net/publication/220404296_Parsing_a...
1. Introduction
2. Parsing
2.1 Bottom-Up
2.2 Top-Down
2.3 Recursive Descent
3. Syntax-Directed Translation
4. M-Grammars and DCGs
5. Grammar Properties
6. Lexical Scanners And Parser Generation
7. Code Generation
7.1 Generating Code from Polish
7.2 Generating Code from Trees
7.3 A Machine-Independent Algorithm for Code Generation
7.4 Code Generation from a Labelled Tree
8. Optimizations
8.1 Compile-Time Evaluation
8.2 Peephole Optimization
9. Using Proposed Extension
10. Final Remarks
That's from 1987.
Long story short, if you want to write a compiler it's easier and faster to learn Prolog and write it in that than to learn to write a compiler in whatever lower-level language you might already know.
> programmers are fashion-driven to the point of absurdity.
On a certain level of abstraction, there is really no right or wrong, just different. And it becomes a matter of taste.
That and the limitations of the human brain. We cannot remember a billion assembly instructions, so we have to abstract, and create layers of abstractions in order to get to human level of tangibility. Only problem is that the more layers we pile on the more complex the stack becomes, and it get even more difficult to comprehend, so we get an exponential explosion of complexity. And the only thing limiting the complexity is hardware performance. So if computers keep getting faster we will be doomed.
(That and the 800lb gorilla in the room: programmers are fashion-driven to the point of absurdity.)
Except, thinking about it, I don't think it fits your description because it can't be solved by the methods you describe. We are "complexity junkies". Most of us haven't hit rock bottom, don't see a problem, or are well-paid to feed our habit.
We have tools and concepts that would do the trick, but we ignore them.
Consider Elm lang. Takes all the complexity out of writing web apps, has a history of zero bugs in the code it generates, doesn't get traction because...?
- - - -
Dr. Margaret Hamilton (of Apollo 11 fame, who coined the phrase "software engineering") developed a system of software construction she called "Higher-Order Software" that eliminates the sources of most programming bugs. Sadly, it was critically panned and has languished in obscurity for decades. See "System Design from Provably Correct Constructs" for more info.
- - - -
Graydon Hoare gave a talk on the history of compilers[1] and he doesn't mention Prolog once. Is it possible he doesn't know about the research into logic programming and compilers?
E.g. "Parsing and Compiling Using Prolog" Jacques Cohen and Tim Hickey ACM Transactions on Programming Languages and Systems 9(2):125-163 · April 1987 DOI: 10.1145/22719.22946 · Source: DBLP https://www.researchgate.net/publication/220404296_Parsing_a...
That's from 1987.Long story short, if you want to write a compiler it's easier and faster to learn Prolog and write it in that than to learn to write a compiler in whatever lower-level language you might already know.
[1] https://thenewstack.io/rust-creator-graydon-hoare-recounts-t...