English binary logic operators

Bruno Medeiros brunodomedeiros+spam at com.gmail
Tue Nov 14 08:02:51 PST 2006


Sean Kelly wrote:
> Bill Baxter wrote:
>> Bill Baxter wrote:
>>> David Qualls wrote:
>>
>>> After 20 years of C/C++ my use of && and || was pretty instinctual, 
>>> but after just a few months of working with Python on the side I 
>>> found I started typing 'and' and 'or' without thinking about it.  
>>
>> I think my meaning wasn't so clear so let me rephrase.
>>
>> It took no time to get used to 'and/or' when learning python.  I don't 
>> recall ever mistakenly using '&&' in my first few python attempts.  
>> But what happened after a few months (and continues to today) is that 
>> I sometimes type 'and/or' in *C++* code (and now *D* too) when I mean 
>> &&/||.
>>
>> I think it's just because in my head I'm *thinking* 'if this and that' 
>> as I type.  My brain recognizes 'and' as a legal keyword from 
>> somewhere and so my fingers type it.
>>
>> Unfortunately, if && and || are to be eliminated wholesale, the 
>> benefit will be seen as too small to be worth the pain of fixing all 
>> old code. Furthermore Walter believes that C/C++ syntax must be good 
>> enough or it wouldn't have survived so long (or something like that).  
>> And he believes that D should look and behave like C/C++ as much as 
>> possible to ease the transition for C/C++ refugees (hence the decision 
>> to not fix how switch works).  He also believes that symbols 
>> (!@#$%^&*) should be used wherever possible instead of new keywords 
>> (hence we have ':' showing up everywhere for all kinds of different 
>> purposes, and "static" with even more meanings than in C++).
>>
>> It could be possible to add 'and' and 'or' as _synonyms_, but that 
>> smacks as too many ways to do the same thing, and adds two keywords 
>> for something for which there is already another way to do it.  It 
>> doesn't let you do or express anything you couldn't before.
> 
> For what it's worth, 'and' and 'or' as synonyms for '&&' and '||' 
> already exists in C/C++.  Trigraphs are a largely unknown feature that 
> many appear to dislike, but I have read a reasonable argument that they 
> are useful for teaching new programmers.  

What do C trigraphs have to do with 'and' and 'or' as synonyms for '&&' 
and '||'?


-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D



More information about the Digitalmars-d-learn mailing list