www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/09/09/04:28:38

Date: Wed, 9 Sep 1998 11:26:06 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Tom Breton <tob AT world DOT std DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: Teaching a child to program in C
In-Reply-To: <rootr9xm9lnp.fsf@world.std.com>
Message-ID: <Pine.SUN.3.91.980909112544.1090K-100000@is>
MIME-Version: 1.0

On Wed, 9 Sep 1998, Tom Breton wrote:

> Pardon me for making a suggestion that you may have already decided
> against, but have you considered LOGO?  It's the only language I can
> think of that is meant for a child.

Hear, hear!  There's nothing like LOGO to stimulate kids to explore
the world rather than exploit it (do I sound old enough? ;-).

There will be a DJGPP port of UCB LOGO soon (and that's a promise).

> If he picks up LOGO easily and seems bored with it or frustrated with
> how little it can do, then is the time to introduce real languages.

Excuse me?  Who said LOGO isn't a ``real language''?  I hope you know
there's much more to LOGO than just turtle graphics, do you?  

LOGO is based on lists, like Lisp (but its syntax is much easier to
read), and its built-in primitives are extremely powerful, so you can
do amazing things with just a few lines.  "Computer Science Logo
Style" is a book that teaches the entire CS curriculum using LOGO, and
one of the last projects there is a compiler for a Pascal subset which
is about 1000 lines; another project is STUIDENT, a 1100-line AI
program that can solve several broad categories of problems(1).  Can
you do something like that in so few code lines in C, or in any other
procedural language?

In fact, I submit that any serious programmer should try LOGO.  Once
you did that, you will forever change the way you think about
programs.

(1) Here are some examples of problems STUDENT can solve (this is the
    actual text you type into the program, so it includes a natural
    language parser as well):

    a. The distance from New York to Los Angeles is 3000 miles
    If the average speed of a jet plane is 600 miles per hour,
    find the time it takes to travel from New York to Los Angeles by
    jet.
    b. A number is multiplied by 6.  This result is 68. Find the
    number.
    c. The sum of Sally's share of some money and Frank's s
    Sally's share is twice Frank's. Find Frank's and Sally's share.

I know some 5-graders that will choke on these ;-).

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019