Note: Answer in the linked post is by Alan Kay, so very much worth pondering.
Grist for the mill:
"It’s worth noting the deep irony that the new computer tools for the engineering disciplines are almost always more comprehensive than the ones found in use by computer people for writing the programs! (There are a lot of “black screen simulated card-deck-glass-teletype” screens in use, in gross contrast with e.g. how something in EE or ME is designed and made today.)"
EDIT: Added parenthetical quote from Kay's post to explain what he considers ironic.
Earlier he had noted that engineering is informed by science, so not sure why he thinks it ironic. The science behind engineering disciplines is orders of magnitude more developed than the science informing writing software.
I added his parenthetical comment. I think he means, for example, that we could probably do better than vi, emacs, VS Code, or even IntelliJ for supporting our thinking as we write software.
Sure, but how? If there is an effective path to higher dimensional thinking and expression of code (beyond text, even structured text) to date it has eluded us. We need breakthroughs in the science of software.
If you were to build a complex distributed system, there are no tools to help model it short of building it. This is vastly different than, for example, building a bridge, where we can use math and science encoded into computational processes to be able to model a bridge and then simulate it's behavior under varying conditions. Same with most other fields of science and engineering that are starting to leverage computing.
Yup. It's just applied X. Mathematicians create the theories, engineers use the theories to create the tools, developers use the tools to create the products (roughly).
If you read through some of Alan Kay's other Quora posts there is some more context behind this. It goes a bit deeper than just the tools we build. We don't think like programmers about the act of programming.
Fred Brooks' essay "No Silver Bullet" has a list of past breakthroughs. These are examples of applying programming to programming to ease cognitive load 10x. The essay predicts that we won't see any more of those types of improvements. But we haven't even scratched the surface when it comes to the CAD and SIM tooling for programming. There are many silver bullets left to build.
In a followup comment (starting with "That is an excellent question, and I’m pondering … The examples I gave were examples of the kind of math/engineering I was thinking of.") Alan describes a bit more what he means:
Grist for the mill:
"It’s worth noting the deep irony that the new computer tools for the engineering disciplines are almost always more comprehensive than the ones found in use by computer people for writing the programs! (There are a lot of “black screen simulated card-deck-glass-teletype” screens in use, in gross contrast with e.g. how something in EE or ME is designed and made today.)"
EDIT: Added parenthetical quote from Kay's post to explain what he considers ironic.