> Biological evolution shows us how far you can get with "good enough".
That are valid points when speaking about human-human interactions where we can allow ourselves for much more freedom in forming thoughts. But still, written text never will be as expressive as face to face communication when you can hear, see and feel emotions. So even for humans, a raw text is not enough. But it's good enough for biological brains.
When speaking about human-computer interactions, you are just being ignorant. Programming is engineering, and engineering is not biology. Biology allows itself for freedom and randomness, in engineering we rather avoid that kind of stuff unless it's a part of the job. Would you use a "good enough" banking system? Would you use a car with "good enough" safety features? Would you happily cross a bridge which is just "good enough"?
We invented computers to replace humans in critical jobs requiring fast and precise actions. Natural language is not sufficient to give precise instructions concisely because it was never meant to. Sure you can hammer nails with pliers, but... we have hammers.
> In such a world, I would prefer to be an expert in writing specs rather than to be an expert in implementing them in a particular programming language.
Words of a man who didn't choose his career path properly.
> Natural language is not sufficient to give precise instructions
On consideration, this is the core of our disagreement and it is probably one that we will not see past.
I have to assume that you see human/computer interactions as master-slave relations. You are the master providing instructions and the computer is a slave that MUST do precisely what you instruct it to do. I would wager that you feel frustrated when you deal with other people who choose to do things in a way that is different than how you want them to be done.
One thing I was taught when I became a manager was that I should focus on outcomes. I should explain to people what the result I wanted was, rather than to be really picky about the implementation. I found that sometimes people could realize my desired outcomes in a way that was better than I would have done it. It was enlightening.
There is an idiom in English, about winning the battle but losing the war. It is when a person becomes so obsessed with controlling tiny details that they lose sight of the overall goal.
I doubt we will see eye-to-eye on this, but I am arguing that we will have better outcomes if we obsess less about the details of how computers implement our goals and we spend more time focusing on the goals we want to achieve.
> Biological evolution shows us how far you can get with "good enough".
That are valid points when speaking about human-human interactions where we can allow ourselves for much more freedom in forming thoughts. But still, written text never will be as expressive as face to face communication when you can hear, see and feel emotions. So even for humans, a raw text is not enough. But it's good enough for biological brains.
When speaking about human-computer interactions, you are just being ignorant. Programming is engineering, and engineering is not biology. Biology allows itself for freedom and randomness, in engineering we rather avoid that kind of stuff unless it's a part of the job. Would you use a "good enough" banking system? Would you use a car with "good enough" safety features? Would you happily cross a bridge which is just "good enough"?
We invented computers to replace humans in critical jobs requiring fast and precise actions. Natural language is not sufficient to give precise instructions concisely because it was never meant to. Sure you can hammer nails with pliers, but... we have hammers.
> In such a world, I would prefer to be an expert in writing specs rather than to be an expert in implementing them in a particular programming language.
Words of a man who didn't choose his career path properly.