lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

This month's "gamedeveloper" magazine has an article "Invisible Monsters: Tales from the Uncanny Valley".

"The Uncanny Valley occurs when a non-homan's likeness to a human nears reality, but lacks perfection."

I think the Uncanny Valley applies to programming language design as well as computer graphics. Especially to cargo-cult programming languages like JavaScript and PHP, that try to mimick the surface appearance of other languages, without understanding the reasons behind their design.

The closer one language is to another, the more uncanny the subtle differences are. Like C is to C++, C++ is to Java, Java is to JavaScript, JavaScript is to ActionScript, and one version of ActionScript is to the next.

I like to be able to easily tell what language I'm programming in, and it's a good thing that Lisp is way different than C++, and Lua is way different than JavaScript.

"The Uncanny Valley is a hypothesis about robotics concerning the emotional response of humans to robots and other non-human entities. It was introduced by Japanese roboticist Masahiro Mori in 1970. It states that as a robot is made more humanlike in its appearance and motion, the emotional response from a human being to the robot will become increasingly positive and empathic, until a point is reached beyond which the response quickly becomes strongly repulsive. However, as the appearance and motion continue to become less distinguishable from a human being's, the emotional response becomes positive once more and approaches human-human empathy levels."

An article on drunkenblog [5] uses the Uncanny Valley analogy to describe the frustration many computer programmers experience when using the AppleScript programming language.