Signed word lengths and indexes

BCS none at anon.com
Tue Jun 15 08:28:43 PDT 2010


Hello Steven,

> On Tue, 15 Jun 2010 08:49:56 -0400, Pelle <pelle.mansson at gmail.com>
> wrote:
> 
>> On 06/15/2010 02:10 PM, Steven Schveighoffer wrote:
>> 
>>> On Tue, 15 Jun 2010 07:30:52 -0400, bearophile
>>> <bearophileHUGS at lycos.com> wrote:
>>>> Steven Schveighoffer:
>>>> 
>>>>> i is unsigned, and therefore can never be less than 0. It's
>>>>> actually a clever way to do it that I've never thought of.
>>>>> 
>>>> Clever code is bad. It must be minimized. In some rare situations
>>>> it becomes useful, but its usage must be seen as a failure of the
>>>> programmer, that was unable to write not-clever code that does the
>>>> same things.
>>>> 
>>> Clever code is bad? What are you smoking? In my opinion, clever code
>>> that is clear and concise should always be favored over code that is
>>> unnecessarily verbose.
>>> 
>> Clever code is bad because you have to think a couple of times more
>> every time you see it.
>> 
> This is a temporary problem.  Once you get used to any particular
> coding  trick, you understand it better.
> 

People cutting you off on the road is a temporary problem, once you tell 
everyone off, they will understand better.

Your statement might have merit if the "you" in it were the specific "you" 
rather than the universal "you". 

If that assumption is made more explicit the statement becomes blatantly 
silly: "This is a temporary problem. Once everyone gets used to any particular 
coding  trick, everyone understands it better."


>> Also, it looks wrong.
>> 
> Why?  i is unsigned, therefore >= 0, and must be < length.  That seems
> reasonable and correct to me.
> 

It looks wrong because i only gets smaller. People are hardwired to think 
about continues number system, not modulo number system (explain that 0 - 
1 = -1 to a 6 year old; easy, explain that 0 - 1 = 2^32-1 to them, good luck). 
Yes we can be trained to use such system, but most people still wont think 
that way reflexively. 

-- 
... <IXOYE><





More information about the Digitalmars-d mailing list