Why Codeless Software Is Doomed to Fail
The article doesn&#x27;t get to the reason that it&#x27;s doomed to fail. Software developers translate between what humans want and what computers can do. The second part — what computers can do — is a well understood domain that can be modeled beautifully, and tasks involving it can be automated trivially. The first part, what humans want, is a profoundly complex anti-inductive domain that every human in history has spent their whole lives trying to understand, failing to but scratch the surface. Tasks involving concepts in the domain of human desires can, too, be automated, but the technology needed to do so would be AI-complete. In other words, if we had a technology that could automate the work of software developers, the same technology, with relatively minor changes, could be applied to automate any human occupation, including those of the people who want to automate software development.<p>Until then, what we can do is build abstraction on top of abstraction over what computers can do. But that <i>is</i> code. There&#x27;s a lot of room to make application development easier, to make it require less knowledge. In a lot of cases there&#x27;s no good reason it isn&#x27;t easier already. But it can&#x27;t really become <i>easy</i> until the target stops moving; what computers can do changes too fast for people who want to build a good unified set of abstractions over it.