May 28, 2013
On Tuesday, 28 May 2013 at 00:11:18 UTC, Walter Bright wrote:
>
> Every time I've been to a programming shop in a foreign country, the developers speak english at work and code in english. Of course, that doesn't mean that everyone does, but as far as I can tell the overwhelming bulk is done in english.

Would you have been to such an event if you could not have understood what people were doing or saying? Of course, when we are working on something with international scope, we tend to do it in english, but it doesn't mean every programming task is performed in english…

Being a non-native english speaker, I tend to see Unicode identifiers as an improvement over other programming languages. It's like operator overloading, it is good when used moderately, depending on the context of the programming task and its intended audience. BTW, I use a Unicode-aware alternative keyboard layout, so I can type greek letters or math symbols directly. ASCII-only identifiers sounds like an arbitrary limitation for me.
May 28, 2013
On 2013-05-28 03:38, Peter Williams wrote:

> So you're going to spell check them all to make sure that they're
> English?  Or did you mean ASCII?

Don't you have a spell checker in your editor? If not, find a new one :)

-- 
/Jacob Carlborg
May 28, 2013
On 2013-05-28 08:00, Manu wrote:

> Is there anywhere other than America that doesn't?

Canada, Jamaica, other countries in that region?

-- 
/Jacob Carlborg
May 28, 2013
On Tuesday, 28 May 2013 at 01:34:47 UTC, Walter Bright wrote:

>> Why? You said previously that you'd love to support extended operators ;)
>
> Extended operators, yes. Non-ascii identifiers, no.

BTW, this is one of big D advantage, take into account
some day D could be used for teaching in schools where pupils
still doesn't know English somewhere outside US/GB.
It is much easy to start with localized Ids.

Please keep unicode in language.

May 28, 2013
On Monday, 27 May 2013 at 23:46:17 UTC, H. S. Teoh wrote:
> On Tue, May 28, 2013 at 01:28:22AM +0200, Hans W. Uhlig wrote:
>> On Monday, 27 May 2013 at 23:05:46 UTC, Walter Bright wrote:
>> >On 5/27/2013 3:18 PM, H. S. Teoh wrote:
>> >>Well, D *does* support non-English identifiers, y'know... for
>> >>example:
>> >>
>> >>	void main(string[] args) {
>> >>		int число = 1;
>> >>		foreach (и; 0..100)
>> >>			число += и;
>> >>		writeln(число);
>> >>	}
>> >>
>> >>Of course, whether that's a good practice is a different story.
>> >>:)
>> >
>> >I've recently come to the opinion that that's a bad idea, and D
>> >should not support it.
>
> Currently, the above code snippet compiles (upon inserting "import
> std.stdio;", that is). Should that be made illegal?
>
>
>> Why do you think its a bad idea? It makes it such that code can be
>> in various languages? Just lack of keyboard support?
>
> I can't speak for Walter, but one issue that comes to mind is when
> someone reads the code and doesn't understand the language the
> identifiers are in, or worse, can't reliably recognize the distinctions
> between the glyphs, and so can't match identifier names correctly -- if
> you don't know Japanese, for example, seeing a bunch of Japanese
> identifiers of equal length will look more-or-less the same (all
> gibberish to you), so it only obscures the code. Or if your computer
> doesn't have the requisite fonts to display the alphabet in question,
> then you'll just see a bunch of ?'s or black blotches for all program
> identifiers, making the code completely unreadable.
>
> Since language keywords are already in English, we might as well
> standardize on English identifiers too. (After all, Phobos identifiers
> are English as well.) While it's cool to have multilingual identifiers,
> I'm not sure if it actually adds any practical value. :) If anything, it
> arguably detracts from usability. Multilingual program output, of
> course, is a different kettle o' fish.
>
>
> T

I can tell you for a fact there are a tons of *private* companies that create closed source programs, whose source code is *not* English. And from *their* business perspective, it makes sense. They don't care if you can't understand their source code, since *you* will never see their source code. I'm quite confident there are tons of programs that you use that *aren't* written in English.

My wifes writes the embedded soft for hardware her company sells. I can tell you the source code sure as hell isn't in English. Why would it? The entire company speaks the local language natively. I've worked in Japan, and I can tell you the norm over there is *not* to code in English.

And why should it? Why would you code in a language that is not your own, if you don't plan to ever share your code to outside your team? Why would you care about users that don't have unicode support, if the workstations of all your employees is unicode compatible?

Allowing unicode identifiers makes their work a better experience. Why should we take that away from them?

There are advantages and disadvantages to non-ASCII identifiers, but whether or not you should be able to use them should belong in a coding standard, not in a compiler limitation.
May 28, 2013
On Tuesday, 28 May 2013 at 00:11:18 UTC, Walter Bright wrote:
> Every time I've been to a programming shop in a foreign country, the developers speak english at work and code in english. Of course, that doesn't mean that everyone does, but as far as I can tell the overwhelming bulk is done in english.

That's because you have an academic view of code, and a library approach to development.

When you are a private company selling closed source code, I really don't see why you'd code in English.

IMO, whether it is a bad idea is not for us to judge (and less so to stop), but for each company/organization to choose their own coding standard.
May 28, 2013
On Monday, 27 May 2013 at 22:20:16 UTC, H. S. Teoh wrote:
> On Tue, May 28, 2013 at 12:04:52AM +0200, Vladimir Panteleev wrote:
>> On Monday, 27 May 2013 at 21:24:15 UTC, H. S. Teoh wrote:
>> >Besides, it's impractical to use compose key sequences to write
>> >large amounts of text in some given language; a method of
>> >temporarily switching to a different layout is necessary.
>> 
>> I thought the topic was typing the occasional Unicode character to
>> use as an operator in D programs?
>
> Well, D *does* support non-English identifiers, y'know... for example:
>
> 	void main(string[] args) {
> 		int число = 1;
> 		foreach (и; 0..100)
> 			число += и;
> 		writeln(число);
> 	}
>
> Of course, whether that's a good practice is a different story. :)
>
> But for operators, you still need enough compose key sequences to cover
> all of the Unicode operators -- and there are a LOT of them -- which I
> don't think is currently done anywhere. You'd have to make your own
> compose key maps to do it.
>
>
> T

http://code.google.com/p/trileri/source/browse/trunk/tr/yazi.d
May 28, 2013
On 28 May 2013 19:12, Jacob Carlborg <doob@me.com> wrote:

> On 2013-05-28 08:00, Manu wrote:
>
>  Is there anywhere other than America that doesn't?
>>
>
> Canada, Jamaica, other countries in that region?


Yes, the region called America ;)
Although there's a few British colonies in the Caribbean...


May 28, 2013
On 2013-05-28 14:09, Manu wrote:

> Yes, the region called America ;)
> Although there's a few British colonies in the Caribbean...

Oh, you meant the whole region and not the country.

-- 
/Jacob Carlborg
May 28, 2013
On Tue, 28 May 2013 14:11:29 +0200, Jacob Carlborg <doob@me.com> wrote:

> On 2013-05-28 14:09, Manu wrote:
>
>> Yes, the region called America ;)
>> Although there's a few British colonies in the Caribbean...
>
> Oh, you meant the whole region and not the country.

America is not a country. The country is called USA.

-- 
Simen