emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: constant `e'


From: Daniel Brockman
Subject: Re: constant `e'
Date: Mon, 12 Feb 2007 20:57:09 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/23.0.51 (gnu/linux)

"Stuart D. Herring" <address@hidden> writes:

>> Hm!  That's interesting.
>>
>> The concept of `non-nil' is very basic to me, so I do not
>> have to filter anything out of `(not (null ...))', because
>> it is already phrased the way I think about it.
>
> I have addressed this point more extensively in another mail, but let me
> add in response to this particular sentence that the concept of `non-nil'
> is so very basic to me that I do not need to see `(not (null ...))' to
> know that it is applied by such forms as `cond'.

fine

i really don't need to see most punctuation or
capitalization to understand english sentences

the thing is that i _want_ to see it because i think it
makes the prose look better

it's like

i know there should be a question mark after this sentence,
so why not add one

it won't be distacting because not only am i used to seing
question marks --- i add missing ones mentally when i read

>> I had no idea some people read it like that.
>>
>> Do you feel similarily talked down to when you see C code
>> like the following?
>>
>>    for (node = list->first; node != NULL; node = node->next)
>>      process (node);
>
> I don't feel talked-down-to as much as I feel inconvenienced by (if you'll
> pardon the exaggeration) the ineffective prose of a novice.

I compared `!= NULL' and `(not (null ...))' to punctuation.
I guess, in a way, punctuation makes prose "ineffective".

> The use of NULL when even the compiler merely sees 0 in
> its stead serves no purpose in terms of type-safety,

I never claimed it did.

> and after resolving that mentally I also waste more time
> noting that `!=0' does not affect the conditional value of
> an integer or pointer.

That's ridiculous.  If you have to spend many brain cycles
figuring out what `node != NULL' means, I would hesitate to
say that you are fluent in common idiomatic C.

It's sort of comparable to stopping every time you see the
word `but' and noting that, in fact, it just means `and'.

> Although it would be clumsy here, I would even recommend, since the loop
> is so simple, that a trivial loop over argv be written as
>
> for(ptr=argv;*ptr;process(*ptr++));

Well, I guess we'll just have to agree to disagree,
because I think that's very hard to read.

I would write it as follows:

   for (current = argv; *current != NULL; ++current)
     process (*current);

Maybe we just speak different dialects of C or something.

I speak "verbose" and you speak "cryptic". :-)

-- 
Daniel Brockman <address@hidden>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]