On 28 May 2013 11:42, Jonathan M Davis <jmdavisProg@gmx.com> wrote:
On Tuesday, May 28, 2013 11:38:08 Peter Williams wrote:
> On 28/05/13 09:44, H. S. Teoh wrote:
> > Since language keywords are already in English, we might as well
> > standardize on English identifiers too.
>
> So you're going to spell check them all to make sure that they're
> English?  Or did you mean ASCII?

I think that it was more an issue of that the only reason that Unicode would
be necessary in identifiers would be if you weren't using English, so if you
assume that everyone is going to be using some form of English for their
identifier names, you can skip having Unicode in identifiers. So, a natural
effect of standardizing on English is that you can stick with ASCII.

I'm fairly sure that any programmer who takes themself seriously will use English, I don't see any reason why this rule should nee to be be implemented by the compiler.
The loss I can imagine is that kids, or people from developing countries, etc, may have an additional barrier to learning to code if they don't speak English.
Nobody in this set is likely to produce a useful library that will be used widely.
Likewise, no sane programmer is going to choose to use a library that's not written in English.

You may argue that the keywords and libs are in English. I can attest from personal experience, that a child, or a non-english-speaking beginner probably has absolutely NO IDEA what the keywords mean anyway, even if they do speak English.
I certainly had no idea when I was a kid, I just typed them because I figured out what they did. I didn't even know how to say many of them, and realised 5 years later than I was saying all the words wrong...

So my point is, why make this restriction as a static compiler rule, when it's not practically going to be broken anyway. You never know, it may actually assist some people somewhere.
I think it's a great thing that D can accept identifiers in non-english.