vol. 22 no. 1, March, 2017

Book Reviews

Kernighan, Brian W. Understanding the digital world. What you need to know about computers, the Internet, privacy, and security. Princeton, NJ: Princeton University Press, 2017. xv, 238 p. ISBN 978-0-691-17654-3. $22.95/£18.95.

Brian Kernighan is a well-known figure in the world of computer science: he was involved in the development of the Unix programming language and is the joint author of the AMPL language, used in large-scale mathematical computing. He is also Professor of Computer Science at Princeton, where he teaches an undergraduate course for humanists and social scientists, entitled 'Computers in our world', on which this book is based. In other words, Kernighan is an authority. In the Preface he notes that his motivation is to provide an understanding of computers for everyone who uses them, but is not a specialist in the field. He draws attention to a book by Richard Muller called Physics for future presidents, stating 'Muller's approach is a good metaphor for what I would like to accomplish: "Computing for future presidents"'.

The sub-title of the book tells us something about its structure: it is divided into three parts: hardware, software, and communications. The hardware section is the shortest, introducing us to the basic components of the computer, to binary arithmetic, and to the functions of the central processing unit, which includes, as it must, a brief introduction to programming. This is entirely sensible, since the hardware changes so often, but the principles of operation remain fundamentally the same.

Section II on software deals with the subject, in four chapters: algorithms, programming and programming languages, software systems (principally operating systems and file systems), and 'learning to program'. This makes a very useful introduction to the subject for anyone interested in how computers are made to function, and would make a good introductory text for anyone wishing to learn how to program. Interestingly, the author chooses Javascript to provide basic instruction on programming. This is a somewhat unusual choice, but eminently sensible, since any browser is capable of running Javascript routines, and no installation of software is required. The reader can simply sit down at his or her machine, launch a text editor like Notepad or an open source html editor and copy, modify and run the Javascript routines in the text, thereby getting more from the experience than by simply reading the book. For further instruction, the author directs the reader to the Khan Academy and Codeacademy

Should everyone learn how to program? This is a question the author asks and his answer is that, while it is useful, and the principles apply to other areas of life (attention to detail, problem analysis, and so forth), not everyone is cut out to be a computer scientist or a programmer"

it's great for some people and many of the ideas are of broader applicability, but perhaps it's overkill to require everyone to take a formal computer science course. (p. 115)

I can relate to that! Over the years, and for various purposes, I have had to acquire some familiarly with, successively, Fortran, Cobol, Basic and JavaScript, but what I learnt for each is now long forgotten and there is no way that I could describe myself as a programmer!

The final part of the book is devoted to communication, covering networks generally; the Internet as a very specific network; the World Wide Web, which is not a network, but a user of the Internet to establish connections and act as an interface for the Internet; data and information, i.e., what is communicated over networks; and, finally, privacy and security, all of the problems created by the fact that the Internet is an open network to which anyone with the necessary equipment can connect. As I write this, today's Guardian newspaper has an article on how Russian and Chinese hackers are attempting to break into British government and security systems, something which is only possible because of the open character of the Internet and the World Wide Web.

Princeton's students in the humanities and social sciences are indeed fortunate to have a course such as that taught by Kernighan, and this text might encourage other institutions to provide something similar. It will not turn anyone into a programmer, but it might turn on one or two to the art, and, in any event, it will make a future President of the USA, or a company CEO, or, indeed, anyone, much more informed about the nature of computing, about the skills needed to deliver effective systems, and about the hazards of unprotected systems.

Professor T.D. Wilson
13 February, 2017

How to cite this review

Wilson, T.D. (2017). Review of: Kernighan, Brian W. Understanding the digital world. What you need to know about computers, the Internet, privacy, and security. Princeton, NJ: Princeton University Press, 2017. Information Research, 22(1), review no. R589 [Retrieved from http://informationr.net/ir/reviews/revs589.html]

Information Research is published four times a year by the University of Borås, Allégatan 1, 501 90 Borås, Sweden.