Ah, if only. Unfortunately human meanings and intentions are just too vague – in fact a significant part of writing software (probably the most significant part, in fact) is figuring out what exactly you “meant” in the first place.
Exactly. While the process (not just programming but any interaction with a computer) can be dramatically improved with more context (e.g. computer knows you are programming and maybe the specific problem domain and can therefore infer correctly much of what we must spell out in detail today), but even then the human must walk through the details and implications to make sure the solution is acceptable.
If the computer could do “what you meant” than it would have as much intelligence and experience as human, which we may get to some day, but it just drives the unsolved problems higher up the ladder of abstraction and complexity.
No, I write code to use as tools for the job at hand. But I was around at the beginning of this movement, when there were a bunch of talks on programming as literature, and calls to read programs like literature. I was a bit turned off after Allen Perliss, at the first Gilles memorial lecture, showed obscure APL one liners as examples. I suppose Finnegans Wake is literature also.
I, for one, shudder at the thought of having communication problems with my compiler. Cue passive-aggressive error messages : “Dave, I know you think this is the way to solve the problem, but I don’t think you realize the implications. Segment fault.” “Oh yes, Dave, keep on pushing your stupid algorithm, that will help. Invalid declaration.”