[comp.sys.amiga] Programming language for youngsters

schwager@m.cs.uiuc.edu (11/16/88)

Well, my girlfriend decided to take the plunge.  She's buying an Amiga
500 for herself and her kids this Christmas.  She has an 8-year-old and
an 11-year-old.  Any suggestions on good programming languages that the
11-year-old could start out on?  I've heard it said that learning BASIC
as your first language could make you brain-dead for life, and I believe
it to be true.  Is there a logo interpreter?  I don't know myself,
perhaps 11-year-olds can pick up on Pascal or Modula-2 pretty easily.
But I imagine the Amiga is difficult to program even in those languages.

Anyway, could someone who knows help me out on this?  These little
rascals haven't had any programming experience to date, but they've
played with uncle's Mac and my Amiga (preferring the latter :-), and they
seem to be amazingly computer literate.  Thanks!
-Mike Schwager		schwager@a.cs.uiuc.edu
-- {uunet,convex,pur-ee}!uiucdcs!schwager   schwager%uiuc@csnet-relay.arpa
	University of Illinois, Dept. of Computer Science

akg@mentor.cc.purdue.edu (Mike Hughey) (11/18/88)

In article <7200067@m.cs.uiuc.edu> schwager@m.cs.uiuc.edu writes:
>
>Well, my girlfriend decided to take the plunge.  She's buying an Amiga
>500 for herself and her kids this Christmas.  She has an 8-year-old and
>an 11-year-old.  Any suggestions on good programming languages that the
>11-year-old could start out on?  I've heard it said that learning BASIC
>as your first language could make you brain-dead for life, and I believe
>it to be true.
>-Mike Schwager		schwager@a.cs.uiuc.edu

Well, I for one don't buy it.  I learned BASIC as my first language, and I
would now like to believe I am a very competent C systems programmer.  BASIC
really isn't that bad, and that's especially true with BASICs which are as
structured as most of those on the Amiga.  AmigaBASIC allows line-number-free
programming, goto-less programming, quality subroutine generation, etc.  It's
far from perfect, but it sure isn't bad for a start, and it is a little
quicker to pick up than some things.  It also helps, for a first language,
to have an interpretive language with single-stepping and tracing functions.
If it were me, I would require BASIC as one of the first languages for any
computer science student.

Mike Hughey  --  (not a BASIC programmer anymore, but it sure was fun)

ejkst@cisunx.UUCP (Eric J. Kennedy) (11/19/88)

In article <557@mentor.cc.purdue.edu> akg@mentor.cc.purdue.edu (Mike Hughey) writes:
>In article <7200067@m.cs.uiuc.edu> schwager@m.cs.uiuc.edu writes:
>>
>>Well, my girlfriend decided to take the plunge.  She's buying an Amiga
>>500 for herself and her kids this Christmas.  She has an 8-year-old and
>>an 11-year-old.  Any suggestions on good programming languages that the
>>11-year-old could start out on?  I've heard it said that learning BASIC
>>as your first language could make you brain-dead for life, and I believe
>>it to be true.


>AmigaBASIC allows line-number-free
>programming, goto-less programming, quality subroutine generation, etc.  It's
>far from perfect, but it sure isn't bad for a start, and it is a little
>quicker to pick up than some things.  It also helps, for a first language,
>to have an interpretive language with single-stepping and tracing functions.
>If it were me, I would require BASIC as one of the first languages for any
>computer science student.

Also, think of how much AmigaBASIC does in terms of hiding all of the
confusing system structures and functions.  For instance, to open a
window takes one line in AmigaBASIC, but C requires you to initialize
this huge and confusing (to a neophyte's point of view) structure
before you can open it.  A structure like the NewWindow structure is
not difficult for a programmer to understand and deal with, but I can
remember it took me awhile to really understand what was going on.
(I'm still not sure I do!)  And rastports and viewports and lists and
tasks and processes...An 11-year-old just should *not* have to deal
with this stuff when he is trying to learn the basic (no pun intended)
concepts of programming.

And don't tell me that you can program the Amiga in C without having to
deal with these things.  You can, of course, but we're talking about
kids, here.  They're not going to be interested in writing CLI-only RPN
calculators, class roster programs, or any of the other tripe you tend
to write in a first semester Pascal course.  They want exciting stuff,
graphics, sound, animation.  AmigaBASIC makes this possible.

BASIC, definitely.



Disclaimer.  I don't use AmigaBASIC.  In fact, I'm not too fond of it.
I have nothing to do with the writers.  I don't even _like_ Microsoft.
But for this application, I'd recommend it.  Besides, it comes with the
machine!



-- 
---
Eric Kennedy
ejkst@cisunx.UUCP

hugh@censor.UUCP (Hugh Gamble) (11/20/88)

In article <13790@cisunx.UUCP>, ejkst@cisunx.UUCP (Eric J. Kennedy) writes:
> In article <557@mentor.cc.purdue.edu> akg@mentor.cc.purdue.edu (Mike Hughey) writes:
> >In article <7200067@m.cs.uiuc.edu> schwager@m.cs.uiuc.edu writes:
> >>
> >>Well, my girlfriend decided to take the plunge.  She's buying an Amiga
> >>500 for herself and her kids this Christmas.  She has an 8-year-old and
> >>an 11-year-old.  Any suggestions on good programming languages that the
> >>11-year-old could start out on?  I've heard it said that learning BASIC
> >>as your first language could make you brain-dead for life, and I believe
> >>it to be true.
> 
... 
> ---
> Eric Kennedy
> ejkst@cisunx.UUCP

Just get her & the kids started with machine language (assembler is
too abstract), or if you prefer try APL or some other language that
really wants to have a special non-standard keyboard. :-),...,:-)

Seriously, AmigaBasic is probably the best bet for many reasons & it
doesn't have to cause permanent brain damage.  Just make sure you
provide a good book on programming style.  There are lots out for
basic, a few of them even good, and some of them should use a
dialect close enough to AmigaBasic that the examples shouldn't be
hard to get working.

-- 
| Hugh D. Gamble  (416) 581-4354  {lsuc, utzoo}!censor!hugh  (Std. Disclaimers)
| I can push any computer to its limits.
| Any computer can push me to *my* limits.