"One of the difficulties in thinking about software is its huge variety. A function definition in a spreadsheet cell is software. A smartphone app is software. The flight management system for an Airbus A380 is software. A word processor is software. We shouldn't expect a single discipline of software engineering to cover all of these, any more than we expect a single discipline of manufacturing to cover everything from the Airbus A380 to the production of chocolate bars, or a single discipline of social organization to cover everything from the United Nations to a kindergarten. Improvement in software engineering must come bottom-up, from intense specialized attention to particular products."
— Michael A. Jackson.
As these words from the present booklet illustrate, Jackson is fascinated by the fundamental question: What is software engineering? Jackson reflects on the constituents of software development. He compares and contrasts the writings of Edsger Dijkstra, Tony Hoare, Donald Knuth, Peter Naur, David Parnas, Christopher Strachey, Pamela Zave, and others. Some of the many interrelated topics that come to the fore are software malleability, program transformation systems, and the history of automobile engineering.
Conversations issue 5
Formalism & Intuition in Software Development
A conversation with Michael A. Jackson conducted by Edgar G. Daylight and Bas van Vlijmen
Edited by K. De Grave
Paperback, 97+iii pages
Published August 2015
Conversations ISSN 2034-5976
Available at Amazon.com, -.co.uk, -.de, -.fr, etc (Worldwide), BN.com (US), Alibris (US/UK), Bookdepository (Worldwide), BOL (DE, NL, BE), and many other bookstores worldwide. If it's not in stock at your favorite bookstore, ask the shopkeeper to order from Ingram (US), Bertrams (UK), or Gardners (UK).