Re: Programming languages for the very young

From: m-coughlin (m-coughlin_at_comcast.net)
Date: 03/18/04


Date: Thu, 18 Mar 2004 18:17:44 GMT

Yoel Jacobsen wrote:
>
> My experience shows that Logo code tend to become ugly and
> totally unreadable after you finish with the turtle graphics games.

     My experience is that any computer code becomes ugly and
totally unreadable unless you go to great effort to carefully
comment it. Logo is not usually commented. Forth is not usually
commented. C code is not usually commented either, but C
programmers feel guilty about that.

> I'm playing with Forth with my 6 years old boy (Gforth 0.6.2 over
> Solaris, 'stty olcuc' to turn everything to capital letters). I exposed
> him to the concept of stack and stack manipulation when he was 5.
> He grasped that immediately. Now he *enjoy* to *play* with forth.

   Solaris for a six year old? Don't you have to worry about
child abuse? Oh, wait, you are the system administrator. That
makes a big difference.

    Have you learned something that you could publish to improve
the instruction of children in the computer field?

> The total lack of any syntactic form the absolute simplicity,
> the immediacy of reward and the short distance from the
> hardware (!) make forth,IMHO, a perfect choice for very young
> children ( - IMO, long distance from hardware cause Java
> programmers to create software that needs 200MB of RAM and
> a power-hungry CPU just to start).

    It is worthwhile to start out teaching a few programming
ideas. But there is more to programming than the simple things
you can show a child with Forth (or Scheme, Logo, Java, etc.).
You forget you are using Solaris. Doesn't it also want 200MB of
RAM and a power-hungry CPU? In the days of alphanumeric
displays, Forth was its own operating and development system.
Nowadays it is a captive to massive operating systems written in
C. I can't even use it to avoid knowing anything about MS-Dos. I
should be able to give a complete beginner a book and a disk and
say you don't have to know anything else to learn to program
except Forth. That was the direction Forth was going at one
time, but not now.

      The topic of programming languages for the very young has
to include some consideration for teaching teachers. What does
it take for ordinary people to learn to deal with computers?
What does an adult need to know? Is it different than what a
child needs to know? Are Forth programmers going to answer those
questions, or will some other programmers try to solve them?

> To make the picture clear, I use C and Python at work and program
> with Smalltalk from time to time.
>
> Yoel
>
> jmdrake wrote:
> > m-coughlin <m-coughlin@comcast.net> wrote in message
> > news:<4016FAF1.57284056@comcast.net>...
> >
> >
> >> Here's an important point that gets overlooked. The inventor
> >>of Logo wrote a textbook. The inventors of C wrote a textbook so
> >>influential it is just known as " K&R ". The inventor of Forth
> >>never wrote a textbook. Its a difficult handicap to overcome.
> >>
> >> A friend, who has a terrible time coping with computers,
> >>just asked me what programming language she should learn to
> >>try to overcome her handicap. I told her to go to the library and
> >>find a book on Logo. I'd rather advise her to study Forth, but
> >>there is nothing she can buy today about Forth that would meet
> >>her needs.
> >
> > Well the last time I was in the bookstore I didn't see anything
> > you could "buy" on Logo either. But, just like Logo, you can
> > find books on Forth at many libraries. Will some of the info
> > be dated? Sure. Same with the Logo books.

     Where I live, I can go to a computer book store and buy
Logo books, at least last time I checked. But, of course, I
live in the same town where Logo was invented, and there are
thousands of students here. There are books on Forth in
libraries, but very few. There is material on the web for
learning programming in every computer language, but not for the
complete beginner, just for somebody who can connect to the web.
There are very knowledgeable people still trying to make Logo
easy to learn, both for children and their teachers.

      We spend a lot of time debating the technical details of
writing code. But what really counts is what people who write
useful programs learn first.

--
Michael Coughlin    m-coughlin@comcast.net   Cambridge, MA USA


Relevant Pages

  • Re: Generation
    ... named "Applications Development Without Programmers"), ... usually have less power than 3rd a generation language (a ... not giving algorithms only definitions and/or ... which a user is doing with Logo is defining algorithms ...
    (comp.lang.logo)
  • Re: Programming languages for the very young
    ... My experience shows that Logo code tend to become ugly and totally ... distance from hardware cause Java programmers to create software that ... The inventors of C wrote a textbook so ... Same with the Logo books. ...
    (comp.lang.java)
  • Re: Qi lang logo
    ... GS> has a cool logo, do you want to work with someone that thinks ... judging from look gives correct result. ... GS> some of the dreck programmers. ...
    (comp.lang.lisp)
  • [LogoForum] Re: Logo is the "Kids Programming Language" ?
    ... If I wanted to create yet another anal-retentive automaton passing as either a `programmer' or `human' I'd point the `candidate' in the direction of Pascal or this KPL. ... I believe it might be useful as a seive to filter out the INTJ programmers from the INTP programmers; if a `kid' `takes to it' like `a duck to water' I'd segregate or quarentine him or her from the other programming `kids' so as to preclude `infection'. ... quite possibly displacing Logo ...
    (comp.lang.logo)
  • align FL text to bottom right of text box
    ... is a place in our document where there will sometimes be a logo and sometimes ... the client wants the type to be a flush left paragraph. ... The baseline of "Office" must be a certain distance from the bottom ... We actually figured out a way to do this with a table, but the programmers ...
    (microsoft.public.word.pagelayout)