Programming for non-programmers (was: Re: [plt-scheme] Debugger: How much work to implement?)

From: Matthias Felleisen (matthias at
Date: Wed Oct 13 07:58:56 EDT 2004

On Oct 13, 2004, at 7:44 AM, Eric Kidd wrote:

>   For list-related administrative tasks:
> On Tue, 12 Oct 2004 20:00:02 -0400, Prabhakar Ragde
> <plragde at> wrote:
>> Forgive me if I'm being naive, but it sounds to me as if a better
>> approach would be to give your script authors some higher-level
>> skills.
> I actually work on this, too. :-)
> Programming is a hard skill.  And the overwhelming majority of
> programmers aren't very good it.  I've read that, to a first
> approximation, most programs in the world are either Visual Basic
> applications or small Perl scripts.  And even though most of these
> programs would make a professional programmer cringe, they do real
> work for real people.

Unfortunately. But we should all thank someone on our knees
for outsourcing. It will migrate the jobs to those who can
do them :-)

> There's two things I'd love to see:
> 1) Programmers should learn how to program better.  You're completely
> correct that many people with undergraduate CS degrees have been
> amazingly ill-served by their education.


> 2) Everybody should learn how to program.  As Guido van Rossum keeps
> pointing out, there's no reason why every high school student
> shouldn't be taught to write short programs--it's almost as important
> as learning algebra.

We have been saying this at least as long as GvR. But unlike
him we actually spend a huge amount of energy on this project.
[250 teachers trained, 2,500,000 to go.]

The difference is what he calls programming and what we call
programming; the goal he has in mind and the goal that we have
in mind.

> Now, the teachers and professors on the PLT mailing list are world
> champions at (1).  I've worked with programmers trained on HtDP by
> various PLT folks, and they're great.  After a course or two, the
> students actually understand programming.
> But I also still hold out a hope of accomplishing (2)--teaching the
> artists and writers of the world to write hundred line scripts.  And
> in this case, I think it's a bit unfair to condemn people for using
> cookbooks and adapting sample code.  Everybody's got to start
> somewhere, and there's no fundamental reason it can't be Scheme.

See above :-)

-- Matthias

Posted on the users mailing list.