www.MarkDawson.org

Mark Dawson's place in cyber space

Home Software Fun Family About Contact
Booklist

Below are a list of all the books I have read recently. As with any review the opinions below are my own and will differ from other people, always make sure to collect a few points of view before making up your own mind :-)

 

Design Patterns Explained (Second Edition)

Alan Shalloway, James R. Trott
Addison Wesley

As you have probably guessed by the title, this book is about Software Design Patterns.  A good understanding of design patterns is a must for any Object Oriented Programmer, or student taking a Software Engineering Course :-). 

This book does an excellent job of not only explaining a number of design patterns, but also covering the whole philosophy behind design patterns and OOP.  The book has a good balance of theory and examples throughout.  A must for any self respecting programmer. 

9/10

Test Driven Development in Microsoft .Net

James W. Newkirk, Alexei A. Vorontsov
Microsoft Professional


Test driven development is the idea of using test cases as an aid to software design, rather than an afterthought after all the coding has been completed.  The basic idea is that by considering how to test your code from day one,  you design will improve and hopefully will be more testable.  I have seen many times how in a project testing is the last stage and is always short-changed in order to meet a deadline.  This is really a false saving as the time saved by cutting testing inevitably leads to more bugs, poorer code and lower productivity, which will cost you more time in the long run.

This book does a really good job of introducing the core concepts of TTD,  although mainly based around the .Net framework,  the ideas are easily portable to any language.  If you are interested in improving your code quality, this would be a really good place to start.

9/10

SVG Unleashed

Andrew Watt, Chris Lilley, Daniel J. Ayers, Randy George, Christian Wenz, Tobias Hauser, Kevin Lindsey, Niklas Gustavsson
Sams

SVG (Scalable Vector Graphics) is am XML based definition language for 2D graphics.  This book delves thoroughly into every nook and cranny or the W3C SVG spec (http://www.w3c.org/graphics/svg and also going into a couple of examples and use of JavaScript, I found it particularly useful for a project I was working on.

All of the writer I believe actively hang out at http://groups.yahoo.com/group/svg-developers plus some of them have detailed examples and SVG help at their websites (www.kevlindev.com is a really good place for an SVG newbie).

Overall not a bad book, if you are comfortable working from the SVG spec directly then this book probably does not offer you much, but for those who like to have a friendly layer written around it this is an excellent choice.

6/10

Mono – A Developers Notebook

Edd Dumbill, Niel M. Bornstein

O'Reilly

Mono is a project which aims to run Microsoft .Net framework on a Linux platform.  This book details how to setup a project using Mono and get your first C# programs running under Linux.

This book tries to be many things, as well as discussing Mono, the book tries to be a beginners guide to C#, XML, Web Services, GTK# etc.  For those of you looking for a detailed look under the Mono hood, this will not be for you.  If you are looking for a basic guide to getting started with Mono, then probably looking around the Mono website will provide just as much useful information as this book, without the beginners guide to programming thrown in.

5/10

Rapid Development

Steve McConnell

Microsoft Press

Steve McConnell (of Code Complete fame) write an excellent book which utilizes his many years of experience in the software industry.  The book is neatly seperated into meaningful chapters, covering every aspect of the software lifecycle process like Classic Mistakes, Lifecycle planning, Estimation, Motivation, Project Recovery and many more topics. 

It was pretty interesting that a couple of my colleagues and I were discusing problems and issues we were having with our project,  what had caused these issues and how we could solve them.  I picked up this book and found that it was talking about all of the things we had been talking about and much more, we were definitely not the first and will not be the last software project which has had problems.

I really recommend this book, it seems that in software development the same problems occur over and over again with so many projects.  This is a definite must read for anyone wanting to avoid the early pitfalls.  Manager will also definitely benefit from reading this book.

9.5/10

Building Embedded Linux Systems

Karim Yaghmour

O'Reilly

As the title suggests this book is about how to build an embedded system using the Linux operating system.  This book is very thorough and covers all aspects and issues of building an embedded system, with detailed explanations.

Obviously with Linux developing at such a rapid pace,  some of the code examples in this book are a little bit out of date,  but the theory is in place to help you get past any issues you have. 

I was just starting to look into Embedded Linux Systems when I picked up this book and it was an excellent read and got me pointed in the right direction, definitely recommended.

8/10

Embedded Linux – Hardware, Software, Interfacing

Craig Hollabaugh, Ph.D.

Addison Wesley

This book contrasts to the above book (Building Embedded Linux Systems) in that rather than explaining in detail all the possible choices and going into details behind all the philosophy of Embedded design, the author chose to take an example approach, the whole book is based around building an Embedded system for a Ski Resort.

The example is very thorough and well thought out (it may even be based on a real project) and really helps you connect together the ideas and practise.  Although in some places the author does get a bit carried away with writing large scripts with little explanation.  Some Linux knowledge will be beneficial before reading this book.

7/10

 free web counter
web counter