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

Re: hi this is bill



This is all getting a bit off-topic...but I can't resist it...

Keith Lucas wrote:

> Thanks. Now I've got this horrid mental picture of 10000 line long routines with
> single letter variable names. All written with as much on one line as possible
> because that's faster...

Oh - you mean stuff like this:

  http://web2.airmail.net/sjbaker1/software/horrors.html

...when I was actively collecting stuff for this page, someone
emailed me a 5 MEGABYTE source file that someone on his computing
course had written to sort (IIRC) 40 numbers into ascending order.

The code started off:

void sort ( int a, int b, int c, ...int aa, int bb, ...,
            int *A, int *B, int *C, ....int *AA, int *BB, ...)
{
  if ( a < b && b < c && c < d && ...
       z < aa && aa < bb && ... )
  {
    *A = a ; *B = b ; *C = c ; ....
  }

  if ( a > b && b < c && c < d && ...
  {
    *B = a ; *A = b ; *C = c ; ....
  }

...but the guy obviously realised after typing a few *hundred*
of these that this wasn't going to work and after evidently
attending the 'Programming-101' lesson on the 'else' clause,
started to do a kind of binary chop:

  if ( a < b )
    if ( b < c )
      if ( c < d )
        if ( d < e )
      ...
  else

...then towards the end after about 4.999Mb of typing, he learned
about arrays and wrote:

  array[0]=a; array[1]=b; ....

...and finished it off with some kind of a nasty bubble sort and...

  *A=array[0]; *B=array[1]; ...

...leaving all of the earlier special-case code intact.

 Well it was a wonder to behold and although gcc wouldn't
compile it, I'm told that it actually worked on the machine
that it was written on.

I don't believe it will be possible for there EVER to be worse
code than that.

--
Steve Baker                (817)619-2657 (Vox/Vox-Mail)
Raytheon Systems Inc.      (817)619-2466 (Fax)
Work: sjbaker@hti.com      http://www.hti.com
Home: sjbaker1@airmail.net http://web2.airmail.net/sjbaker1