The Uncanny Valley
Jesse Phillips
Posted on September 29, 2019
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.
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.)
Let's consider Javascript and some of its evaluation.
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
It is not like Javascript is clear on by its choice but does follow some really really normal emphasis convention. But I don't even know where to go with English. Sure maybe Javascript should have use 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.
Posted on September 29, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 29, 2024
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.
Why do people defend the regex syntax?
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…