Code automation seems like a poor substitute for effective abstractions in a language, but, having seen this game before many times, I think it’s the way we are headed. Writing code will become entirely idiomatic, like the pidgin language we’ve developed for searching google, and the actual source will be unintelligible and useless, probably JavaScript simply because there is the most data available for the AI to train on, relying entirely on the compiler for efficiency. The code sizes will be monstrous, as there will be no more effort put into maintaining modules, because the AI doesn’t need to organize things this way.<p>From an old programmer perspective, it doesn’t make much sense, but a new programmer will not want to learn the old way, which will be effectively obsolete from lack of updates. If there’s any value to be derived from it, perhaps it is demand for hardware that will run enormously-inefficient code. The way that now you see people doing full sorts to get the third-largest value just because it’s easier to write it that way, you will see code that also does analytics and builds a distributed hash table to accomplish the same task, just because more capability means more usage means more suggestions to carry along that code.<p>I think it was a mistake to think of computer programs as a linear text language, but I don’t see this turning back. At some point, the concept of programming a machine will merge entirely with the method of interacting with a machine, which is to say, communicating intent, and then I suppose we can relax into a very comfortable full-service 5-star extinction.