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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7fb761492573daee X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: No top schools use Ada Date: 1995/04/19 Message-ID: #1/1 X-Deja-AN: 101283275 references: <3mq0jd$r10@kaiwan009.kaiwan.com> <0jZPp6C00WBMQAQVNS@andrew.cmu.edu> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1995-04-19T00:00:00+00:00 List-Id: Regarding using Ada to teach computer science this actually works very well, I am teaching the equivalent of CS2 (i.e. data structures and algorithms), and there are lots of advantages, most notably the completely checked environment of Ada, over say C or C++. I can't see *any* advantage in using C++ over Ada 95 in teaching computer science or SE -- can you really make a case for that? Usually the choice is based simply on commercial popularity rather than any pedagogical argument (that is in those few cases where the people arguing know both languages well). Scheme is a different issue: to me it is limiting to live only in the functional world. For example, today I was presenting heapsort. The essence of this algorithm is the in place tree mapping, that's what makes the algorithm interesting. Same thing with quicksort. I have actually seen people teaching in a functional style and presenting a two way division sort as quicksort, missing the most interesting part of the algorithm, which is the in place partitioning. Yes, I know you can model this functionally, but it seems confusing to me to do this. P.S. I plead guilty to subversive activities in my course, like trying to teach students about abstraction, reuse and modularity. Hopefully this will not *too* seriously warp their capability to do good work in computer science.