Software Mistakes and Tradeoffs (Manning)

Author: Tomasz Lelek and Jon Skeet
Publisher: Manning
Date: June 2022
Pages: 426
ISBN: 978-1617299209
Print: 1617299200
Audience: C# developers
Rating: 4
Reviewer: Mike James
We all make mistakes - do you want to read about them?

With Jon Skeet being one of the authors you would expect this book to be about C# and indeed it is. Some of the ideas translate well to other languages, but you do need to be able to read the examples if you want to get the point. This is not a methodology book as such. It isn't pushing a general approach to all things, but it is firmly object-oriented with a small concession to some functional programming.

Banner

The topics covered also have no particular adgenda. They ramble from idea to idea. There are 13 chapters which range from detailed code-level observations to some managment-type concerns:

  1. Introduction
  2. Code duplication is not always bad
  3. Exceptions v other patterns of handling
  4. Balancing flexibitity and complexity
  5. Premature optimization v optimizing the hot path
  6. Simplicity v cost of maintenance for you API
  7. Working effectively with date and time data
  8. Leveraging data locality and memory of you machines
  9. Third-party libraries.
  10. Consistency and atomicity in distributed systems
  11. Delivery semantics in distributed systems
  12. Managing versioning and compatibility
  13. Keeping up to data with trends v cost of mainenance.

 

softmist

On the whole I found the book easy to read and while there were parts that didn't really interest me because they were outside of my normal range of problems, it was all basically relevant. I found myself irritated by the way some aspects of a design were used in ways that didn't seem entirely natural to me. For example, the singleton pattern was used as an example of how code duplication is not always a bad thing, but to do this we had to move to a multiprocess environment where locking became essential. The issue presented was about how to generalize the singleton, whereas for me the issue is about asynchronous operation and locking. Yes, simple paradigms become more complicated when taken out of context.

Of all the chapters I have to say that Chapter 7 on dates and times was the most practically useful. I thought I'd solved my date and time problems by always using UTC  - it seems I haven't!

Verdict:

This is not an essential book. Most of the ideas you will have encountered elsewhere, assuming you read about programming, but it was quite fun. It is more a text to exercise your brain than train it into some straight-jacket methodology. If you have the time, program in C# and want to engage in a discussion of a very wide range of ideas then go for it.

 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

Banner


Introducing SQL Server 2019 (Packt)

Author: Kellyn Gorman et al
Publisher: Packt Publishing
Pages: 488
ISBN: 978-1838826215
Print: 1838826211
Kindle: B088BNMRQ4
Audience: SQL Server DBAs and Devs
Rating: 3
Reviewer: Ian Stirk

Each new version of SQL Server introduces new features and enhances others. This book aims to discuss some of these [ ... ]



The Programmer's Brain (Manning)

Author: Dr. Felienne Hermans
Publisher: Manning
Date: September 2021
Pages: 256
ISBN: 978-1617298677
Print: 1617298670
Kindle: B09CQHBVQZ
Rating: 4
Reviewer: Mike James
Programmers have a brain - but what is it doing?


More Reviews

Last Updated ( Saturday, 17 September 2022 )