[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