C# 6 for Programmers

Authors: Paul and Harvey Deitel
Publisher: Prentice Hall
Pages: 400

ISBN: 978-0134596327
Print: 0134596323
Kindle: B01KI6RG20
Audience: Intermediate programmers
Rating: 3
Reviewer: Ian Elliot
C# is undergoing a revival since going open source. Now is a good time to learn it.

The title C# 6 for Programmers suggests that it is going to be an advanced book. It isn't particularly advanced and starts off fairly slowly. It isn't quite suitable for the beginner because it doesn't tell you about the fundamental ideas of programming, but isn't really a book designed to get you up to speed as quickly as possible. It is the sixth edition of the book with a new edition appearing each time C# has been upgraded. It more or less deals with C# in its classic .NET environment and doesn't cover newer applications such as Universal Windows Apps or .NET Core. More surprisingly it doesn't even cover WPF. This is C# used as it was when it was first introduced. 

Banner

The book starts of with a look at .NET and object oriented programming in general. There is no mention of the open source aspects of C# 6 or any of the more recent developments. Chapter 2 explains how to use Visual Studio 2015 Community edition. It has lots of screen dumps and explains a great deal that should be obvious to any programmer. 

The book really only gets going in Chapter 3 where a simple console program prints some lines of text. Again there is a lot of attention to using Visual Studio, but most of it is fairly obvious. At the end of the chapter there is a program that adds two numbers together. 

From here we move though the standard material needed to use C# fairly quickly. Chapter 4 introduces Classes, Objects, Methods and Strings. There is a needless complication of explaining UML class diagrams - this suggests that the book is aimed at the educational market. 

Chapters 5 and 6 are about control statements and here we meet every control statement that C# offers in their entirety. Mixed in with this is some consideration of types, operator precedence and of course UML. Chapter 7 explains methods in more details - static methods and different type of parameters and overloading. Also included in the chapter are the idea of local variables and stack frames and recursion. 

 

 

Chapter 8 marks the start of the look at topics that are mostly outside of the basic language and are part of the .NET framework. It covers Arrays and also shows you have to draw a bar chart and shuffle cards - not things that go naturally together. On the way we find out about exception handling, and again arrays and exception handling are not obviously connected. Chapter 9 is about LINQ which is a very peripheral topic from the point of view of C# and may very well be on its way out. 

Chapter 10 brings us back to more core topics with a deeper look at classes and objects. The object theme continues in the next two chapters - Inheritance and Polymorphism. This is an example based explanation of the basic ideas. 

After three chapters on object oriented programming the subject returns to exception handling in Chapter 13, where we find out about the ? operator in C# 6, which can avoid you throwing an exception by dereferencing a null reference. 

In Chapters 14 and 15 we have a very basic look at using Windows Forms. It explains how to use the designer and handle events and then goes through all of the controls that are available. 

Chapter 16 moves back to strings and looks at some String handling methods and the difference between a String and a StringBuilder. Chapter 17 is on files and streams, 18 is about Generics and 19 and 20 return to LINQ and PLINQ and functional programming. The final chapter explains asynchronous programming and the use of async and await. 

The big problem with this book is that it is a 6th edition and it needs a complete overhaul. To have two chapters on Windows Forms and none on WUA or WPF  is strange. The world of C# has been turned on its head recently and this book just carries on as if .NET and Windows Forms were cutting edge. Of course, if this is what you want to know about then it is a strong point and not a weakness. I also have to say that despite the use of a formulaic approach to explaining C# 6 there are some useful asides that point out how you can go wrong. My main complaint, however, is that the book lacks a good organization with topics introduced in a strange order and with topics mixed together in overlong chapters. However, many readers will find this a useful reference and if you like Deitel books in general you will like this one. 

 

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.

For more C# books see C# Books - Pick of the Shelf 

 

Banner
 


Social eCommerce

Author: Stephan Spencer, Jimmy Harding & Jennifer Sheahan
Publisher: O'Reilly
Pages: 310
ISBN: 978-1449366360
Print:1449366368
Kindle: B00MC03B0W
Audience: Online marketeers
Rating: 5
Reviewer: Kay Ewbank

This isn't a book on programming; it's about using social media as part of your business strateg [ ... ]



Android Concurrency

Author: G. Blake Meike
Publisher: Addison Wesley
Pages: 224
ISBN: 978-0134177434
Print: 0134177436
Kindle: B01H916FOC
Audience: Android developers ready for a "deep dive"
Rating: 4
Reviewer: Mike James

Concurrency is the biggest barrier to implementing a stable Android progr [ ... ]


More Reviews

Last Updated ( Saturday, 03 December 2016 )