Forth, complex solutions to complex problems, generative AI
Why I like #Forth, a monologue:
The way I see it, there are three classes of attractive solutions to complex problems. Each of them is more desirable than the previous, but also considerably harder to achieve.
1. A solution of similar complexity as the inherent complexity of the problem. This is very good, and a better solution than seen most of the time.
2. A solution of lower complexity than the inherent complexity of the problem. Rarely seen, but it happens, and is often the result of exploiting limitations of the actual problem space.
3. A solution which transforms the complex problem into a simple problem, and then solves that. A reason for celebration.
Good software handles complexity, great software lowers it. The focus in most software of today is hiding complexity under layers of abstraction, as opposed to considering the entire problem in order to reduce total system complexity. Hiding complexity is how we got where the industry is today.
I especially love this framing of complexity. It’s too easy to see that a problem is complex, and punt on the hard work of trying to distill that down into something simpler. This dovetails with my current skepticism of AI — it seems like generative AI is good at reproducing our ability to create complex solutions to complex problems, but not so good at creating _simplifications_ of complex problems.