[plt-scheme] Re: Programming for non-programmers

From: Joe Marshall (jrm at ccs.neu.edu)
Date: Wed Oct 13 09:39:24 EDT 2004

Eric Kidd <eric.kidd at gmail.com> writes:

> Programming is a hard skill.  

Programming is *extraordinarily* hard.  Programmers (as well as
software engineers and computer scientists) are among the smartest
people I know, and *not one of them* can write a program longer than
about a page without making mistakes.  Even those that have been doing
it for years.

> And the overwhelming majority of programmers aren't very good it.  

*That's* an understatement.

> Some people understand variables and functions, but don't quite grok
> data structures.  Others may understand "for each" loops, but not
> recursion.

Most `beginning computer books' teach recursion in the last chapter,
if at all.

> There's two things I'd love to see:
> 1) Programmers should learn how to program better.

Yes, but how?

> 2) Everybody should learn how to program.  

I don't know what you mean by this.  

If we consider a program as a description of a process that is formal
enough to be carried out in a mechanistic way (which is about as broad
a definition as I can think of that still bears some meaningful
relationship to programming), then being able to give clear directions
is often beyond some people.  Actually writing a procedure that
implements some well-known algorithm might be asking way too much.

It'd sure be nice if everyone had the ability to apply critical
thinking and logic to the extent that even a mediocre programmer can,
but I don't think that will ever happen. 

> But I also still hold out a hope of accomplishing (2)--teaching the
> artists and writers of the world to write hundred line scripts.  

I'm skeptical that it can be done, but don't let me dissuade you from
trying.  The benefits of even the smallest amount of success in this
department would be enormous.

Posted on the users mailing list.