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.

 

Banner

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.

Banner


The AWK Programming Language, 2nd Ed

Author: Alfred V. Aho, Brian W. Kernighan and Peter J. Weinberger
Publisher: Addison-Wesley
Pages: 240
ISBN: 978-0138269722
Print: 0138269726
Kindle: B0CCJ1N4X3
Audience: Developers interested in Awk
Rating: 5
Reviewer: Kay Ewbank

The name Brian Kernighan among the authors of this updated classic raises  [ ... ]



Seriously Good Software

Author: Marco Faella
Publisher: Manning
Date: March 2020
Pages: 328
ISBN: 978-1617296291
Print: 1617296295
Kindle: B09782DKN8
Audience: Relatively experienced Java programmers
Rating: 4.5
Reviewer: Mike James
Don't we all want to write seriously good software?


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 )