| Made me think of this comic by commitstrip [1] - Some day, we won't even need coders any more. We'll be able to just write the specification and the program will write itself. - Oh wow, you're right! We'll be able to write a comprehensive and precise spec and bam, we won't need programmers any more. - Exactly - And do you know the industry term for a project specification that is comprehensive and precise enough to generate a program? - Uh... no... - Code, it's called code. In the end, we'll just move the abstraction layer to another level, that's it. [1] http://www.commitstrip.com/en/2016/08/25/a-very-comprehensiv... |
The real problem is that humans imagine things and communicate them at very high abstraction levels, without filling in the levels below. Much like a children's drawing of a car is nowhere near detailed enough to serve as a blueprint for building one, our usual descriptions of stuff don't contain necessary details at all. If you want to build a real thing, all the work to fill in the lower levels of detail needs to be done. You can't magick it away. Today, that work is done 10% by the people writing specifications and 90% by programmers figuring things out. In the future it might be done by a computer - but that computer would necessarily need to be a human-level artificial intelligence, doing all the work programmers do to go from the way we communicate to a working program.