Skip to content

Book Reviews

Vector 1:2, page 41

reviews

Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 41

APL — An Interactive Approach (3rd. Edition)

by Leonard Gilman and Allen J. Rose
Published by John Wiley & Sons

I must confess to having set out with some trepidation on the path of reviewing this book, feeling rather like a Sunday-school pupil being asked to review the Sermon on the Mount. After all, Gilman & Rose has been the standard work on APL for a decade now.

However my dilemma about where to begin was eased somewhat by the slogan “Includes APL2 and APL for PC’s”, which adorns the cover of the new edition. So I decided to see how well the ‘Revised Version’ copes with these new aspects of the language, and looked up ‘APL2’ in the index. Finding no entry, I turned hastily to the list of contents, to find the first mention was “More APL2 functions” in Chapter 14. It dawned on me that I would have to browse through the bulk of the book to pick out the new features offered by APL2.

When I did find the descriptions of the new facilities, they were generally understandable but not quite up to the high standards set by the previous edition for ‘traditional’ APL. I did like the side-by-side presentation of the new function with an alternative way to achieve the same effect; it frequently helped me confirm that I understood the derivation of the printed result.

However the overall effect was of a somewhat hurried incorporation of the new material, with several typographical errors; for instance the ‘squad’ symbol appeared everywhere as R⌷ except in the index where it is given as ↓. Similarly on page 265 the match symbol is described as “ = overstruck with _” but is displayed as ⌷ in the subsequent examples. Some of the type-setting could also be improved, as on p209 where we read:

“For say, +/,+ is the left operand of the reduce operator /, ...”

A few spaces would be invaluable.

The coverage of APL for PC’s is minimal; I did find a couple of references to the IBM PC, but the bias of the book remains firmly oriented towards mainframes and printing terminals. For instance, chapter 10 spends 8 pages describing the ∇ function editor including additional variants available under APL2, before a small section on full-screen editors contains a recommendation to use them in preference to ∇.

The assumptions about the reader’s starting level are also inconsistent. The original material (i.e. from previous editions) assumes minimal knowledge, so Chapter 1 (“Getting Started”) is an ideal introduction. The new material, however, is overlaid without any warning. On page 13, APL2 is mentioned for the first time without any explanation. Surely a brief review of the main versions of APL available, or at least those explicity mentioned in the book, is essential for the novice reader.

In summary, I fear that the new material in this third edition fails to live up to the superlative standard set by previous editions, and seems to have been hurriedly tagged onto the existing edition rather than being carefully integrated. Having said that, the new book covers a vast amount of material and is still enjoyable to read. It covers a lot of the less mundane parts of APL, such as operations on multi-dimensional arrays, better than any other book I have come across It must remain an essential part of every serious APLer’s library both as a reference book and for the casual browse through less familiar parts of the language.

Mr. Babbage’s Secret

by Ole Immanuel Franksen
Published by Strandbergs Forlag, Denmark

Charles Babbage (1791-1871), originator of most of the principles behind the modern computer, had an exciting hobby. He broke enciphered messages in the so-called “agony columns” in the Times and other London newspapers. In the British Museum, he studied the correspondence of Charles I and his Queen, Henrietta Maria in order to establish their secret ciphers. For the counsel for the defendant in a lawsuit, he broke an enciphered correspondence, and by his testimony as an expert witness, he decided the outcome of the lawsuit. Under the pseudonym “C”, in a public exchange of letters in the periodical “Journal of the Society of Arts”, he took up a challenge about an “unbreakable” cipher, discovered the keyword of the challenger, and finally set him checkmate by confronting him, in his own system, with a counter-challenge the solution of which is given here, more than 125 years later.

Some of the coding principles used by Victorian Englishmen for their messages in the agony columns would also have been easily recognized by the Vikings and the Norsemen of early mediaeval times. They were used in the old runic inscriptions, but at that time in order to invoke the Gods and the Evil Powers. Other, and more difficult ciphers can be referred to the times of Frederik II and Christian IV. Especially, this applies to the “unbreakable” cipher in the “Journal of the Society of Arts” which is called “Vigenère’s Cipher” after a French diplomat who described it in 1587. The Vigenère Cipher is probably the most famous and most frequently described cipher in the literature. Nevertheless, American authorities emphasize that the only historically correct description was given by I.B. Lindenfels, a major in the army of Frederik VI. This description appeared in the book, Den hemmelige Skrivekonst (The Art of Secret Writing), published in Copenhagen in 1819 under the motto: Ei blot til Lyst (Not only for pleasure). This book also describes a predecessor of the Vigenère Cipher which was used by one of Christian IV’s ambassadors, and at a glimpse, we get from an eye-witness a description of H.C. Oersted’s contribution to the subject. A later Danish contribution is the invention in 1875 of a new enciphering system by Julius Petersen, professor of mathematics at the Copenhagen University.

Many famous scientists, and especially mathematicians, have occupied themselves with the cryptographic subject area, either as a hobby or in a professional capacity. The study at the British Library (British Museum) of the papers left by Babbage throws a new light on the motive power behind this interest. Throughout the ages, secret ciphers and codes have constituted the most purified material for the manner in which people communicate. Some ten years before Babbage took up the challenge in the “Journal of the Society of Arts”, he succeeded in giving a mathematical formulation of the law, or the principle, on which the Vigenère Cipher was based. This accomplishment made him look upon his hobby as a mathematical laboratory for the experimental investigation of the fundamental properties of data and data operations. This led him into a search for laws for data corresponding to the known laws of nature. He imagined that data connections might be described by means of a new kind of geometry in which quantitive measures, such as lengths and angles, were replaced by qualitative concepts, such as relative position and mutual order. Assisted by his cryptographical investigations, he tried to produce a corresponding algebra, and he planned to write a book on this subject. Like so many of his other ideas of genius, this plan was never realised.

The present book takes up Babbage’s idea and challenge. With the secret ciphers as its arena and illustrative material, it extracts over the space of time from the Viking age to the time of the most recent research the interdisciplinarily accepted data concept. Data are facts, and must therefore be discussed in consideration of their procurement by observation or by measurement in the broadest sense. Through the achievements of Einstein and other great scientists, this conceptual area has long ago been tested and prepared for transmission to datamatic application areas, such as industrial production, or administrative systems. The necessary mathematical ideas and tools have been ready for use for more than half a century. What is now needed for an integration of the computer in our educational systems, is not, therefore, new “inventions” but changed choice of subjects, and a new mutual balancing of the subjects. Which subjects, and why they are of importance in the formulation of a geometry for data and data operations, are discussed in a historically inspiring perspective.

The education around the computer not only requires an operational theoretical formulation: to make it clear how the processes must be run, it also requires the creation of illustrative areas of application. Here, secret ciphers would be a good starting point. They can be made just as exciting as computer games; the only prerequisite for their use is that you are able to write and read, and they allow the gradual introduction of a number of mathematical tools. In addition, they present many data theoretical problems of a general nature. How to proceed and build up one’s datamatic laboratory is illustrated in the programming language APL. All examples have been taken from the historical source material, and the interested reader will be able to try his or her strength against number of problems in the form of enciphered personal messages from the agony columns of the Times.