From: lcs AT zk3 DOT dec DOT com Newsgroups: comp.os.msdos.djgpp Subject: Re: Teaching a child to program in C Date: Wed, 09 Sep 1998 19:26:52 GMT Organization: Deja News - The Leader in Internet Discussion Lines: 91 Message-ID: <6t6kpq$2gi$1@nnrp1.dejanews.com> References: <35F56D01 DOT 4BC6 AT erols DOT com> NNTP-Posting-Host: 206.152.163.42 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk In article <35F56D01 DOT 4BC6 AT erols DOT com>, johnfine AT erols DOT com wrote: > I have a very bright 7 year old who wants to learn to > program. Interesting thread (thanks to DJ for pointing it out to me). I will be facing this problem in the next few years myself (so will DJ, even sooner =) so this is a topic I have already noodled over a few times. LOGO is very attractive because of its simplicity and ease of use, and it is also rather subversively powerful. It can do most anything lisp can do. But, sadly, it is old, which means less support from the webworld, and turtlegraphics are a dead end. Also, it will be rela- tively difficult for _you_ to pick up. C is just plain too weird to start with. As a language it is a more-or-less organized flotilla of rules and exceptions to them kind of wired into a sort of coher- ency. It is the lingua franca of the computer world, but I would not inflict it on a child wanting to learn to program. Not unless I were convinced the child should never touch a computer again. BASIC is the world standard for introducing people to programming. But sadly, even the very latest Basics still have a tendency to produce brain damage in users, either because of primitive design, or because of being totally non-portable - or both. You might consider something like bwbasic, which would provide a simple Basic to learn with, and an interepreter to learn C from and practice on later. Stay away from Visual Basic, it promotes an extreme form of Microsoftitis from which most children, with their less robust immune systems, may never recover. There are other languages to try, to be sure. Pascal is fast to learn (and very easy to bring yourself up to speed with) and you can even hand over a copy of the P4 compiler source and let them hack with it - surely an education if ever there was one. But for graphics it's right out. I plan to use it myself for introducing my own son, however. Since the entire system can self-host, and the p-code compiler and interpreter is only a few thousand lines, it is a complete small environment for learning and hacking. For graphics, the one I'm planning to use, presuming I don't find anything better in the meantime, is TCL/Tk. It is a syntactically simple and very orthogonal lan- guage. It tends to be a bit verbose, but it is easily extendable in C and leads naturally to that language when TCL itself begins to be too restrictive. It comes with the Tk widget package, and identical programs can run with native look and feel on Unices in general and Linux in particular, as well as under Windows and on the Mac. That is the one I'd currently recommend as having most of the advantages of Visual Basic and many fewer of the drawbacks. PerlTk and PythonTK have sim- ilar advantages, but in my opinion are syntactically more ambiguous and their versions of Tk frequently lags behind Tcl's, since Tk is part and parcel of the Tcl package. bwbasic, Pascal P4, and Tcl/Tk all provide for a natural progression into other languages, where the child can learn the essentially protean nature of computer environ- ments, how changing things at one level can affect how things are percieved at another. Any of them can provide a software tinker toy where they can learn everything they will ever really need to know that they didn't learn in kindergarden. =) bwbasic: http://ftp.digital.com/pub/usenet/comp.sources.misc/volume40/bwbasic/ P4 compiler: ftp://ftp.cwi.nl/pub/pascal Tcl/Tk: http://www.scriptics.com/ -- .-. .-. .---. .---. .-..-. |Politics is the art of looking for | |__ / | \| |-< | |-< > / |trouble, finding it, misdiagnosing `----'`-^-'`-'`-'`-'`-' `-' |it and then misapplying the wrong My opinions only. |remedies. Groucho Marx -----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum