Path: utzoo!dciem!nrcaer!sce!ulysses!garym From: garym@ulysses.UUCP (Gary Murphy) Newsgroups: comp.lang.misc Subject: Re: Which language to teach first? Message-ID: <6717@ulysses.UUCP> Date: 2 Aug 89 13:02:01 GMT References: <8514@batcomputer.tn.cornell.edu> <14501@bfmny0.UUCP> Reply-To: garym@cognos.UUCP (Gary Murphy) Organization: Cognos Inc., Ottawa, Canada Lines: 45 This subject of beginner's computer languages seems to crop up every few years, yet surprisingly the arguments remain pretty much constant - you'd think there'd be progress ... From my own experience, which begins with WatFor and PL/1, I would recommend anything but those two, and maybe add in the APL variants as mindset dead-ends - not to imply that these, in the hands of a trained professional, cannot be used in amazing ways, just that the neophyte will spend the bulk of their time learning alien codewords and symbols, awkward, unnatural and mindlessly strict grammar, and a host of other irrelevent details. To begin programming, you want to start by writing programs, not cyphers. In teaching others, I've always found the criteria for choosing the language to be more social than technical. Despite whatever reasons I might have for one over the other, it generally boils down to knowing what languages their friends and collegues use, what source examples & textbooks are available and what programs they expect to write. My father-in-law, now over 70, is learning quickBasic, my good friend Udo, likewise near 70, has other composer friends who can help him in C. Whatever I might say, these two are not about to buck their hinterland. For children, however, maybe it's my age, maybe it's just my general disposition, but I find them more willing to try my advice on a first language. Here is where my hypothesis of avoiding the noise seems to work; kids (9 to 19) with no particular math/science bent, pick up on declarative languages much faster than procedurals. Using Prolog, where there is only one grammatical construct and few keywords, or Logo, which is similarly terse, they can have their first program up and running within minutes, with no 'railroad diagrams' or keyword lists to memorize. I don't know if it's just the particular kids I've dealt with, but I find they also grasp programming by goal-reduction much faster than they do the iterative, sequence-specification approach. I'm not saying that I'd never teach them C, it's just that, as their tutor, I want to get them hooked on the box before they even glimpse its terrors. ---------------------------------------------------------------- -- | Gary Murphy - Cognos Incorporated - (613) 738-1338 x5537 | |3755 Riverside Dr - P.O. Box 9707 - Ottawa Ont - CANADA K1G 3N3| | e-mail: decvax!utzoo!dciem!nrcaer!cognos!garym | |Cosmic Irreversibility: 1 pot T -> 1 pot P, 1 pot P /-> 1 pot T|