The Best of Creative Computing Volume 1 (published 1976)

Page 58 << PREVIOUS >> NEXT Jump to page:
Go to contents Go to thumbnails

Toward a Human Computer Language (Why are computer languages different from human languages?)

graphic of page

Toward A Human Computer Language

Alexander B. Cannara
IMSSS, Stanford, California

Why must (should) computer-programming language be different from human
languages? Please trust that this question can be linked intimately to our
topic: "computer languages for education". But first, I'll argue that "computer
languages" and "for education" redundantly describe that topic: (1) people use
computers, thus computer languages, for work or play; (2) anyone engaged in
productive enterprise (work or play) now and then learns something new (to him),
so programming can be an educational experience; (3) because the computer is a
very general tool in the realm of human thought, it is really an educational
tool for all people. All designers of programming languages should keep that in
mind. We want a computer language to allow us to define objects and their
interactions as naturally as possible, so that we can set them off on
computational explorations of worlds that we, not the language, constrain.

Obviously, people are at the center of the relationship between the computer and
humanity. We design computers and define languages for using them, and these
programming languages allow us to communicate our thoughts not only to a
machine, but to ourselves and to other people as well. Some argue that the
latter is the more important function. In any case, any language is for
communication and a limited language limits the communication of those who use
it.

Programming languages (or any other formal languages), are special, in contrast
with human languages, because we do not yet understand our own language
processing well enough to be able to construct any reasonable facsimile of it
within or without Turing-computable limitations. In other words, no one has
written a computer program that could pass the "Turing-test" and sensibly
communicate with a human in human language over arbitrary scope and time.
Research with that kind of goal in mind now aims at building upon success in
limited contexts and is often coupled with psychological models of thought,
memory, etc. (e.g. T. Winograd, Psychology Today, May 1974; or J. S. Brown,
Proceedings of the ACM 1974 Conference). So a partial answer to the opening
question is: "computer languages cannot yet be as broad as human languages".

Given that programming languages are designed by sometimes frail, sometimes
insightful humans who cannot describe what it is they do to communicate, but
want to make a machine do it, what limitations of current programming languages
should make us unhappy and spur 
[image]

58

Page 58 << PREVIOUS >> NEXT Jump to page:
Go to contents Go to thumbnails