Mike, John, & maybe Ron know this, but there has been a recent discussion thread on the SIGCSE.Members mailer about the merits of the CS AP exam going to C++ in '99, the merits of multiple- vs single-language emphasis in CS programs, the merits of various languages in various places in the CS curriculum, and the merits of teaching OO at the introductory level, etc. I am forwarding to you below a recent post (which makes several nice summary points by itself) showing that Ada is very visible in this discussion among the 1/3 of 2000 SIGCSE members who have joined the list server. Read the 2nd and last (4th) paragraphs below. While C++ and Java have been mentioned more than Ada across the 10-20 msgs in this thread, Ada has been mentioned often enough (probably 3rd most often) that I am very satisfied that its visibility and credibility in academia are competitive, and not noticeably losing ground. (... factoring out predicted near-term "rushes to judgment" to switch to Java and then the predicted degrees of disappointment with that move) Enjoy. -- Hal ------- Forwarded Message Date: Tue, 16 Dec 1997 15:53:42 -0500 Reply-To: Kim Bruce <[log in to unmask]> Sender: SIGCSE Member Forum <[log in to unmask]> From: Kim Bruce <[log in to unmask]> Subject: Re: STL, C++, Java, etc. To: [log in to unmask] I agree with some of what Bonnie says. In particular, I believe that it is going to be hard for faculty (college, university, or high school) to make the shift to teaching the OO-paradigm. (That's partially why the CS AP exam is not going to really teach OO stuff - just object-based.) We definitely need good books, and faculty need to read and write some good sized programs and read some good texts and articles to really get a sense of what this is all about. However, if we are going to move to the OO paradigm (and many of us believe this is a very good idea - at least by CS2 and probably in CS1), I believe we should do it in a language which is supportive of programmers, especially beginners. Java has a much simpler conceptual model than C++ (all objects being references leads to many simplifications), and garbage collection is a big win for novices (and experts!). The lack of support for generics is the main problem. Benefits include standard support for concurrency (yep, Ada includes that too), and reasonably good standard libraries for building graphic-user interfaces. (Flame bait: How many programs these days take input from the keyboard as opposed to data entered through a GUI? Shouldn't students be learning how to set up those rather than arcane notions dating back to command-line interfaces and card input?) Compilers and development environments are getting better every year. I definitely do not agree that beginners should be taught using a vanilla command line interface. We should use the computer to make irrelevant and annoying things easier, especially for novices. I want the best debugger available and I want it to make it as easy as possible to find the source of errors. In fact, I've wished we had more money available to buy industrial strength tools like "real" programmers use. Finally, let me agree that a "single-language" curriculum would be bad. I note that tendency among many of my colleagues, but would rather students saw enough differences among languages to appreciate that each language has its strengths and weaknesses. I would be sad if any of Java, C++, or Ada were to remain as the "ultimate" programming language. Students should be prepared to switch languages over time and with different tasks. Kim bruce ------- End of Forwarded Message