This is a curiosity more than anything: Does there exist a programming language that allows variables, functions, and classes to be named using using Unicode rather than ASCII (except, of course, for special characters such as ‘+’)? Do any popular languages have support for this?
Also, related to this, if any common language supports Unicode, then is there any way to convert an existing API into a language of the user’s own choice? It seems like it would be helpful to give a programmer the ability to learn an API in their own language. I imagine downloading a standard API (for instance boost) and then downloading the standard translation mapping and then being able to program in my native language.
As you can see from other answers, most modern languages allow this, including Perl, Python, Go, Ruby, Java, C♯, variants of lisp, Fortess, ADA, and many more. C and C++ do not, but those aren’t modern.
Regarding C♯, from MSDN:
As for converting an API to a chosen language – this is not feasible. You would require a translator that understands the nuances and meaning of every method, variable and class name and translate those correctly – this is not the same as being able to use the characters of a chosen language in code.