APL is more French than English (1978)
jsoftware.com
jsoftware.com
> What attracted me, then, to APL
> was a feeling that perhaps through APL
> one might begin to acquire some of the dimensions in
> programming that we revere in natural language —
> some of the pleasures of composition; of saying
> things elegantly; of being brief, poetic, artistic,
> that makes our natural languages so precious to us.
> That aspect of programming was one that I’ve long
> been interested in but have never found any level
> for coming close to in my experience with languages
> of the FORTRAN, ALGOL, PL/I school.
> It was clear in those languages that
> programming was really an exercise in plumbing.
> programming was really an exercise in plumbing.
> programming was really an exercise in plumbing.
> programming was really an exercise in plumbing.
> programming was really an exercise in plumbing
> One was building an intricate object, and the
> main problem was just to keep your head above water.
> above water
> But, so difficult is it to keep your head above water
> with those languages that this aspect of
> the languages we use in programming just never surfaces.
> For me, in listening to Ken then
> —
> and I’d heard him before
> —
> for me, at that moment,
> there came what I can
> only call
> a
> revelation.
I had the same feeling about the plumbing bit..And Go instead of Algol/Pascal : "the people in structured programming tell me if you put enough structure in programs, everybody in the room here will write the same ALGOL program or PASCAL program. Thus, it’s going to be easier to read — but also dull."
It is obviously a very biased comparison but the parallels with our current situation are interesting.
> The idea that only one language or any particular language is critical to learning what it means to program is false. If that is your goal, to teach people how to build programs, BASIC is perfectly satisfactory. There are some things you can’t do in it; therefore, you invent constructions for doing them; and the invention of these constructions is learning to program.
Then later:
> But to get people into that world, to get people into that world from universities and high schools, it’s imperative that they learn APL before they become contaminated by BASIC. And I say that very seriously.
Maybe the point is subtle: that it's important to teach both APL and other programming languages, but definitely APL early on or that way of thinking is too hard to reach. Or maybe there is just some cognitive dissonance there and it's actually a contradiction in this talk.