Booch: Your functional programming work was going down
such a different path, of pushing simplicity
and power of expressiveness and the like.

Backus: But it was ultimately unsuccessful because it coul
dn’t take in all the peripheral stuff that you
had.

Booch: Your functional programming work was unsuccessful.

Backus: Yes.

Booch: Let’s dwell upon that for a moment, because there
were some other papers that I saw after your
Turing Award lecture [“Can Programming Be Liberat
ed From the von Neummann Style”, 1977] which was
also a turning point. Because I’d describe it as a wake-up call to the language developers and
programmers, saying there’s a different way of look
ing at the world here. The world was going down a
very different path. Let me pursue that
point of why you think it didn’t succeed.

Backus: Well, because the fundamental paradigm did not in
clude a way of dealing with real time. It was
a way of saying how to transform this thing into that
thing, but there was no element of time involved, and
that was where it got hung up.

Booch: That’s a problem you wrestled with for literally years.

Backus: Yeah, and unsuccessfully.

[...]

Booch: What would be your advice to somebody that
would want to take up the banner of functional
programming? Where would you suggest they begin,
and what hard problems would you like them to
pursue?

Backus: Well, trying to functionalize all the input/output stuff.

Booch: Helping it talk to the real world.

Backus: Yes.

Booch: Do you think there’s a class of problems for
which functional programming is better suited to
solving than contemporary languages?

Backus: Well, any problem that just wants to transform
some piece of data into another piece, I’d say
functional programming is better suited to that.

[...]

Backus: Well, that remains to be seen. Actually that
functional programming was an effort to try to go up
a level, so that you didn't have to keep saying how
to do everything, but rather say what you wanted
done. That idea of saying what you want done bumps
up against a lot of problems in input and output,
and stuff like that.

Booch: All those real things.

Backus: But that's basically where it should go.

[...]

Backus: Well, yes. If they can really bet on software
that will make it possible to say what you want
done rather than how to do it. I think that would be nice.

Booch: Here's a philosophical question, speaking of softwar
e. Is the world a better place because of all
the software that's been written
in your lifetime, or not?

Backus: Well, in human terms, probably not. Because it
just takes us further and further away from
human affairs. But as far as economic, and welfare,
it's done a lot of good. So it's a mixed bag.

Booch: It is a mixed bag, it really is. You strike
me as just an amazingly very human and gentle and
caring person from that answer, and I absolutely love
that. Where do we go from here? What do you
think is going to happen in my lifetime?

Backus: Well, I don't know. But I don't envy you, I'm
afraid. I think that we're getting more and more
technological and less and less human oriented.
And as a country, we're getting tremendously
aggressive, and we're going to pay for it. So it's a tough call.

Booch: I'll sleep well tonight now. <laughs> I meet with
a lot of people who are considering, should they
pursue a career in software or not,
hardware or software, anything in th
is space at all. Any advice you
might offer? If you were to talk to somebody, say
in high school or something like that, saying, "Gee,
what should I do here?", what would you say to that person?

Backus: Well, don't go into software. It's just such a
complicated mess that you just frazzle your brains
trying to do anything worthwhile.

Booch: Understood. Looking back on it all, have you had fun?

Backus: Yeah, I had a lot of fun.

Booch: And the most fun you talked about
was the Fortran days and the SSEC...

Backus: Yeah, that was a lot of fun. I had a lot of
fun too working on the functional programming stuff.