Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!ll-xn!ames!pioneer!lamaster From: lamaster@pioneer.arpa (Hugh LaMaster) Newsgroups: comp.edu Subject: Re: first languages Message-ID: <2575@ames.arpa> Date: Mon, 24-Aug-87 13:13:20 EDT Article-I.D.: ames.2575 Posted: Mon Aug 24 13:13:20 1987 Date-Received: Tue, 25-Aug-87 03:21:13 EDT References: <405@ndsuvax.UUCP> <1010@argus.UUCP> <290@rruxa.UUCP> <1039@bsu-cs.UUCP> Sender: usenet@ames.arpa Reply-To: lamaster@ames.UUCP (Hugh LaMaster) Organization: NASA Ames Research Center, Moffett Field, Calif. Lines: 48 In article <1039@bsu-cs.UUCP> neubauer@bsu-cs.UUCP (Paul Neubauer) writes: >Actually, the reason that *I* would tend to favor Pascal over either C or >LISP as a first language (in spite of its screwy use of semicolons) has more >to do with its size (not too large) and its reasonably good type checking. I >am not impressed by the counterargument that Pascal is not what they will be >using "in the real world". After all, a first language is exactly that -- a I would argue that the reason Pascal is not frequently used in the "real world" of systems programming is because of a serious problem that the (non-extended) language has: lack of modularity. Those who have done either systems programming or programming of large applications know how important modularity is. C, Fortran, and Modula-2 have all been used successfully as systems programming languages. For those gasping at seeing Fortran included in this list, I will point out that Fortran plus bit field manipulation functions have been successfully used in a number of operating system projects. I also don't think there is as much difference between Fortran and C as is currently thought by a lot of people. Pascal is woefully inadequate as a modular language, and has many counterintuitive features that are artifacts of its origins on systems where the paramount goal was a small memory, very fast, very simple compiler. Back to the original question: A teaching language ought to contain support for the most frequently used concepts in programming. Modula-2 probably has the best combination of support for modularity, nested procedures, information hiding, &etc., so my guess is that it would be the best teaching language of the procedural languages. If anyone out there has used it as a first language for teaching an introductory programming language, your experience would be welcome. LISP is reasonable for a functionally oriented language. LOGO has gotten same rave reviews for an object oriented language, but I am not familiar with it. Hugh LaMaster, m/s 233-9, UUCP {seismo,topaz,lll-crg,ucbvax}! NASA Ames Research Center ames!pioneer!lamaster Moffett Field, CA 94035 ARPA lamaster@ames-pioneer.arpa Phone: (415)694-6117 ARPA lamaster@pioneer.arc.nasa.gov "IBM will have it soon" (Disclaimer: "All opinions solely the author's responsibility")