From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: *** X-Spam-Status: No, score=3.8 required=5.0 tests=BAYES_00,INVALID_MSGID, RATWARE_MS_HASH,RATWARE_OUTLOOK_NONAME autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public From: "Tim Behrendsen" Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/08/16 Message-ID: <01bb8b84$200baa80$87ee6fce@timpent.airshields.com>#1/1 X-Deja-AN: 174556949 references: <31FBC584.4188@ivic.qc.ca> <01bb83f5$923391e0$87ee6fce@timpent.airshields.com> <4uah1k$b2o@solutions.solon.com> <01bb853b$ca4c8e00$87ee6fce@timpent.airshields.com> <4udb2o$7io@solutions.solon.com> <01bb8569$9910dca0$87ee6fce@timpent.airshields.com> <4urqam$r9u@goanna.cs.rmit.edu.au> content-type: text/plain; charset=ISO-8859-1 organization: A-SIS mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-08-16T00:00:00+00:00 List-Id: Richard A. O'Keefe wrote in article <4urqam$r9u@goanna.cs.rmit.edu.au>... > > If you encounter any significant difference in speed between recursive > and non-recursive quicksort, all that tells you is that it is time to > change compilers. Come to that, if you really cared about speed you > wouldn't be using quicksort anyway. Yes, but you can use the "get a better compiler" argument to justify anything. Real programs run on real computers using real compilers. The "Super-Duper Ivory Tower 9000 Compiler" just doesn't exist. > >If I implemented Quicksort in APL, say (which has direct > >manipulation of arrays in one operation), > > Given the grade-up primitive, I can't think why anybody would _want_ > to implement quicksort in APL. Well, I realize that APL has a built-in sort, but the point was in learning quicksort through an implementation in APL. > >the student would > >not see the movement, because they would just see the computer > >doing the array "in one fell swoop", but wouldn't really > >experience the fact that the computer doesn't really do it > >that way in reality. > > Interestingly enough, the APL sorting primitive DOESN'T move the data > at all. It returns a permutation vector. The APL idiom for sorting is > X[.GradeUP X] > where the necessary movement is quite visible. But the reality is *not* visible. What has the student really learned? -- Tim Behrendsen (tim@airshields.com)