Essential C# 4.0
Author: Mark Michaelis

Publisher: Addison Wesley; 3rd ed, 2010
Pages: 984
ISBN: 978-0321694690
Aimed at: Intermediate level programmers
Rating: 5
Pros: An in-depth look at the C# language
Cons: Not for the complete beginner
Reviewed by: Ian Elliot

We start our Best Book's 2010 with Ian Elliot's choice of a C# 4.0 reference for developers who are already familiar with earlier versions of the language.

 

Author: Mark Michaelis
Publisher: Addison Wesley; 3rd ed, 2010
Pages: 984
ISBN: 978-0321694690
Aimed at: Intermediate level programmers
Rating: 5
Pros: An in-depth look at the C# language
Cons: Not for the complete beginner
Reviewed by: Ian Elliot

This is a really good book but you still need to be the right reader to appreciate it. It covers C# 4.0 in great depth but it uses a large font and lots of white space to make it all look approachable. The explanations are very clear and well paced but they do go into some technical detail that a beginner might find difficult.

Banner

The whole book reads like a cross between a reference work and an informal discussion of C#.The most important thing to realise is that while the descriptions are expressed in a clear style this is no dummies' book. What it describes can be quite technical and probably unsuitable for the complete beginner.

For example, right at the start it takes a look as the output of the compiler and discusses what is going on under the covers. A complete beginner would probably find this confusing and unnecessary. If you are slightly higher up the levels then the asides are great fun  - informative and they give you a glimpse of what is going on and make connections to higher concepts.

It starts from the very basics - a Hello world program - and works its way through the foundations of the language - data types, flow control,  methods, classes, Inheritance, Interfaces - and goes to more advanced topics such as delegates, the effect of LINQ on collection objects, reflection, PLINQ, multi-threading using the Task Parallel Library, interop and the CLI. 

Each chapter starts with a map that attempts to show you how the current topic interacts with others. For me this didn't work well but it might suit others and it doesn't take much space in a book that would otherwise be mostly devoid of illustrations!. 

Having said that this isn't a book for the complete beginner, it would make a good choice for any programmer making the transition from another language. There are even box-outs that compare C# to other languages to provide a contrast.

It is also important to know that it really is about C# and not about the very many associated .NET technologies. So while there is a chapter on LINQ, because this is rightly regarded as being a core C# language technology, there are no chapters on WPF, WF, WCF or even on the user interface in general. It certainly doesn't cover writing web-based applications using Silverlight or ASP .NET.

This is a book that focuses on the C# language and only strays from its core topic if it illuminates the way the language is used. This is as it should be unless you are mistakenly expecting a book on the whole of .NET. This is the one you buy to find out about C# and you will probably need to find another book to help you put this knowledge to work.

This is a very good book if you want an intermediate level almost reference work account of C#.

Highly recommended.

Banner


Deep Learning (No Starch Press)

Author: Andrew Glassner
Publisher: No Starch Press
Date: July 2021
Pages: 750
ISBN: 978-1718500723
Print: 1718500726
Kindle: ‎ B085BVWXNS
Audience: Developers interested in deep learning
Rating: Mike James
Reviewer: 5
A book on deep learning wtihout an equation in sight?



Classic Computer Science Problems in Python

Author: David Kopec
Publisher: Manning
Date: March 2019
Pages: 224
ISBN: 978-1617295980
Print: 1617295981
Kindle: ‎ ‎ B09782BT4Q
Level: Intermediate
Audience: Python developers
Category: Python
Rating: 4
Reviewer: Mike James
Classic algorithms in Python - the world's favourite language.


More Reviews

Last Updated ( Thursday, 23 December 2010 )