English binary logic operators
Don Clugston
dac at nospam.com.au
Fri Nov 24 07:00:10 PST 2006
antonio wrote:
> Ary Manzana wrote:
>> Bill Baxter escribió:
>>> David Qualls wrote:
>>>> I just compiled my first D function (adapted from C), and had to
>>>> replace all my 'and' 'or' and 'not's with the arcane &&, ||, and !
>>>> from prehistoric C to get it to compile.
>>>>
>>>> iso646.h has been a part of C for several years. Perl, C++ and
>>>> possibly other languages have all adopted 'and', 'or', and 'not'
>>>> as part of their grammar.
>>>>
>>>> I write software that will be maintained by non-programmers
>>>> (mathematicians, who would prefer that I use Fortran). Lots of
>>>> funny symbols in source code (like && || !) make it difficult to
>>>> read for the non-immersed (ah, who am I kidding, I even have
>>>> trouble reading it now and then).
>>>>
>>>> Is there any future to D incluing the logical operators in
>>>> English, as opposed to &!|%'ish? (I didn't mention it, but 'mod'
>>>> might also be a good (easy for non-programmers to understand)
>>>> substitute for '%'.)
>>>>
>>>> David
>>>
>>> +1
>>>
>>> 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. It
>>> makes complicated expressions more readable and would fit in great
>>> with D's more "modern" look.
>>>
>>> As noted before, I'm also in favor of allowing 'in' to replace ';' in
>>> foreach statements.
>>>
>>> --bb
>>
>> I guess the main reason to stick with symbols is some compatibility
>> with C/C++ source code.
>>
>> Anyway, I also like the idea of words instead of symbols. You benefit
>> from readability and it's also much more simpler to type (i.e. you
>> don't you shift or look in a new keyboar for them).
> Well..
>
> I'm an spanish programmer:
>
> My code is written using Spanish terms like "valor" vs "value",
> "irSiguiente()" vs "goNext()"...
>
> the best of algebra symbology is the language independence:
>
> [x..y] vs "Between x and y"
> x < y vs "x less than y"
> a.b vs "the b of a" (Director Lingo used this sintax)
> (a)b vs "cast b to a"
> a = b vs "set value of a to value of b"
> a == b vs "a equals to b"
> { stamens } vs "begin stamens end"
>
>
> I'm forced to use the basic english programming syntax: if/else, while,
> for, foreach, public, private, protected,.... PLEASE: STOP IMPOSING
> ENGLISH TO THE WORLD... you are not the only one programming here.
I've got a lot of sympathy to this. I'm really surprised that I don't
hear this view more often.
I'm currently maintaining some code that was written in Italian,
modified in German, and now there's some English. It's a pig's
breakfast. But still...
My feeling is... do not program in a language which you are not fluent
in. I prefer to try to read Italian written by a native speaker, than a
garbled attempt at English -- it's horrible to read code that was
written by someone who was putting more energy into translation, than
into thinking about their programming problem.
In the open-source Fast Fourier Transform project (www.fftw.org),
there's a file with code written in Latin.
:->
More information about the Digitalmars-d-learn
mailing list