I had a conversation related to programming language and attempting to match English. Artists have this concept of the "Uncanny Valley" and I think it applies to our choices in language design.
I would claim that the issue is the same as the uncanny valley except for code.
It is what I was actually going for in my response to regex.
There is a similar question going around, but it just got the same old answers that people always give about Regex syntax, but that's not the point here, so please try to not knee jerk the same old answers about regex syntax. Try to be a little more original and…
Well the uncanny valley is the idea that the closer you are to realism, or in this case English, the harder it is for people to believe it when things are still inaccurate. (You mentioned a compiler, maybe some synthetic examples could help in this discussion.)
if(4 == "4")
if 4 equals "4" begin
That is nice but why not
when 4 is equal to "4" execute
Clearly we would want a subset of the English language.
if(4 === "4")
if 4 same as "4" do
like in the first one, but hindsight is 20/20.
What about some bash
if 5 -gt 9 then
if 5 greater than 9 start
It could be argued that
gt is close enough, but that isn't English what if it means 'goes into'
if 3 gt 9 run
Sure we don't know of a language with this semantics, but if someone wants that maybe that is what they believe 'gt' to stand for.
And while we're at it, what are these quotes and what is a string.
if the writing "foo" is the same writing as "bar" follow these steps
But I've included 'as' after 'writing' how does the language know which articles to expect when? Maybe we don't need the articles.
if writing "foo" same writing "bar" steps
Well that isn't English. We've hit the uncanny valley. If we don't handle all of English we will come up with our own language which looks like English but does not live by English rules.