Understanding the Digital World

Author: Brian W. Kernighan
Publisher: Princeton University Press
Date: February 2017
Pages: 256
ISBN: 978-0691176543
Print: 069117654X
Kindle: B01M3XBS46
Audience: Non programmers
Rating: 5
Reviewer: Kay Ewbank

This is an interesting book looking behind the scenes at hardware, software, and communications and their place in the everyday world.

While this isn't a book aimed at developers, most will instantly recognize the author's name - he is the K in the classic K&R book on  C. This book is written in a very different style in order to be accessible to wide audience - the book originated to complement a course called "Computers in our World" that Kernighan has been giving for the Department of Computer Science at Princeton University since 1999. It is obviously intended to provide a thorough grounding in computers. The thinking is that it would be good if people (non-computer people) had a better understanding of computers. While it's not a book specifically for developers, there will probably be areas covered in the book that you'll not have learned about unless you did an old-style computer science degree.



The first part of the book looks at hardware, starting from an examination of what's in a computer from its logical construction through aspects such as CPU, RAM, and disks.

There's a chapter on bits and bytes and representing information; and a good chapter titled 'Inside the CPU' that explains how a CPU works by describing an imaginary 'toy' computer that can carry out about ten instructions. As Brian Kernighan points out, his 'toy' computer is about the level of minicomputers of the late 1960s.



The second section of the book covers software, starting with a chapter on algorithms that looks at classics such as binary search and sorting. There's a chapter on programming languages, and a nice description of softwar systems loking mainly at operating systems. The software section ends with a chapter on learning to program.

The third part of the book covers communications, starting with networks - both computer networks, wireless and cell phone networks. There are good explanations of concepts such as bandwidth and compression. A chapter on the Internet does a good job of giving the subject perspective, and explaining the history and the protocols it uses. The World Wide Web gets a separate chapter with a focus on topics such as active contents and security.

Data and information, particularly with relevance to ideas such as search, tracking, and social networks comes next, and the book ends with a chapter on privacy and security.

I enjoyed this book, even though the topics were familiar. I know plenty of computer users who would definitely benefit from gaining the perspective it provides. The fact that it is written by someone who actually knows what he's talking about shines through.

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Coding All-In-One For Dummies

Author: Chris Minnick
Publisher: For Dummies
Pages: 912
ISBN: 978-1119889564
Print: 1119889561
Kindle: B0B5BBNW9L
Audience: People wanting to learn to code in JavaScript, Flutter and Python
Rating: 3.5
Reviewer: Kay Ewbank

This book is described as offering an ideal starting place for learning th [ ... ]

Data Structures & Algorithms in Python

Author: Dr. John Canning, Alan Broder and Robert Lafore
Publisher: Addison-Wesley
Date: October 2022
Pages: 928
Print: 013485568X
Kindle: B0B1WJF1K9
Audience: Python developers
Rating: 4
Reviewer: Mike James
Data structures in Python - a good idea!

More Reviews

Related Reviews

Digitized: The Science of Computers and How It Shapes Our World

On the Way to the Web: The Secret History of the Internet and its Founders

The Digital Revolution

Nine Algorithms That Changed the Future


Last Updated ( Saturday, 19 August 2017 )