Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!labrea!decwrl!ann From: ann@decwrl.DEC.COM (Ann Mei Chang) Newsgroups: soc.college,comp.edu Subject: Re: First Language Taught in CSC degree track Message-ID: <11152@decwrl.DEC.COM> Date: Thu, 30-Jul-87 13:00:34 EDT Article-I.D.: decwrl.11152 Posted: Thu Jul 30 13:00:34 1987 Date-Received: Sat, 1-Aug-87 10:03:30 EDT References: <1472@super.upenn.edu.upenn.edu> <3263@ncoast.UUCP> Reply-To: ann@decwrl.UUCP (Ann Mei Chang) Organization: Digital Equipment Corporation Lines: 28 Keywords: language, CS 106 track, intro Summary: Why Ada? Xref: mnetor soc.college:792 comp.edu:535 After talking to some people at work about the relative virtues of Ada, Pascal, and Modula-2 as an intro programming language, I have become more convinced that Stanford has made a reasonable choice in selecting Ada as its intro language. From what I gather, Ada contains all the "good" features that one would look for in a structured programming language. Of course, it contains many other more complex/confusing features, but these would be most likely avoided and discouraged in an intro course. The major advantage both Ada and Modula-2 have over Pascal is the concept of modules. Ada may also be considered a more reasonable language to teach than Modula-2 because it is well supported, and much "real" work has been done on it. One problem I think the department was worried about with Modula-2 was that they weren't sure if they could get a good compiler. I believe that Ada compilers are easy to come by, and the army will even give it to colleges for free. I guess my conclusion is that Ada is at least a reasonable choice for an intro language, provided that certain features are avoided. In addition, it is a reasonable language to use in some later classes for covering such issues as concurrent programming (for which Stanford has used Ada and C this past year). By the way, CS majors at Stanford are also exposed to and write programs in a number of languages other than the "intro" language. Although a single language, Pascal in the past, is often chosen for large projects, the core sequence for CS majors includes work in Lisp, Prolog, C, assembly language, and possibly others to a lesser degree.