Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!uwvax!oddjob!mimsy!brillig!beth From: beth@brillig (Beth Katz) Newsgroups: soc.college,comp.edu Subject: Re: First Language Taught in CSC degree track Message-ID: <7821@mimsy.UUCP> Date: Sat, 1-Aug-87 15:17:19 EDT Article-I.D.: mimsy.7821 Posted: Sat Aug 1 15:17:19 1987 Date-Received: Sun, 2-Aug-87 10:12:35 EDT References: <455@rocky.STANFORD.EDU> <1265@killer.UUCP> Sender: news@mimsy.UUCP Reply-To: beth@brillig.UUCP (Beth Katz) Organization: Univ. of Maryland, Dept. of Computer Science Lines: 35 Xref: mnetor soc.college:796 comp.edu:538 One practical reason for not using Ada as the first language is that most students run their programs through the compiler over and over again to get rid of syntactic and semantic bugs. You need fast compilers with descriptive error messages to handle this type of load. You also need a compiler that will not swamp your machine right before assignments are due. And that compiler should be affordable and available on the machines you use for classes. Although I haven't checked into Ada compilers lately (I'm not teaching Ada now, and the Ada compiler I am using for research works well on the Vax and Sun), I don't think you'll find an Ada compiler today that meets those requirements. The best (and closest to correct) Ada compilers are not cheap, and they tend to run on Vaxes. When I taught an upperlevel course on software design and development with Ada, we had to use a research machine because there wasn't a compiler available for our usual teaching machines (IBM 4341 and Sperry 1100 whatever). To keep the class from overwhelming the Vax, we limited simultaneous Ada compiles for class members (and kept it lower than we probably needed to, but that was the agreement). I thought the error messages were pretty good, but some of my students complained. Although I use both Ada and C for my own work, I don't believe either is the best language for a first programming class. I tend to prefer Maryland's approach to teaching the mathematical foundations of programming with a small subset of a language. Mastery of English (or one's native language) is essential. Beth Katz Dept. of Computer Science Univ. of Maryland - College Park beth@brillig.umd.edu