[Top][All Lists]
[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>
- Re: constant `e', (continued)
- Re: constant `e', Daniel Brockman, 2007/02/10
- Re: constant `e', David Kastrup, 2007/02/10
- Re: constant `e', Alan Mackenzie, 2007/02/10
- Re: constant `e', Daniel Brockman, 2007/02/10
- Re: constant `e', Alan Mackenzie, 2007/02/10
- Re: constant `e', Daniel Brockman, 2007/02/10
- Re: constant `e', Stuart D. Herring, 2007/02/12
- Re: constant `e',
Daniel Brockman <=
- Re: constant `e', David Kastrup, 2007/02/10
- Re: constant `e', Daniel Brockman, 2007/02/10
- Re: constant `e', Stuart D. Herring, 2007/02/12
- Re: constant `e', Stefan Monnier, 2007/02/10
- Re: constant `e', Daniel Brockman, 2007/02/10
- Re: constant `e', Stefan Monnier, 2007/02/10
- Re: constant `e', David Kastrup, 2007/02/11
- Re: constant `e', Daniel Brockman, 2007/02/11
- Re: constant `e', Edward O'Connor, 2007/02/10
- Re: constant `e', Stuart D. Herring, 2007/02/12