Path: utzoo!attcan!uunet!cs.utexas.edu!usc!snorkelwacker!bloom-beacon!mitech.COM!gjc From: gjc@mitech.COM Newsgroups: comp.lang.scheme Subject: first programming languages, and second ones too Message-ID: <9002221434.AA03515@schizo.samsung.com> Date: 21 Feb 90 13:39:47 GMT Sender: daemon@athena.mit.edu (Mr Background) Reply-To: gjc@mitech.com Organization: The Internet Lines: 31 There are more obvious practical and commercial advantages to knowing the language C rather than Pascal, so I would think students would be better served learning and using that language as a second language after Scheme. * with a reasonable ANSI compiler supporting prototypes, and especially one that supports a "require-prototypes" compilation flag, it seems you get about as much strict type checking out of a C program as out of an equivalent program in Pascal. * C has more modern/natural I/O primitives, not the funny ancient mainframe O/S oriented stuff in standard Pascal. * you can build up complex programs and datastructures from "the bits" and abstract upwards in the same way you learn in lisp programming. Obviously just about any language lets you do this; I'm just arguing that it is rather natural and similar in lisp and C. * one could introduce/motivate C near the end of a course (e.g. Chapter 5, SICP) with a small C program that implements Scheme, such as SIOD. On the other hand, after SICP, especially chapter 5, one could argue more strongly that it would be more natural to cover a reasonable assembly language programming machine environment in more detail rather than go for something artificial like a so-called high-level language. I had one student at Boston University that got into CADR microcode after his lisp course. -gjc