$ cat posts/recommended-reading-2014.md

Recommended reading

es Leer este post en español →

Table of contents

Several people have asked me, on different occasions, about books or readings to dig deeper into topics related to “the nature of software”.

My book includes an appendix with a list of recommended reading. Below I transcribe that chapter as a reading guide; I’ve added Amazon links where the books are available on that platform.

Recommended reading

Much of this book comes from my research over eight years of writing my blog. Each article was inspired by some piece of news I saw on the web, by some article I read in a specialized journal (like Communications of The ACM, or by some book I stumbled upon.

What follows are some readings that inspired, were a source of information for, or complement each of the parts that make up this volume.

Part one: Origins

James Gleick’s book “The Information: A History, a Theory, a Flood” contains many details on the origins of information theory and the development of computers. Much of the story of Babbage and Ada Lovelace comes from there. I came across the story of the Talking Drums in that book. It is one of the best books I know on the history of computing.

“Turing’s Cathedral: The Origins of the Digital Universe”, by George Dyson. The author is the son of Freeman Dyson, another great physicist and mathematician. As a child George Dyson got to know Von Neumann and several people who worked at the Institute for Advanced Study in Princeton. This book is a history of the development of the first computers in the United States, under the strong influence of John von Neumann.

“Alan Turing: The Enigma, The Centenary Edition”, by Andrew Hodges, the most complete biography of the great English mathematician. This book is the essential reference for learning about the fascinating life of this genius.

“Logicomix: An Epic Search of Truth”, a brilliant comic written by Apostolos Doxiadis and Christos Papadimitriou. This comic tells the story of the mathematicians of the early 20th century and their efforts to solve Hilbert’s program. Christos Papadimitriou is the coauthor of Bill Gates’s paper on pancake sorting.

“Surely You’re Joking, Mr. Feynman!” This autobiography of the great American physicist and Nobel laureate in Physics is not only funny but very revealing, full of anecdotes that take place during the development of the atomic bomb, in the famous Manhattan Project.

“The Code Book”, by Simon Singh, a history of cryptography, which describes the story of the Enigma machine and Turing’s work to break it.

“Memorandum For Members and Affiliates of the Intergalactic Computer Network”, the full text written by Licklider, is available online http://www.kurzweilai.net/memorandum-for-members-and-affiliates-of-the-intergalactic-computer-network.

Part two: Complexity

“Historia de las Matemáticas”, by E.T. Bell, an old volume from Fondo de Cultura Económica; I first read the stories of Archimedes, Euclid, and Mersenne in that book.

“Chaos: Making a New Science”, another book by James Gleick. A best seller that explains things like fractals, dynamical systems and, of course, complexity.

“Meta Math! The Quest for Omega”, by Gregory Chaitin, for anyone interested in going deeper into this mathematician’s ideas and his particular epistemological vision.

“The Annotated Turing: A guided Tour Through Alan Turing’s Historic Paper on Computability and the Turing Machine”, by Charles Petzold. This author became famous in the ’90s for writing books on programming for the Windows platform. In this book he explains Alan Turing’s original paper step by step, a titanic and remarkable piece of work, and well done in my opinion.

“Gödel’s Proof”, by Ernest Nagel, James R. Newman and Douglas Hofstadter, which tries to give an explanation in more accessible terms of Gödel’s work and his incompleteness theorems.

“Gödel, Escher, Bach: An Eternal Golden Braid”, by Douglas Hofstadter. One of the most beautiful books I have read on mathematics, music, art and artificial intelligence.

“The Emperor’s New Mind”, by Roger Penrose. Written as a reply to Hofstadter’s work, Penrose lays out many of the concepts of complexity, along with an introduction to the deep ideas of quantum mechanics, in order to answer whether it is possible to build an artificial intelligence.

Part three: Solutions

“Nine Algorithms That Changed the Future”, by John MacCormick and Chris Bishop, an excellent introduction to relevant algorithms that have shaped information technology.

“The Pathologies of Big Data”, Queue Magazine, available online http://queue.acm.org/detail.cfm?id=1563874 Almost everything presented on the problem of parallelizing comes from the original papers by Amdahl, Gustafson and Shi, which can be accessed in the archives of the journal Communications of the ACM.

The web page of Mark D. Hill, a researcher at the University of Wisconsin, has a lot of material on the problem of parallelizing: http://pages.cs.wisc.edu/~markhill/

Google’s Map Reduce algorithm is available on a dedicated page http://research.google.com/archive/mapreduce.html

My C++ program that computes the median of simulated census data is available on GitHub at the following address: https://github.com/lnds/La-Naturaleza-del-Software/blob/master/censo.cpp

I recommend reading and visiting the site of the journal Communications of The ACM: http://cacm.acm.org/, the source of inspiration for several articles.

“Programming Pearls”, by Jon Bentley, a book where you can learn a lot about how to solve problems in computing.

Part four: Method

The ideas of Alan Kay that appear in these articles come from the interview in Queue Magazine, “A Conversation with Alan Kay” http://queue.acm.org/detail.cfm?id=1039523

The book “Lean Architecture: for Agile Software Development”, by James Coplien, has changed my view of agile development.

“Peopleware”, by Tom DeMarco and Timothy Lister. A classic on managing IT teams, indispensable.

A London Business School study titled “Innovative Potential: Men and Women in Teams”. Available from the website: <http://www.london.edu/assets/documents/facultyandresearch Innovative/PotentialNOV_2007.pdf>

“The Mythical Man Month”, by Fred Brooks, a book that must not be forgotten. The second edition contains the famous essay “No Silver Bullets”.

“Hackers and Painters: Big Ideas from the Computer Age”, by Paul Graham, a selection of essays by this author, who has been another inspiration for writing this book.

“The Black Swan: Second Edition”, by Nicholas Taleb, a fundamental book for understanding randomness.

Comments

comments powered by Disqus