All of the languages we have considered so far in this paper have been computer languages intended for communication between people and computers. Natural languages, on the other hand, are intended for communication, both written and oral, between people. I have always been surprised that so few, if any, of the lessons learned from natural languages appear to have been applied to the teaching and learning of computer languages.
A large proportion of the texts used in beginning programming courses are little more than introductions to language syntax with numerous examples and exercises intended to illustrate and reinforce grammatical principles. (A colleague once remarked to me that most introductory programming courses were as interesting as courses on the conjugation of verbs.) Furthermore, many of the exercises are artificial and even juvenile. For example, the first example in Chapter 4 of one Java text was a program to print either "ho-ho", "he-he" or "ha-ha"; it was then modified to print "yuk-yuk". As bad as is the pedagogy, the writing is even worse in some texts. Good scientific and technical writing does exist, of course, but little is to be found in computing texts.
Of course, expositions of array languages can be poorly organized and presented too. However, one of the advantages of these languages is that they may be used almost immediately to do something useful without first introducing the amount of detail required with conventional languages. (Compare, for example, the J program for the sample problem with the corresponding program in any of the conventional languages.) Put another way, array languages may be easily used in the exposition of some subject - statistics, logic, some branch of arithmetic or algebra, say - without having details of the language intrude unduly on the subject matter.
My attitudes towards the teaching and use of programming languages have been influenced by Kenneth Iverson who has been giving his views in lectures, technical reports and books for almost forty years. Two examples must suffice. The first is on the 25th anniversary of APL in 1991 when he wrote "Although APL has been exploited mostly in commercial programming, I continue to believe that its most important use remains to be exploited: as a simple, precise, executable notation for the teaching of a wide range of subjects." The second is ten years earlier when in a short paper he advocated a more natural approach to the teaching of APL. Implicit in his views is the conviction that the details of a language, whether it be a computer language or a natural language, should be introduced as needed in the exposition of the subject.
My attitudes toward teaching programming languages have also been influenced by my study of Japanese, a language I took up shortly after I retired. (I might remark parenthetically that I distinguish between "studying" and "learning", and that I been much more successful in the former than the latter.) I have continued my study of the language, both in the classroom and at home, quite faithfully most of the time since I began. A brief account of some of my experiences may be found on my Japan Page from which the following paragraph is taken.
My favourite text for independent study is Business Japanese by Michael Jenkins and Lynne Strugnell (NTC Publishing Group, 1993) which is in the well-known English "Teach Yourself Books" series. The Japanese language is taught by means of a continuing account of the efforts of the British company Dando Sports to market its sporting equipment and clothing in Japan through the Wajima Trading Company in Tokyo. One of the main characters is Mr. Lloyd, marketing manager for Dando, who visits Japan on two occasions to draw up a contract. We follow Mr. Lloyd as he both works with the company and also meets the staff socially. Hiragana and katakana are introduced in Chapter 1 and kanji characters are introduced a few at a time very shortly thereafter. Each chapter after the first has the same format: a summary of the story so far (in Japanese beginning in Chapter 12), another installment of the story, in both Japanese characters and in romaji; new vocabulary; grammatical notes; exercises; a short reading exercise; and a one-page essay in English on some aspect of Japanese business.
Since starting to study Japanese I have often used the lessons in pedagogy I have learned from my several teachers and from my texts in my work with J. Indeed, I regret not having started my association with the language years earlier, both because of the lessons I could have applied to the teaching and learning of programming languages and also because of the many fine people I have met - and would have met much sooner - both here and in Japan.
As important as I consider the close relationship between the teaching of natural languages such as English and the teaching of programming languages, there is the much broader subject of the computer as part of our culture just as is English language and literature. I addressed this topic first at a conference at the University of Alberta almost 20 years ago, and was encouraged recently to revise my thoughts on the subject. The resulting paper, "Language, literature and the computer: A second look", is available here as a PDF file.
The pictures of the child being taken by her family to one of the temples in Nara, the castle at Matsue and the two manhole covers are from photographs taken by Hugh Woods.