Wednesday, 20 June 2012

Pro ASP .NET MVC3 Framework

Pro ASP .NET MVC3 Framework
By Adam Freeman and Steven Sanderson
Published by Apress
ISBN 978-1-4302-3404-3

ASP .NET MVC has been around since March 2009 when 1.0 was released, but it has only been very recently that there has been a significant take-up, with seemingly everybody wanting to get into using it.

This has naturally spurred a number of publishers into bringing out books on the subject, and I believe the best of these at the moment is this offering from Apress.

The principles of MVC are very straightforward, and support within Visual Studio is such that you can get useful functionality up and running very quickly while writing little or no code. Obviously, though, you are soon going to need to go far beyond what the the wizards can do for you, and to require a much deeper understanding of the technology. This book is an ideal companion for your journey into MVC, intially taking you through the basics and VS Wizards I mentioned above, and then going into more detail on topics such as routing, controllers and actions, views, AJAX and security.

MVC3 introduced Razor, a dialect of C# used within views to generate and format content, and this book also covers Razor in depth.

This is one of Apress's "Pro" branded books and therefore aimed at experienced developers looking to expand their expertise, but the style and content are by no means heavy-going so anybody within the book's target audience will find it brings them up to speed reasonably quickly and without too much hassle.

MVC4 RC was released on 31 May 2012, and the next edition of this book is flagged by Apress for release on October 14, 2012.

Tuesday, 19 June 2012

Cut the duplication

As I mentioned in the About section of this blog, I have about 6 feet of books on software development, probably something like 30,000 pages!

Obviously I haven't read every word of any of these books, and can often pick up the information I need by skimming chapters or just using the books for rererence. However, I often miss out complete chapters because they are on topics which are already covered in more detail in other books. For example, most books on ASP .NET will have one or more chapters on the C# language, SQL Server and database design etc. I often find that a third or even as much as a half of each book covers topic areas I already know about.

This adds to the size and cost of the book, and gives the reader more work just trying to pick out the bits they actually need. It really isn't sensible to try to pack into one book - even if it does have more than a thousand pages - everything people need to know to do a particular job.

So please, publishers, just keep your books focused, and if somebody needs to read up on another related technology they can buy another book. That way we, the readers, get smaller and cheaper books, and you, the publishers, will actually get to sell more books.

JavaScript The Definitive Guide

JavaScript The Definitive Guide
By David Flanagan
Published by O'Reilly
ISBN 978-0-596-80552-5

It is often claimed that JavaScript is the world's most widely used programming language, and over the past year or two there has been a massive increase in interest in the language. In particular, there has been a trend towards using JavaScript for uses far in advance of its traditional DOM manipulation, including some fairly heavyweight client-side business logic. Despite that, there has always been a dearth of good JavaScript books, but unfortunately plenty of bad ones.

For many years now David Flanagan's JavaScript - The Definitive Guide has been just that: the definitive guide. As is typical of O'Reilly, this book takes a somewhat more academic approach than other publishers, and the overall feel and content of the book will put off many, if not most, potential purchasers.

I would guess that most people wishing to learn JavaScript do not want, at least at first, to commit to learning the language to virtually guru level, but just want to supplement and extend their existing web development skills. If you are one of those people then this book is not for you, and in that respect this book can almost be considered specialist or even niche.

However, if you have significant experience in another language, particularly one of the "curly-bracket" languages, C/C++/Java/C#, and want to learn JavaScript to a high level then this book is ideal. It has four parts across nearly 1100 pages, although the last 400 or so pages are reference sections which are very useful but which you probably wouldn't read or work through. The main sections are Core JavaScript, covering the syntax of the language in great detail independently of any particular usage or implementation, and Client-Side JavaScript, describing in an equally detailed fashion the actual use of the language in web browsers.

No part of this book is exactly easy reading, and as I mentioned requires a significant amount of existing expertise, but if you are determined to put in the time and effort over a long period of time to become an expert JavaScript developer then this book has no equal, both as a tutorial and a reference, and you will find yourself using it on a daily basis for years to come.

Monday, 18 June 2012

Visual C# 2010 Recipes

Visual C# 2010 Recipes
By Allen Jones and Adam Freeman
Published by Apress
ISBN 978-1-4302-2525-6

A major problem with many of the more conventionally structured or academic IT books is that, even though they may provide thorough coverage of their topic area, they give little or no indication of how the skills they teach can be or should be used in real-world situations.

Perhaps recognising this, many publishers have in recent years brought out books of the "recipes" or "cookbook" style, with each section detailing a common problem and then providing the solution, with code samples and an explanation.

I have to admit to being a bit sceptical of this format at one time, but I now see they provide a good solution to the problem I highlighted in the first paragraph.

The book which is the subject of this review, Visual C# 2010 Recipes, A Problem-Solution Approach to give it its full title, is among the best-of-breed of this type of book, and is an ideal complement to one of the more conventional C# books such as Andrew Troelsen's Pro C# 2010 and the .NET 4 Platform.

The book has 17 chapters covering pretty much the entire spectrum of C# development, most interestingly and importantly some of the more advanced and tricky topic areas such as multithreading and parallel programming, interop, networking and reflection. These are all presented in an easy to use format - just read the Problem section (generally one or two sentences) to see where the topic is leading, read and run the simple but fully-functional and useful code samples, and then read through the How It Works section. You will then have picked up some useful and practical knowledge with the minimum of effort or frustration.

The authors have done an outstanding job of presenting some advanced and complex material in a straightforward and easily digestible way, and deserve a great deal of credit for achieving this near-impossible task. I hope to be reviewing more books by these writers in due course.

Sunday, 17 June 2012

Pro C# 2010 and the .NET 4 Platform

Pro C# 2010 and the .NET 4 Platform, 5th Edition
By Andrew Troelsen
Published by Apress
ISBN: 978-1-4302-2549-2

The first edition of this book was published way back in 2001, and its various editions have become pretty much the definitive guides for anybody seriously interested in learning C# to a professional level.

C# has, in recent years, come to dominate Windows programming, significantly eclipsing the formerly very popular VB, so if you are serious about getting into writing anything from class libraries, desktop or Silverlight apps or ASP .NET web sites, and you have some programming experience already (perhaps Java or VB) then this is the book for you, but it is definitely not a beginners book - if you have little or no programming knowledge you will soon become lost.

A big chunk of the book examines in great depth the minutiae of the C# language itself, and then goes on to describe the main parts of the .NET Framework, including the all-important ADO .NET used to interact with databases, file I/O and LINQ. The final eight chapters of the book are devoted to actually developing applications, specifically WPF desktop apps and ASP .NET web apps. Coverage of the obsolete WinForms technology has been dropped from the latest edition, and if you want to get into Silverlight the WPF chapters will give you a good grounding in XAML-based development.

This book prepares you for just about anything the world of Windows development is likely to throw at you, and if you then go on to study more specific topics such as Silverlight or WCF, these will seem almost trivial.

If you are prepared to make a serious long-term committment to C#, then this book is pretty much a must-have. I have had three editions of this book over the years and, although it is supplemented by many more, it is still the most important in my collection, and one I refer to almost daily. This is certainly in the "if you only buy one book on C#" category.