Jeremy Tregunna wrote:
> If you can teach someone to program, learning a new language isn't
> going to be a big problem. Your decision should be less about the
> language and more about the concepts you need to be teaching. Scheme
> is an excellent language for teaching people how to program. Sure,
> most of them are unlikely to use scheme much if ever in day to day
> operations on the job (if they choose to go down this path and stick
> with it), but it's an excellent language to teach programming concepts.

I completely agree with the above.

>> So, given all of that, I have two questions for ya, list. One, do
>> you think there's any merit from teaching pretty non-technical
>> sophomores in highschool Ruby over Scheme?
>
> No, I don't. Keep the language simple, teach them how to program;
> those who continue on with programming will find languages that they
> wish to pursue, and will learn those when the time is appropriate.

And almost agree with this too.

Knowing almost nothing about Scheme (it's a lisp), and not prejudiced
agaist it at all (honestly), a possible advantage of Ruby could be that
its libraries let you do some really fun stuff very quickly, cleanly and
easily. I can imagine that being extremely appealing in a learning
environment. However, there may be equally wonderful libraries for
Scheme, in which case this is a moot point.

The other possible advantage with Ruby is that it has a current, active
community (which, again, Scheme may have; I don't know), and if these
children are good at looking for things for themselves (which I hope
they are), then they may have more luck with Ruby in this respect.

Having made those two points, I would expect Scheme to have more
teaching environment material available for it - potted courses,
teacher's notes, etc; I believe it was originally conceived as a
teaching oriented language (this may well show my total ignorance!).

Once again though, Jeremy Tregunna is absolutely right that concepts are
transferable, and there's not a great deal of value in choosing a
teaching language because of current "real world" use.