Adding Unicode operators to D

Spacen Jasset spacenjasset at yahoo.co.uk
Sat Oct 25 11:46:59 PDT 2008


Andrei Alexandrescu wrote:
> Spacen Jasset wrote:
>> Bill Baxter wrote:
>>> On Thu, Oct 23, 2008 at 7:27 AM, Andrei Alexandrescu
>>> <SeeWebsiteForEmail at erdani.org> wrote:
>>>> Please vote up before the haters take it down, and discuss:
>>>>
>>>> http://www.reddit.com/r/programming/comments/78rjk/allowing_unicode_operators_in_d_similarly_to/ 
>>>>
>>>>
>>>
>>> (My comment cross posted here from reddit)
>>>
>>> I think the right way to do it is not to make everything Unicode. All
>>> the pressure on the existing symbols would be dramatically relieved by
>>> the addition of just a handful of new symbols.
>>>
>>> The truth is keyboards aren't very good for inputting Unicode. That
>>> isn't likely to change. Yes they've dealt with the problem in Asian
>>> languages by using IMEs but in my opinion IMEs are horrible to use.
>>>
>>> Some people seem to argue it's a waste to go to Unicode only for a few
>>> symbols. If you're going to go Unicode, you should go whole hog. I'd
>>> argue the exact opposite. If you're going to go Unicode, it should be
>>> done in moderation. Use as little Unicode as necessary and no more.
>>>
>>> As for how to input unicode -- Microsoft Word solved that problem ages
>>> ago, assuming we're talking about small numbers of special characters.
>>> It's called AutoCorrect. You just register your unicode symbol as a
>>> misspelling for "(X)" or something unique like that and then every
>>> time you type "(X)" a funky unicode character instantly replaces those
>>> chars.
>>>
>>> Yeh, not many editors support such a feature. But it's very easy to
>>> implement. And with that one generic mechanism, your editor is ready
>>> to support input of Unicode chars in any language just by adding the
>>> right definitions.
>>>
>>> --bb
>> I am not entirely sure that 30 or (x amount) of new operators would be 
>> a good thing anyway. How hard is it to say m3 = m1.crossProduct(m2) ? 
>> vs m3 = m1 X m2 ? and how often will that happen? It's also going to 
>> make the language more difficult to learn and understand.
> 
> I have noticed that in pretty much all scientific code, the f(a, b) and 
> a.f(b) notations fall off a readability cliff when the number of 
> operators grows only to a handful. Lured by simple examples like yours, 
> people don't see that as a problem until they actually have to read or 
> write such code. Adding temporaries and such is not that great because 
> it further takes the algorithm away from its mathematical form just for 
> serving a notation that was the problem in the first place.
> 
Yes, that is indeed a fair point and I agree. D is a "systems 
programming language." [sic] though; and so what will people use it for 
in the main? I suggest that communities that require scientific code 
have options now, and that they can and do choose languages for the 
purpose which have better support for thier needs than D might achieve.


>> If set memebrship test operator and a few others are introduced, then 
>> really to be "complete" all the set operators must be added, and 
>> implemented.
>>
>> Futhermore, the introduction of set operators should really mean that 
>> you can use them on something by default, that means implementing sets 
>> that presumably are usable, quick, and are worth using, otherwise 
>> peope will roll thier own (all the time) in many different ways.
>>
>> Unicode symbol 'x' may look better, but is it really more readable? I 
>> think it is -- a bit, and it may be cool, but I don't think it's one 
>> of the things that is going to make developing software siginficantly 
>> easier.
> 
> I think "cool" has not a lot to do with it. For scientific code, it's 
> closer to a necessity.
On my use of "cool" I only brought it up as this thread has a few 
mentions of the word and it's a bit nebulous. I, personally, am more 
concerened with practicality than "cool".

> 
> 
> Andrei

What I think of unicode symbols therefore depends on whether D should be 
more scientific oriented or not. If it should be, then unicode symbols 
would undoubtedly be a benefit. My responses were guided by the 
assumption that D was more generic in nature, though.


More information about the Digitalmars-d-announce mailing list