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.
next prev 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