|Software Mistakes and Tradeoffs (Manning)|
Author: Tomasz Lelek and Jon Skeet
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.
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:
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!
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.
|Last Updated ( Saturday, 17 September 2022 )|