Understanding the Digital World
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, FacebookGoogle+ or Linkedin.


Test-Driving JavaScript Applications

Author: Dr. Venkat Subramaniam
Publisher: Pragmatic Bookshelf
Pages: 320
ISBN: 978-1680501742
Print: 1680501747
Kindle: B01MQGX4CA
Audience: JavaScript programmers
Rating: 4
Reviewer: Kay Ewbank

This is a book that looks at how to use automated testing to improve the quality of your code. 

Clojure Recipes

Author: Julian Gamble
Publisher: Addison-Wesley
Pages: 288
ISBN: 978-0321927736
Print: 0321927737
Audience: Clojure programmers
Rating: 4 
Reviewer: Alex Artmstrong

A cookbook for a difficult language like Clojure - can that work?

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 )

RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2018 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.