comp.lang.ada
 help / color / mirror / Atom feed
From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe)
Subject: Re: Teaching sorts [was Re: What's the best language to start with?]
Date: 1996/08/27
Date: 1996-08-27T00:00:00+00:00	[thread overview]
Message-ID: <4vtq9g$24j@goanna.cs.rmit.edu.au> (raw)
In-Reply-To: dewar.840493975@schonberg


dewar@cs.nyu.edu (Robert Dewar) writes:
>In fact the critical thing to preserve the number of compares is to run
>the inner loop backwards. That comes naturally in C, but not in Ada,
>where the preferable code is to find the insertion point and then do a
>slice assignment to shuffle the data (the slice assignment is not only
>at a preferable higher level, but with a good optimizing compiler has
>the potential of generating much more efficient code on some architectures
>than the individual moves.

Whether the language is C or Ada has nothing to do with it.
The key step in insertion sort is moving from

	+--------+-+--------+
    A:	|   ab   |x|    w   |
	+--------+-+--------+
	 L        I        U

where	A[L..I-1] is-permutation-of old A[L..I-1]
  and	A[L..I-1] is-sorted
  and	A[I..U] = old A[I..U]

to

	+----+-+----+--------+
    A:	|  a |x| b  |    w   |
	+----+-+----+--------+
	 L    J    I        U

where	all(A[L..J-1] <= x)
  and	all(x < A[j+1..I])

This can be viewed as two sub-tasks:
    - find J
    - rotate A[J..I] one place

I would expect any good programmer to think "hmm, I *have* to touch
the `b' elements in order to move them; do I really have to touch the
`a' elements as well to find J, or can I fuse these two tasks to do
both while touching only the `b' elements?"

As for the slice being faster, here are the figures I get from
Gnat 3.04 using
	gnatmake -O4 -gnatp -gnatr insert.adb
I already had several versions of insertion sort coded, amongst other
things to explore the question of whether slice assignment helped.
Thanks for your bubble sort procedures.  I have retyped them like this
to make the comparison more direct:

    procedure bubbl1(A: in out Sequence) is
	Switched: Boolean;
	T: Element;
    begin
	loop
	    Switched := False;
	    for J in A'First .. A'Last - 1 loop
		if A(J+1) < A(J) then
		    T := A(J);
		    A(J) := A(J+1);
		    A(J+1) := T;
		    Switched := True;
		end if;
	    end loop;
	    exit when not Switched;
	end loop;
    end bubbl1;

    procedure bubbl2(A: in out Sequence) is
	T: Element;
    begin
	<<Restart>>
	    for J in A'First .. A'Last - 1 loop
		if A(J+1) < A(J) then
		    T := A(J);
		    A(J) := A(J+1);
		    A(J+1) := T;
		    for K in J+1 .. A'Last-1 loop
			if A(K+1) < A(K) then
			    T := A(K);
			    A(K) := A(K+1);
			    A(K+1) := T;
			end if;
		    end loop;
		    goto Restart;
		end if;
	    end loop;
    end bubbl2;

Now, here are the times I got on a SPARCstation-10 (sun4m).
All times are in nanoseconds.  The best case times should not be
taken very seriously; all the methods go so fast it is hard to time
them.

Best	Average  	Worst	Method
400*N	 45*N**2    90*N**2   Naive insertion sort
300*N	110*N**2   240*N**2   Slice assignment insertion sort
200*N	180*N**2   200*N**2   bubbl1 (bubble sort with boolean variable)
200*N	170*N**2   200*N**2   bubbl2 (bubble sort with jump)

Result 1:  I was unable to obtain any evidence that bubbl2 is faster
	   than bubbl1.  (Remember that these times are _not_ precise.)
Result 2:  Using GNAT 3.04 with array bounds checking switched off and
	   optimisation high, the slice assignment does not pay off.
Result 3:  Insertion sort is much faster than bubble sort, except for
	   the case of an array that is already in sort order.

>So, you ran the inner loop backwards and indeed got the number of
>compares right, but you still have the overhead of both loops testing
>the termination condition,

and the evidence *does* show this happening in the best case.

>I find Hillam's initial bubble sort algorithm curious. I certainly don't
>call this bubble sort.

I call your code bubble sort too, and was rather surprised by Hillam's
book.  I used his code merely because it happened to be handy.  I guess
this is evidence that Hillam's book should be moved to the "Sturgeon's Law"
pile, which would not surprise me greatly.

>You missed the point. In the bubble sort, the outer loop is executed only
>once for a sorted list. For your insertion sort, the outer loop runs a full
>number of times. Your insertion sort has 2*N loop termination tests, while
>a properly written bubble sort has N loop termination tests.

Of course, the times I reported above apply to sorting an array of Integer.
I would say that bubble sort does N index comparisons and N element
comparisons in the best case, while insertion sort does 2N index comparisons
and N element comparisons, so we're comparing 2N with 3N, rather than 1N with
2N.  In the cases I have cared about in the past, the element comparisons have
been much more costly than index comparisons.

>I do not seem to count five variables here! More like two, one of which
>is a loop control constant.

Expanding Exch() inline, I count three variables for bubble sort:
	- a boolean
	- an index
	- an element
which is pretty close to insertion sort's two indices and one element.

>I do not know any way to write the insertion sort so that it has only N
>loop termination tests, certainly your example has 2*N tests.

Well, there are several pretty obvious things to try.

(1) Do one pass of selection sort, to find the left-most smallest element,
    and rotate the array so that it goes first.  Now we have a sentinel,
    and the index comparison can be dropped from the inner loop.

(2) Insert a "check for sorted prefix".  Something like this:

	void insertion_sort(elt *a, int n) {
	    int i, j;

	    /* find sorted prefix */
	    for (i = 1; i < N && !(a[i] < a[i-1]); i++) {}
	    /* now resume normal insertion sort */
	    for (; i < N; i++) {
		elt const t = a[i];
		for (j = i; j > 0 && t < a[j-1]; j--)
		    a[j] = a[j-1];
		a[j] = t;
	    }
	}

    If the array is already sorted, the first loop will do N index
    comparisons and N-1 element comparisons.

(3) We can actually write insertion sort as
	<<initialise i>>
	loop
	    <<search forward for out of place element>>
	    exit when <<there isn't any>>
	    <<fused find J and rotate>>
	end loop;
    so that the cost is O(N + X.N) where X is the number of out-of-order
    elements encountered.

This actually bears on another thread in this group:  you do NOT need to
think in assembly code terms to think of improvements such as this.

-- 
Australian citizen since 14 August 1996.  *Now* I can vote the xxxs out!
Richard A. O'Keefe; http://www.cs.rmit.edu.au/~ok; RMIT Comp.Sci.




  parent reply	other threads:[~1996-08-27  0:00 UTC|newest]

Thread overview: 688+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <sperlman-0507961717550001@p121.ezo.net>
     [not found] ` <4rs76l$aqd@ccshst05.uoguelph.ca>
1996-07-15  0:00   ` Should I learn C or Pascal? Ralph Silverman
1996-07-15  0:00     ` Steve Sobol
1996-07-16  0:00     ` Lee Crites
1996-07-17  0:00       ` David Verschoore
1996-07-17  0:00         ` Anthony Kanner
1996-07-17  0:00         ` Mark McKinney
1996-07-19  0:00           ` Philip Brashear
1996-07-23  0:00             ` John A Hughes
1996-07-26  0:00               ` Randy Kaelber
1996-07-29  0:00                 ` Ralph Silverman
1996-08-06  0:00                 ` StHeller
1996-07-20  0:00         ` TRAN PHAN ANH
1996-07-20  0:00           ` Andy Askey
1996-07-20  0:00             ` steidl
1996-07-21  0:00               ` Andy Askey
1996-07-20  0:00           ` Robert Dewar
1996-07-22  0:00             ` TRAN PHAN ANH
1996-07-23  0:00             ` Ken Garlington
1996-07-20  0:00           ` Mark Eissler
1996-07-25  0:00             ` Erik Seaberg
1996-07-26  0:00             ` What's the best language to start with? [was: Re: Should I learn C or Pascal?] Tim Behrendsen
1996-07-27  0:00               ` Rick Elbers
1996-07-28  0:00                 ` Mark Eissler
1996-07-28  0:00                 ` J. Christian Blanchette
1996-07-28  0:00                   ` Robert Dewar
1996-07-29  0:00                   ` Tim Behrendsen
1996-07-30  0:00                     ` Arra Avakian
1996-07-31  0:00                       ` Stephen M O'Shaughnessy
1996-07-31  0:00                       ` James Youngman
1996-08-02  0:00                       ` Tim Behrendsen
1996-08-05  0:00                         ` Chris Sonnack
1996-08-06  0:00                           ` Stephen M O'Shaughnessy
1996-08-05  0:00                         ` Fergus Henderson
1996-08-06  0:00                           ` Tim Behrendsen
1996-08-06  0:00                             ` Dan Pop
1996-08-06  0:00                               ` Tim Behrendsen
1996-08-06  0:00                                 ` Peter Seebach
1996-08-07  0:00                                   ` Tim Behrendsen
1996-08-07  0:00                                     ` James A. Squire
1996-08-07  0:00                                     ` Peter Seebach
1996-08-08  0:00                                       ` Tim Behrendsen
1996-08-08  0:00                                         ` Peter Seebach
1996-08-08  0:00                                     ` David Weller
1996-08-09  0:00                                     ` Bob Gilbert
1996-08-10  0:00                                       ` Tim Behrendsen
1996-08-11  0:00                                         ` Craig Franck
1996-08-11  0:00                                           ` Tim Behrendsen
1996-08-11  0:00                                         ` Peter Seebach
1996-08-11  0:00                                           ` Tim Behrendsen
1996-08-12  0:00                                             ` Alf P. Steinbach
1996-08-12  0:00                                               ` Tim Behrendsen
1996-08-13  0:00                                             ` Szu-Wen Huang
1996-08-07  0:00                                 ` Mark Eissler
     [not found]                               ` <01bb83cc$fb <tequila-0708960947140001@tequila.interlog.com>
1996-08-07  0:00                                 ` Peter Seebach
1996-08-06  0:00                             ` Szu-Wen Huang
1996-08-06  0:00                               ` Tim Behrendsen
1996-08-06  0:00                                 ` Peter Seebach
1996-08-07  0:00                                   ` Tim Behrendsen
1996-08-07  0:00                                     ` Peter Seebach
1996-08-08  0:00                                       ` Tim Behrendsen
1996-08-08  0:00                                         ` Peter Seebach
1996-08-08  0:00                                           ` Tim Behrendsen
1996-08-08  0:00                                             ` Peter Seebach
1996-08-14  0:00                                             ` Richard A. O'Keefe
1996-08-16  0:00                                               ` Tim Behrendsen
1996-08-20  0:00                                                 ` Richard A. O'Keefe
1996-08-20  0:00                                                   ` Alan Bowler
1996-08-21  0:00                                                   ` Tim Behrendsen
1996-08-22  0:00                                                     ` Bengt Richter
1996-08-22  0:00                                                       ` Tim Behrendsen
1996-08-31  0:00                                                         ` Bengt Richter
1996-09-01  0:00                                                           ` Maurice M. Carey IV
1996-08-26  0:00                                                     ` Richard A. O'Keefe
1996-08-26  0:00                                                       ` Mark Wooding
1996-08-30  0:00                                                         ` Richard A. O'Keefe
1996-08-30  0:00                                                           ` Peter Seebach
1996-09-03  0:00                                                             ` Lawrence Kirby
1996-09-01  0:00                                                           ` Joe Keane
1996-09-04  0:00                                                             ` Richard A. O'Keefe
1996-09-03  0:00                                                           ` Arkady Belousov
1996-08-30  0:00                                                         ` Kaz Kylheku
1996-08-26  0:00                                                       ` madscientist
1996-08-29  0:00                                                         ` Richard A. O'Keefe
1996-08-26  0:00                                                       ` Tim Behrendsen
1996-08-29  0:00                                                         ` Richard A. O'Keefe
1996-08-29  0:00                                                           ` Craig Franck
     [not found]                                                           ` <01bb95ba$9dfed580$496700cf@ljelmore.montana>
1996-08-30  0:00                                                             ` Steve Heller
1996-08-31  0:00                                                             ` Clayton Weaver
1996-08-30  0:00                                                           ` system
1996-08-31  0:00                                                             ` Kenneth Mays
1996-09-01  0:00                                                           ` Tim Behrendsen
1996-08-31  0:00                                                       ` Tanmoy Bhattacharya
1996-09-04  0:00                                                         ` Tom Payne
1996-09-04  0:00                                                       ` Patrick Horgan
1996-09-05  0:00                                                         ` Richard A. O'Keefe
1996-09-05  0:00                                                           ` deafen
1996-08-09  0:00                                           ` Chris Sonnack
1996-08-08  0:00                                         ` telnet user
1996-08-09  0:00                                           ` Ed Hook
1996-08-09  0:00                                           ` Tim Behrendsen
1996-08-09  0:00                                         ` Mike Rubenstein
1996-08-09  0:00                                           ` Tim Behrendsen
1996-08-10  0:00                                             ` Mike Rubenstein
1996-08-12  0:00                                               ` Tim Behrendsen
1996-08-12  0:00                                                 ` Bob Kitzberger
1996-08-22  0:00                                                   ` Patrick Horgan
1996-08-23  0:00                                                     ` Steve Heller
1996-08-12  0:00                                                 ` Mike Rubenstein
1996-08-12  0:00                                                   ` Mark Wooding
1996-08-13  0:00                                                     ` Mike Rubenstein
1996-08-15  0:00                                                     ` Richard A. O'Keefe
1996-08-12  0:00                                                   ` Tim Behrendsen
1996-08-13  0:00                                                     ` Mike Rubenstein
1996-08-13  0:00                                                       ` Tim Behrendsen
1996-08-13  0:00                                                         ` Giuliano Carlini
1996-08-14  0:00                                                           ` Tim Behrendsen
1996-08-15  0:00                                                         ` Mike Rubenstein
     [not found]                                                     ` <32 <01bb8923$e1d34280$87ee6fce@timpent.airshields.com>
1996-08-14  0:00                                                       ` Peter Seebach
1996-08-14  0:00                                                         ` Tim Behrendsen
1996-08-14  0:00                                                           ` Peter Seebach
1996-08-07  0:00                                     ` Dan Pop
1996-08-08  0:00                                       ` Christopher R Volpe
1996-08-08  0:00                                       ` Tim Behrendsen
1996-08-08  0:00                                         ` Peter Seebach
1996-08-08  0:00                                           ` Randy Kaelber
1996-08-09  0:00                                           ` Chris Sonnack
1996-08-10  0:00                                             ` Tim Behrendsen
1996-08-11  0:00                                               ` Dan Pop
1996-08-12  0:00                                                 ` Tim Behrendsen
1996-08-12  0:00                                                 ` Chris Sonnack
1996-08-15  0:00                                                   ` Bob Hoffmann
1996-08-11  0:00                                               ` Chris Sonnack
1996-08-09  0:00                                           ` J. Blustein
1996-08-11  0:00                                             ` Peter Seebach
1996-08-09  0:00                                         ` Dan Pop
1996-08-11  0:00                                           ` Mark Wooding
1996-08-19  0:00                                             ` James Youngman
1996-08-11  0:00                                           ` Tim Behrendsen
1996-08-11  0:00                                             ` Dan Pop
1996-08-13  0:00                                               ` Tim Behrendsen
1996-08-13  0:00                                                 ` Giuliano Carlini
1996-08-14  0:00                                                 ` Dan Pop
1996-08-14  0:00                                                   ` Tim Behrendsen
1996-08-16  0:00                                                   ` Dik T. Winter
1996-08-12  0:00                                             ` Peter Seebach
1996-08-13  0:00                                               ` Tim Behrendsen
1996-08-18  0:00                                         ` Sam B. Siegel
1996-08-19  0:00                                           ` Dan Pop
1996-08-08  0:00                                     ` Teaching sorts [was Re: What's the best language to start with?] Robert I. Eachus
1996-08-09  0:00                                       ` Robert Dewar
1996-08-10  0:00                                       ` Al Aab
1996-08-10  0:00                                       ` Lawrence Kirby
1996-08-12  0:00                                       ` Steve Heller
1996-08-12  0:00                                         ` Robert Dewar
1996-08-16  0:00                                           ` Steve Heller
1996-08-16  0:00                                             ` Szu-Wen Huang
1996-08-17  0:00                                               ` Robert Dewar
1996-08-17  0:00                                               ` Robert Dewar
1996-08-20  0:00                                                 ` Szu-Wen Huang
1996-08-20  0:00                                                   ` Dann Corbit
1996-08-21  0:00                                                     ` Tim Behrendsen
1996-08-21  0:00                                                       ` Dann Corbit
1996-08-22  0:00                                                       ` Richard A. O'Keefe
1996-08-22  0:00                                                         ` Szu-Wen Huang
1996-08-23  0:00                                                           ` Richard A. O'Keefe
1996-08-25  0:00                                                         ` Robert Dewar
1996-08-21  0:00                                                   ` Dik T. Winter
1996-08-21  0:00                                                     ` Tim Behrendsen
1996-08-21  0:00                                                       ` Matt Austern
1996-08-21  0:00                                                         ` Tim Behrendsen
1996-08-21  0:00                                                       ` Pete Becker
1996-08-22  0:00                                                         ` Szu-Wen Huang
1996-08-22  0:00                                                           ` Pete Becker
1996-08-22  0:00                                                           ` Robert Dewar
1996-08-21  0:00                                                       ` Tanmoy Bhattacharya
1996-08-22  0:00                                                         ` Dann Corbit
1996-08-22  0:00                                                         ` Mike Rubenstein
1996-08-22  0:00                                                       ` Robert Dewar
1996-08-24  0:00                                                         ` Joe Keane
1996-08-22  0:00                                                     ` Tanmoy Bhattacharya
1996-08-21  0:00                                                 ` Tanmoy Bhattacharya
1996-08-21  0:00                                                   ` Tim Behrendsen
1996-08-22  0:00                                                     ` Mike Rubenstein
1996-08-22  0:00                                                     ` Robert Dewar
1996-08-21  0:00                                                   ` Adam Beneschan
1996-08-22  0:00                                                     ` Christian Bau
1996-08-22  0:00                                                       ` (topic change on) Teaching sorts Marcus H. Mendenhall
1996-08-27  0:00                                                         ` Ralph Silverman
1996-08-22  0:00                                                       ` Teaching sorts [was Re: What's the best language to start with?] Larry Kilgallen
1996-08-23  0:00                                                         ` Tim Hollebeek
1996-08-24  0:00                                                           ` Robert Dewar
1996-08-24  0:00                                                         ` Robert Dewar
1996-08-23  0:00                                                       ` Andrew Koenig
1996-08-22  0:00                                                     ` Andrew Koenig
1996-08-24  0:00                                                       ` Robert Dewar
1996-08-18  0:00                                               ` Steve Heller
1996-08-21  0:00                                               ` Matt Austern
1996-08-23  0:00                                               ` Tanmoy Bhattacharya
1996-08-23  0:00                                                 ` Adam Beneschan
1996-08-16  0:00                                             ` Robert Dewar
1996-08-18  0:00                                               ` Steve Heller
1996-08-18  0:00                                                 ` Robert Dewar
1996-08-18  0:00                                                   ` Steve Heller
1996-08-18  0:00                                                     ` Robert Dewar
1996-08-20  0:00                                                       ` Steve Heller
1996-08-16  0:00                                             ` Adam Beneschan
1996-08-18  0:00                                               ` Steve Heller
1996-08-18  0:00                                                 ` Jeff Dege
1996-08-18  0:00                                                   ` Robert Dewar
1996-08-14  0:00                                       ` Stephen Baynes
1996-08-14  0:00                                         ` Robert Dewar
1996-08-16  0:00                                           ` Dik T. Winter
1996-08-16  0:00                                             ` Joe Foster
1996-08-18  0:00                                           ` Glenn Rhoads
1996-08-19  0:00                                           ` Stephen Baynes
1996-08-19  0:00                                             ` Robert Dewar
1996-08-19  0:00                                             ` Robert Dewar
1996-08-19  0:00                                           ` Richard A. O'Keefe
     [not found]                                             ` <dewar.840491732@schonberg>
1996-08-19  0:00                                               ` Robert Dewar
1996-08-22  0:00                                                 ` Stephen Baynes
1996-08-27  0:00                                                 ` Richard A. O'Keefe [this message]
1996-08-14  0:00                                         ` Robert Dewar
1996-08-13  0:00                                     ` Robert I. Eachus
1996-08-14  0:00                                       ` Robert Dewar
1996-08-15  0:00                                       ` Tom Payne
1996-08-13  0:00                                     ` Robert I. Eachus
1996-08-13  0:00                                       ` Lawrence Kirby
1996-08-14  0:00                                       ` Robert Dewar
1996-08-14  0:00                                     ` Robert I. Eachus
1996-08-15  0:00                                       ` Robert Dewar
1996-08-15  0:00                                     ` Blair Phillips
1996-08-27  0:00                                     ` What's the best language to start with? [was: Re: Should I learn C or Pascal?] Tanmoy Bhattacharya
1996-08-29  0:00                                     ` Robert I. Eachus
1996-08-30  0:00                                       ` Steve Heller
1996-08-30  0:00                                     ` Tanmoy Bhattacharya
1996-08-07  0:00                                 ` What's the best language to start with Ian Ward
1996-08-08  0:00                                   ` Tim Behrendsen
1996-08-09  0:00                                     ` Robert Dewar
1996-08-11  0:00                                 ` What's the best language to start with? [was: Re: Should I learn C or Pascal?] Jerone A. Bowers
1996-08-06  0:00                             ` Fergus Henderson
1996-08-07  0:00                               ` Tim Behrendsen
1996-08-08  0:00                                 ` Thomas Hood
1996-08-09  0:00                                   ` Tim Behrendsen
1996-08-17  0:00                                 ` Lawrence Kirby
1996-08-17  0:00                                   ` Tim Behrendsen
1996-08-19  0:00                                     ` Bob Gilbert
1996-08-19  0:00                                       ` Tim Behrendsen
1996-08-19  0:00                                         ` Tim Hollebeek
1996-08-20  0:00                                           ` Tim Behrendsen
1996-08-20  0:00                                         ` Bob Gilbert
1996-08-21  0:00                                           ` Tim Behrendsen
1996-08-22  0:00                                             ` Bob Gilbert
1996-08-22  0:00                                               ` Tim Behrendsen
1996-09-04  0:00                                             ` Lawrence Kirby
1996-09-04  0:00                                               ` Tim Behrendsen
1996-09-06  0:00                                                 ` Bob Gilbert
1996-09-06  0:00                                                   ` Tim Behrendsen
1996-09-09  0:00                                                     ` Bob Gilbert
1996-09-11  0:00                                                       ` Tim Behrendsen
1996-09-10  0:00                                                   ` Richard A. O'Keefe
1996-09-10  0:00                                                     ` Kaz Kylheku
1996-09-11  0:00                                                     ` Bob Gilbert
1996-09-10  0:00                                                   ` Jon S Anthony
1996-09-11  0:00                                                     ` Richard A. O'Keefe
1996-09-11  0:00                                                   ` Jon S Anthony
1996-09-11  0:00                                                   ` Jon S Anthony
1996-09-05  0:00                                               ` Mark Wooding
1996-09-06  0:00                                                 ` Bob Cousins
1996-09-06  0:00                                                   ` Tim Behrendsen
1996-09-07  0:00                                                     ` Craig Franck
1996-09-08  0:00                                                       ` Tim Behrendsen
1996-09-08  0:00                                                         ` Craig Franck
1996-09-09  0:00                                                           ` Tim Behrendsen
1996-09-10  0:00                                                             ` Richard A. O'Keefe
1996-09-10  0:00                                                               ` Tim Behrendsen
1996-09-11  0:00                                                         ` John Burdick
1996-09-13  0:00                                                 ` Bengt Richter
1996-09-14  0:00                                                   ` Craig Franck
1996-09-06  0:00                                         ` Robert I. Eachus
1996-09-06  0:00                                           ` Tim Behrendsen
1996-09-11  0:00                                         ` Jon S Anthony
1996-09-11  0:00                                           ` Craig Franck
1996-09-11  0:00                                             ` Tim Behrendsen
1996-09-17  0:00                                           ` George
1996-09-24  0:00                                             ` Joel VanLaven
1996-09-27  0:00                                               ` Tom Payne
1996-09-28  0:00                                                 ` Tim Behrendsen
1996-09-27  0:00                                               ` Dann Corbit
1996-09-11  0:00                                         ` Richard A. O'Keefe
1996-09-11  0:00                                           ` Tim Behrendsen
1996-09-12  0:00                                             ` Richard A. O'Keefe
1996-09-13  0:00                                               ` Tim Behrendsen
1996-09-13  0:00                                                 ` Richard A. O'Keefe
1996-09-18  0:00                                                   ` Tim Behrendsen
1996-09-19  0:00                                                     ` Richard A. O'Keefe
1996-09-12  0:00                                             ` Peter Seebach
1996-09-18  0:00                                               ` Tim Behrendsen
1996-09-17  0:00                                             ` George
1996-09-19  0:00                                               ` Tim Behrendsen
1996-09-24  0:00                                                 ` Matthew M. Lih
1996-09-25  0:00                                                   ` Bjarne Stroustrup
1996-09-26  0:00                                                     ` Bengt Richter
1996-09-28  0:00                                                     ` Dan Pop
1996-09-25  0:00                                                   ` Richard A. O'Keefe
1996-09-26  0:00                                                     ` Mark Wooding
1996-09-26  0:00                                               ` Jon S Anthony
1996-09-26  0:00                                                 ` Dann Corbit
1996-09-27  0:00                                                 ` Jay Martin
1996-09-27  0:00                                                   ` Kent Budge
1996-09-27  0:00                                                     ` George Haddad
1996-09-27  0:00                                                     ` George Haddad
1996-09-27  0:00                                                     ` George Haddad
1996-09-28  0:00                                                       ` Matthew Heaney
1996-09-27  0:00                                                     ` George Haddad
1996-09-27  0:00                                                       ` George Haddad
1996-09-28  0:00                                                     ` Steve Heller
1996-10-01  0:00                                                       ` DJ Kindberg
1996-09-27  0:00                                                   ` Tim Behrendsen
1996-09-30  0:00                                                     ` Art Schwarz
1996-09-27  0:00                                                 ` Craig Franck
1996-09-27  0:00                                                   ` Bob Cousins
1996-09-28  0:00                                               ` Jon S Anthony
1996-09-11  0:00                                         ` Jon S Anthony
1996-09-18  0:00                                         ` Jon S Anthony
1996-09-26  0:00                                         ` Jon S Anthony
1996-10-01  0:00                                           ` Andrew Gierth
1996-08-22  0:00                                     ` Bengt Richter
1996-08-22  0:00                                       ` Frank Manning
1996-08-31  0:00                                         ` Bengt Richter
1996-08-31  0:00                                           ` Frank Manning
1996-08-31  0:00                                             ` Frank Manning
1996-09-02  0:00                                             ` deafen
1996-09-03  0:00                                               ` Phil Barnett
1996-09-03  0:00                                               ` Bob Kitzberger
1996-09-03  0:00                                               ` Frank Manning
1996-09-03  0:00                                               ` Tim Behrendsen
1996-09-03  0:00                                               ` Steve Howard
1996-08-22  0:00                                       ` Tim Behrendsen
1996-08-23  0:00                                         ` Larry J. Elmore
1996-08-08  0:00                               ` Stephen M O'Shaughnessy
     [not found]                               ` <01bb846d$ <Dvtnon.I49@most.fw.hac.com>
1996-08-09  0:00                                 ` Tim Behrendsen
1996-08-09  0:00                               ` Stephen M O'Shaughnessy
1996-08-09  0:00                                 ` Tim Behrendsen
1996-08-12  0:00                             ` Robert I. Eachus
1996-08-05  0:00                         ` Henrik Wetterstrom
1996-08-13  0:00                       ` Chris Sonnack
1996-08-16  0:00                         ` Steve Heller
1996-08-16  0:00                           ` John Hobson
1996-07-31  0:00                   ` Patrick Horgan
1996-07-31  0:00                   ` AJ Musgrove
1996-08-01  0:00                     ` Sam Harris
1996-08-02  0:00                       ` Eric W. Nikitin
1996-08-01  0:00                     ` Tim Hollebeek
1996-08-01  0:00                     ` Ken Pizzini
1996-08-03  0:00                     ` Raffael Cavallaro
1996-08-05  0:00                       ` Chris Sonnack
1996-08-08  0:00                   ` William Clodius
1996-08-11  0:00                     ` Dik T. Winter
1996-08-11  0:00                     ` Fergus Henderson
1996-08-08  0:00                   ` William Clodius
1996-08-13  0:00                   ` Ole-Hjalmar Kristensen FOU.TD/DELAB
1996-08-14  0:00                   ` Richard A. O'Keefe
1996-08-15  0:00                   ` Teaching sorts [was Re: What's the best language to start with?] Norman H. Cohen
1996-08-16  0:00                     ` Steve Heller
1996-08-19  0:00                   ` Ted Dennison
1996-08-23  0:00                     ` Richard A. O'Keefe
1996-08-23  0:00                       ` Ted Dennison
1996-08-24  0:00                       ` Robert Dewar
1996-08-27  0:00                         ` Richard A. O'Keefe
1996-09-02  0:00                           ` Lawrence Kirby
1996-07-28  0:00               ` What's the best language to start with? [was: Re: Should I learn C or Pascal?] Robert Dewar
1996-07-29  0:00                 ` Tim Behrendsen
1996-07-30  0:00                   ` What's the best language to start with? [was: Re: Should I learn TRAN PHAN ANH
1996-07-30  0:00                   ` What's the best language to start with? [was: Re: Should I learn C or Pascal?] Paul Campbell
1996-07-30  0:00                     ` Robert Dewar
1996-08-02  0:00                       ` Tim Behrendsen
1996-08-03  0:00                         ` Peter Seebach
1996-08-04  0:00                           ` Alf P. Steinbach
1996-08-04  0:00                             ` Peter Seebach
1996-08-04  0:00                               ` Jerry van Dijk
1996-08-05  0:00                               ` Tim Behrendsen
1996-08-04  0:00                                 ` Peter Seebach
1996-08-05  0:00                                   ` Chris Sonnack
1996-08-05  0:00                                     ` Peter Seebach
1996-08-07  0:00                                       ` Tom Watson
1996-08-05  0:00                                     ` Tim Hollebeek
1996-08-10  0:00                                       ` Mike Rubenstein
1996-08-06  0:00                                   ` Tim Behrendsen
1996-08-03  0:00                     ` Patrick Horgan
1996-08-04  0:00                       ` Kurt E. Huhner
1996-07-31  0:00                   ` Arne W. Flones
1996-08-02  0:00                   ` David Wheeler
1996-08-02  0:00                     ` Peter Seebach
1996-08-02  0:00                       ` Gary M. Greenberg
1996-08-03  0:00                       ` Alf P. Steinbach
1996-08-02  0:00                         ` Peter Seebach
1996-08-05  0:00                       ` Chris Sonnack
1996-08-05  0:00                         ` Peter Seebach
1996-08-06  0:00                     ` What's the best language to start with? [was: Re: Should I learn C or Pasca StHeller
1996-08-06  0:00                       ` Robert Dewar
1996-08-06  0:00                 ` What's the best language to start with? [was: Re: Should I learn C or Pascal?] Robert I. Eachus
1996-08-06  0:00                 ` Alf P. Steinbach
1996-08-06  0:00                 ` Conrad Herrmann
1996-07-29  0:00               ` Byron B. Kauffman
1996-07-30  0:00               ` Alan Peake
     [not found]               ` <dewar. <peake.206.002D549F@dstos3.dsto.gov.au>
1996-07-31  0:00                 ` P. Cnudde VH14 (8218)
1996-07-31  0:00                   ` Nicolas Devillard
1996-08-02  0:00                   ` Matt Austern
1996-08-15  0:00                     ` Lawrence Kirby
1996-07-31  0:00                 ` Stephen M O'Shaughnessy
1996-08-02  0:00                   ` Tim Behrendsen
1996-08-05  0:00                     ` Mark McKinney
1996-08-05  0:00                     ` Mark McKinney
1996-08-05  0:00                     ` Mark McKinney
1996-07-31  0:00                 ` Tim Behrendsen
1996-07-22  0:00           ` Should I learn C or Pascal? Stephen M O'Shaughnessy
1996-07-23  0:00             ` TRAN PHAN ANH
1996-07-18  0:00       ` Patrick Horgan
1996-07-18  0:00         ` Jason Alan Turnage
1996-07-19  0:00           ` Robert Dewar
1996-07-20  0:00             ` steved
1996-07-19  0:00               ` Peter Seebach
1996-07-20  0:00                 ` Jon Bell
1996-07-20  0:00                   ` Andy Askey
1996-07-20  0:00                 ` Robert Dewar
1996-07-22  0:00                   ` steidl
1996-07-22  0:00                     ` Stephen M O'Shaughnessy
1996-07-23  0:00                       ` Richard A. O'Keefe
1996-07-23  0:00                         ` Michael Ickes
1996-07-25  0:00                           ` Andy Askey
1996-07-24  0:00                         ` system
1996-07-23  0:00             ` Ralph Silverman
1996-07-19  0:00           ` Vic Metcalfe
1996-07-18  0:00         ` Robert Dewar
1996-07-19  0:00           ` Billy Chambless
1996-07-19  0:00         ` Scott McMahan - Softbase Systems
1996-07-20  0:00           ` steidl
1996-07-20  0:00           ` Tim Behrendsen
1996-07-21  0:00             ` Rich Maggio
1996-07-21  0:00               ` Robert Dewar
1996-07-22  0:00             ` Ralph Silverman
1996-07-23  0:00               ` Tim Behrendsen
1996-07-19  0:00         ` Andrew Gierth
1996-07-19  0:00         ` Reto Koradi
1996-07-23  0:00           ` TRAN PHAN ANH
1996-07-18  0:00       ` Walter B. Hollman Sr.
1996-07-18  0:00       ` Carlos DeAngulo
1996-07-18  0:00         ` Robert Dewar
1996-07-19  0:00           ` Jon Bell
1996-07-22  0:00             ` Tim Oxler
1996-07-22  0:00               ` Janus
1996-07-22  0:00               ` Stig Norland
1996-07-22  0:00               ` Robert Dewar
1996-07-30  0:00                 ` Tim Behrendsen
1996-07-31  0:00                 ` Patrick Horgan
     [not found]           ` <01bb7588$236982e0$7b91f780@deangulo>
1996-07-19  0:00             ` Robert Dewar
1996-07-20  0:00             ` steidl
     [not found]         ` <01bb7591$83087d60$87ee6fce@timpent.airshields.com>
1996-07-19  0:00           ` Craig Franck
1996-07-19  0:00           ` johnf
1996-07-19  0:00             ` Jeremy Nelson
1996-07-19  0:00             ` Jason Alan Turnage
1996-07-19  0:00               ` Robert Dewar
1996-07-20  0:00                 ` Jon Bell
1996-07-20  0:00                   ` Robert Dewar
1996-07-21  0:00                     ` Alexander Vrenios
1996-07-21  0:00                   ` Steve Tate
1996-07-21  0:00                     ` Robert Dewar
1996-07-21  0:00                     ` Phil Howard
1996-07-21  0:00                       ` Robert Dewar
1996-07-22  0:00                         ` Steve Tate
1996-07-22  0:00                   ` Stephen M O'Shaughnessy
1996-07-25  0:00                   ` ++           robin
1996-07-20  0:00                 ` Crash
1996-07-20  0:00                   ` Robert Dewar
1996-07-20  0:00                 ` TRAN PHAN ANH
1996-07-22  0:00                   ` Ralph Silverman
1996-07-23  0:00                 ` Ralph Silverman
1996-07-22  0:00               ` Stephen M O'Shaughnessy
1996-07-22  0:00                 ` Jeremy Nelson
1996-07-22  0:00                   ` Stephen M O'Shaughnessy
1996-07-20  0:00             ` Tim Behrendsen
1996-07-22  0:00             ` Ralph Silverman
1996-07-23  0:00               ` Joe Gwinn
1996-07-24  0:00                 ` John A Hughes
1996-07-24  0:00                 ` Theodore E. Dennison
1996-07-23  0:00             ` John A Hughes
1996-07-19  0:00         ` Dirk Dickmanns
1996-07-23  0:00     ` Richard A. O'Keefe
1996-07-16  0:00 ` Darin Johnson
1996-07-24  0:00   ` Ralph Silverman
1996-07-17  0:00 ` Aron Felix Gurski
1996-07-19  0:00 ` Andrew Gierth
1996-07-19  0:00 ` Andrew Gierth
1996-07-19  0:00 ` Andrew Gierth
1996-07-21  0:00 ` Laurent Guerby
1996-07-22  0:00   ` Stephen M O'Shaughnessy
1996-07-21  0:00 ` Wayne
1996-07-22  0:00 ` Darin Johnson
1996-07-22  0:00 ` Darin Johnson
1996-07-23  0:00 ` Darin Johnson
1996-07-24  0:00   ` Michael Feldman
1996-07-24  0:00   ` Andrew J Steinbach
1996-07-24  0:00     ` Jon Bell
1996-07-24  0:00     ` John A Hughes
1996-07-24  0:00     ` system
1996-07-24  0:00   ` Ralph Silverman
1996-07-24  0:00     ` TRAN PHAN ANH
1996-07-24  0:00 ` Darin Johnson
1996-07-25  0:00   ` Andy Askey
1996-07-26  0:00     ` Mark Eissler
1996-08-02  0:00   ` Patrick Horgan
1996-08-04  0:00     ` Gary M. Greenberg
     [not found]     ` <4u76ej$7s9@newsbf02.news.aol.com>
1996-08-06  0:00       ` Ralph Silverman
1996-08-12  0:00         ` Patrick Horgan
1996-08-13  0:00           ` Ralph Silverman
1996-08-13  0:00           ` Darin Johnson
1996-08-13  0:00             ` What's the best language to learn? [was Re: Should I learn C or Pascal?] Tim Behrendsen
1996-08-14  0:00               ` Gabor Egressy
1996-08-15  0:00                 ` Robert Dewar
1996-08-17  0:00                   ` Lawrence Kirby
1996-08-17  0:00                     ` Robert Dewar
1996-08-20  0:00                       ` Lawrence Kirby
1996-08-16  0:00                 ` Mark Wooding
1996-08-17  0:00                   ` Dan Pop
1996-08-17  0:00                     ` Tim Behrendsen
1996-08-17  0:00                       ` Dan Pop
1996-08-18  0:00                         ` Mark Wooding
1996-08-20  0:00                           ` Peter Seebach
1996-08-21  0:00                           ` Szu-Wen Huang
1996-08-21  0:00                             ` Adam Beneschan
1996-08-21  0:00                             ` Tim Behrendsen
1996-08-17  0:00                       ` Peter Seebach
1996-08-18  0:00                         ` Tim Behrendsen
1996-08-17  0:00                       ` Robert Dewar
1996-08-21  0:00                     ` Tanmoy Bhattacharya
1996-08-30  0:00                       ` Goto considered really harmful Patrick Horgan
1996-09-04  0:00                         ` Dennison
1996-08-14  0:00               ` What's the best language to learn? [was Re: Should I learn C or Pascal?] Peter Seebach
1996-08-14  0:00                 ` Tim Behrendsen
1996-08-14  0:00                   ` Peter Seebach
1996-08-14  0:00                     ` Tim Behrendsen
1996-08-14  0:00                       ` Peter Seebach
1996-08-15  0:00                       ` Bob Gilbert
1996-08-15  0:00                       ` Robert Dewar
1996-08-16  0:00                         ` Joe Foster
1996-08-18  0:00                         ` Tim Behrendsen
1996-08-20  0:00                           ` James Youngman
1996-08-21  0:00                           ` Szu-Wen Huang
1996-08-15  0:00                     ` Bob Gilbert
1996-08-18  0:00                       ` Tim Behrendsen
1996-08-15  0:00                     ` DAVID A MOLNAR
1996-08-14  0:00                   ` Robert Dewar
1996-08-14  0:00                     ` Dan Pop
1996-08-14  0:00                       ` Robert Dewar
1996-08-14  0:00                     ` Tim Behrendsen
1996-08-15  0:00                     ` Joe Foster
1996-08-16  0:00                   ` Bob Gilbert
1996-08-17  0:00                     ` Tim Behrendsen
1996-08-18  0:00                       ` Robert Dewar
1996-08-18  0:00                         ` Tim Behrendsen
1996-08-26  0:00                         ` Patrick Horgan
1996-08-27  0:00                           ` Alan Peake
1996-08-27  0:00                             ` Steve Heller
1996-08-28  0:00                             ` Robert Dewar
1996-08-28  0:00                             ` Tom Watson
1996-08-28  0:00                               ` Robert Dewar
1996-08-30  0:00                               ` Alan Peake
1996-08-31  0:00                                 ` Robert Dewar
1996-09-03  0:00                                   ` Alan Peake
1996-09-07  0:00                                     ` Robert Dewar
1996-09-07  0:00                                 ` .
1996-08-29  0:00                           ` Darin Johnson
1996-08-19  0:00                       ` John Hobson
1996-08-19  0:00                         ` Tim Behrendsen
1996-08-19  0:00                           ` John Hobson
1996-08-20  0:00                             ` Szu-Wen Huang
1996-08-27  0:00                               ` Richard A. O'Keefe
1996-08-23  0:00                           ` Alan Bowler
1996-08-16  0:00                   ` Dr. Richard Botting
1996-08-18  0:00                     ` Tim Behrendsen
1996-08-21  0:00                       ` Szu-Wen Huang
1996-08-21  0:00                         ` Tim Behrendsen
1996-08-22  0:00                         ` Mark Wooding
1996-08-23  0:00                           ` Bengt Richter
1996-08-23  0:00                         ` Clayton Weaver
1996-08-21  0:00               ` What's the best language to learn? [any language except Ada] Bill Mackay
1996-08-22  0:00                 ` Robert Dewar
1996-08-23  0:00                   ` Larry J. Elmore
1996-08-22  0:00                 ` Stephen M O'Shaughnessy
1996-08-24  0:00                 ` Alan Brain
1996-08-15  0:00             ` Should I learn C or Pascal? Richard A. O'Keefe
1996-08-17  0:00               ` Alexander J Russell
1996-08-17  0:00               ` Mike Rubenstein
1996-08-17  0:00               ` Lawrence Kirby
1996-08-18  0:00                 ` Ken Pizzini
1996-08-19  0:00                 ` Richard A. O'Keefe
1996-08-23  0:00                   ` Joe Keane
1996-08-16  0:00             ` Dr E. Buxbaum
1996-08-16  0:00               ` Lawrence Kirby
1996-08-17  0:00                 ` Paul Hsieh
1996-08-17  0:00                   ` Mike Rubenstein
1996-08-19  0:00                     ` Richard A. O'Keefe
1996-08-20  0:00                       ` Mike Rubenstein
1996-08-22  0:00                         ` Richard A. O'Keefe
1996-08-22  0:00                           ` Mike Rubenstein
1996-08-16  0:00               ` Mike Rubenstein
1996-08-20  0:00               ` Paul Schlyter
1996-08-20  0:00                 ` Mike Rubenstein
1996-08-21  0:00                 ` James Youngman
1996-08-22  0:00                   ` TRAN PHAN ANH
1996-08-22  0:00                     ` Dr E. Buxbaum
1996-08-27  0:00             ` Jeffrey C. Dege
1996-08-27  0:00               ` Craig Franck
1996-08-27  0:00                 ` Ted Dennison
1996-08-27  0:00                   ` John Hobson
1996-08-27  0:00               ` Steve Heller
1996-08-27  0:00               ` Ted Dennison
1996-08-27  0:00               ` Bob Cousins
1996-08-28  0:00               ` Robert Dewar
1996-09-01  0:00               ` Patrick Horgan
1996-09-12  0:00                 ` Delete - Don't Bother to Read This Charles H. Sampson
1996-08-16  0:00           ` What's the best language to learn? [was Re: Should I learn C or Pascal?] Darin Johnson
1996-08-16  0:00             ` Robert Dewar
1996-08-16  0:00             ` system
1996-08-16  0:00           ` Should I learn C or Pascal? Darin Johnson
1996-08-20  0:00           ` Darin Johnson
1996-08-21  0:00           ` What's the best language to learn? [was Re: Should I learn C or Pascal?] Darin Johnson
1996-08-22  0:00           ` What's the best language to learn? [any language except Ada] Jon S Anthony
1996-08-23  0:00           ` Darin Johnson
1996-08-25  0:00             ` Robert Dewar
1996-08-24  0:00           ` Jon S Anthony
1996-08-05  0:00   ` Should I learn C or Pascal? Sherwin Anthony Sequeira
1996-07-24  0:00 ` Jon S Anthony
1996-07-25  0:00 ` ++           robin
1996-07-25  0:00 ` ++           robin
1996-07-25  0:00 ` ++           robin
1996-07-30  0:00   ` Robert Barnes
1996-07-30  0:00     ` Rob(t.) Brannan
1996-08-01  0:00       ` ++           robin
1996-08-01  0:00         ` Ralph Silverman
1996-08-06  0:00           ` ++           robin
1996-08-01  0:00       ` Tony Konashenok
1996-08-04  0:00         ` Lawrence Kirby
1996-08-09  0:00         ` Verne Arase
1996-07-31  0:00 ` What's the best language to start with? [was: Re: Should I learn C or Pascal?] Darin Johnson
1996-08-02  0:00   ` Alan Peake
1996-07-31  0:00 ` Darin Johnson
1996-08-01  0:00   ` Tim Behrendsen
1996-08-01  0:00     ` Stephen M O'Shaughnessy
1996-08-03  0:00       ` Tim Behrendsen
1996-08-06  0:00         ` Stephen M O'Shaughnessy
1996-08-05  0:00     ` Patrick Horgan
1996-08-06  0:00       ` Szu-Wen Huang
1996-08-06  0:00       ` Dan Pop
1996-08-08  0:00         ` steidl
1996-08-01  0:00 ` Andy Hardy
1996-08-01  0:00 ` Stefan 'Stetson' Skoglund
1996-08-05  0:00   ` Stephen M O'Shaughnessy
1996-08-06  0:00     ` Bob Gilbert
1996-08-07  0:00       ` Stephen M O'Shaughnessy
1996-08-09  0:00         ` Bob Gilbert
1996-08-06  0:00   ` Patrick Horgan
1996-08-07  0:00 ` Fergus Henderson
1996-08-07  0:00   ` Tim Behrendsen
1996-08-08  0:00     ` Szu-Wen Huang
1996-08-08  0:00       ` Tim Behrendsen
1996-08-08  0:00         ` Peter Seebach
1996-08-08  0:00           ` Tim Behrendsen
1996-08-08  0:00             ` Peter Seebach
1996-08-09  0:00               ` Tim Behrendsen
1996-08-09  0:00                 ` Peter Seebach
1996-08-15  0:00                   ` James_Rogers
1996-08-17  0:00                     ` Tim Behrendsen
1996-08-10  0:00           ` Mike Rubenstein
1996-08-10  0:00             ` Peter Seebach
1996-08-11  0:00             ` Craig Franck
1996-08-08  0:00         ` Christopher R Volpe
1996-08-08  0:00         ` Szu-Wen Huang
1996-08-08  0:00           ` Tim Behrendsen
1996-08-09  0:00             ` Szu-Wen Huang
1996-08-09  0:00               ` Tim Behrendsen
1996-08-10  0:00                 ` Szu-Wen Huang
1996-08-11  0:00                   ` Tim Behrendsen
1996-08-09  0:00           ` some days weren't there at all
1996-08-10  0:00           ` Mike Rubenstein
1996-08-11  0:00             ` Szu-Wen Huang
1996-08-17  0:00             ` Richard Chiu
1996-09-04  0:00               ` Lawrence Kirby
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox