Full description not available
M**R
Comprehensive Coverage of Core .NET (Updated Review for the C# 6.0 Edition)
THE REVIEW FOR: C# 6.0 and the .NET 4.6 FrameworkI had a situation in which I needed to use the 4.6 version of the .NET Framework and thought it would be good to brush up on what had changed. Oddly enough, I had already read the previous version of this book when this edition came out a few months later. I like this book. I have read books on .NET since late 2000. Yes, going on 16 years reading books on .NET from the first beta to its current incarnation. I will admit it is exhausting sometimes reading the same things over and over again, but it is what we have to do make sure we are the newest version of a platform to good use.This book is longer, bigger, and more in-depth than the previous version. What that means is I was hoping to get this book, having read the previous version cover to cover, and simply pick out the differences and focus in on them. Since this is an almost entirely rewritten book, I had to read this one cover to cover as well. As a bigger and longer book (I didn't count the pages), it took longer than last time. Paragraph 2 of the Introduction in the book acknowledges the fact that the book now needs two authors in order to cover the growing API in .NET.This is an excellent book. This is not a book for experienced practitioners of .NET and C#. It is more of a thorough boot camp for those new to .NET or those who have been away from it for good while. Experienced practitioners will be better served by C# 6.0 in a Nutshell. My learning approach is different though and since I don't like to take revisions of a platform for granted. I often start my learning over from zero even with material I've applied for years. That allows me to understand specific changes in a platform in the broader context of that platform and evolve in a more streamlined way. This book accommodates that learning approach very well.The book is superb. You can use it like a reference. I did that at times and found that aspect of the book very helpful. The best benefit will be gained reading it from beginning to end.With this edition, you are exposed to many topics important in the contemporary use of .NET in the version 4.6 era. Some of that is going to change substantially with .NET Core, but until then, this book represents the gold standard in the description of the .NET platform. C# and .NET is a productive, and fast to code platform that is very useful in business IT as well as proven in web deployments such as StackOverflow. This book provides great detail in the many aspects of .NET you may find useful in business IT and other domains.One of the things I did not like about the book is the use of the word ... new. The word new was used several times to declare a given feature of .NET as new technology or a new feature altogether. Rarely, did adjective fit. After 16+ years of .NET, new is hardly a fitting adornment to several aspects of the platform. The use of the word new may be an oversight in carrying text forward from earlier editions.Given the direction of .NET, a few of the following chapters could easily disappear from the next edition: Chapters 16, 18, 22, 31 - 33. We will get to start again with a new edition probably. The book will be out of date in a few months and that is to be expected. Yet, the writing in this edition sets a good example concerning an extended description of C# and the .NET platform.THE REVIEW FOR: C# 5.0 and the .NET 4.5 Framework (My review of the previous version of the book)Other reviews say this is the best book on .NET and I do agree. My review is about my experience with the book which was quite favorable. It is a book designed to build greater competence with the .NET technologies.I wrote my first real C# application in late 2001. Used C# and .NET for over 13 years in a professional setting mostly with SQL Server. In the first years you learn and apply a technology, you easily recall all the written points of view about it. Eventually, you achieve unconscious competence where you can use the technology in a state of flow. Very little need to look up certain things. Concepts you previously had to visualize in an unambiguous way you now express at the level of instinct. Shortly thereafter, I think a condition develops called technical vocabulary rot. A condition in which you may not say words like encapsulation or describe the by the book flow between an OS, a run time engine, and a web framework but you build solutions at the level of deep understanding.Eventually, you have to communicate with others, share ideas, mentor new takers on to the current revision of the technology or interview for a position. It helps to have a guide to work through the finer points of description that had melted into the background. The .NET system has been around for a while and Andrew Troelsen's work here goes far to communicate the C#, most parts of .NET, and even application frameworks like WPF, WWF, ASP.NET and others in a way that is highly receptive to those with experience in these technologies. I will admit, I skipped over some chapters. When you have read 4 or 5 books on WPF, the same number for ADO.NET and dozens for ASP.NET, even when it was years ago, sometimes you don't have the heart to reread that material in-depth again. The vast majority of the book though is a thorough refresher for those who need to reacquaint themselves with the vocabulary, description, and rationale of many parts of .NET.Is this a book for beginners? I wanted to think so. I know there are books with the words beginner in the title. An appealing aspect of this book is that it is comprehensive and the language is clear. The book is very well written. The author clearly has experience either explaining things or explaining this topic. A beginner could approach this book but in most cases I can see failure. The book is easy enough for someone with experience in the topic to digest. In some cases, I had to constrain myself from skipping ahead since each chapter has a gradual structure. I would not recommend this book to beginners however, though there could be exceptions, as this book has more material than maybe is productive to absorb.A future edition of the book could be improved in a few ways. The easiest improvement would be in a slight adjustment to the language. There is an element of promoting or evangelizing the .NET technology. A book by the title, Introducing .NET or some current derivation does a great job of that but in a reference book, this kind of info could be consolidated into one chapter that summarized all the great points about the various technologies.Another area of improvement concerns current technical practice. The book went to great pains to explain the older ways of applying .NET and although some of us can appreciate it, that exposition adds unnecessary length. Rather than explain the asynchronous nature of delegate, then going through threads, and then use of the thread pool, it may have been more useful to look only at the most high level abstractions for asynchronous dispatch. The same could be said for removing the chapters on ADO.NET and just doing Entity Framework.It brings up a larger question. What is .NET in reality? Is it the core services, base class library, CTS and CLS? Does it include the application frameworks like those that come into and go out of wide acceptance like ASP.NET WebForms vs MVC? This book emphasizes WebForms which seems to have gone into disuse. A book like this could be extremely useful if it was far more focused on core .NET with expanded discussion of algorithms, design methods, and general coding practice. The application frameworks have dedicated books and like the application frameworks themselves, come into and go out of wide acceptance. A book structured along the lines suggested could remain more widely useful over a longer period.Despite what I present as detractors, I still fully recommend this book. I had it for a while but only recently got around to reading it. I read it mainly out of curiosity to see what I remembered and what I could still learn. I had published a series of web articles on how to do cross-platform ASP.NET using HttpHandlers and that had rekindled my interest in using the appropriate .NET vernacular. I was greatly pleased with the information and there is a certain perspective in the book that I think is a good thought process in action. Chapter 18 will be very useful if you go through it in a fully engaged way.Andrew Troelsen did a great job explaining the .NET system. His book has strong focus and solid explanations. The material flows very well.
J**Y
Broad coverage, nice flow, medium depth
I really like this book! Let me tell you why. It covers a broad scope of the subject of C# with .NET, going into medium depth, and flowing nicely from chapter to chapter. I discovered that it provides both the framework and material for a good self-study program. The author communicates very clearly and provides many example projects with enough detail to let you either use them as tutorials or just read through them.While I often just plunder through online and printed references looking for nuggets of information to solve specific technical problems, that is not how I used this book. Instead, I spent about 4 months working through the book from cover to cover, aiming for more breadth of knowledge on the subject.I bought the printed book, and then bought the eBook from the publisher for a small additional cost. Working through examples, the PDF version was great for reading on a second monitor, cutting and pasting the example code into Visual Studio. (The sample code is also provided as downloadable files.) The printed version was great for back-yard reading with a highlighter, pen, and beverage as supplemental equipment.The example code worked and the text was well-edited and accurate. A few typos in the final chapters caught my eye but were easy enough to read through. There was one important snag in the section on ADO.NET, where Microsoft has deleted the Database Diagrams feature that the author's example relies on to establish the relationships between database tables in a database that is used throughout the remainder of the book. Fortunately there are plenty of online references that will help you to work around this.This book is an excellent resource for experienced programmers who want to learn the breadth of contemporary C# and associated parts of the .NET framework. The depth of the coverage on each subject will take you to no more than a medium level of knowledge, so if you need to go deeper you'll want to find other resources. With about 1600 pages in the body of the book, it provides a nice balance of breadth and depth.
E**R
Better used as a doorstop
The more I read of this book the more problems I find. Firstly it seems like there is a hell of a lot of fluff designed to make it have an impressive doorstop heft that could easily be cut. Do I really need to know so much history about the problems that led to particular design choices in C#? Basically no, I'd rather get to the meat of the solution. Which brings me to another problem - you often find that the author walks through all kinds of circuitous permutations before arriving at a point of saying something along the lines of 'of course, C# has far easier ways to do that now. Here's how..'. Why not just tell me the easy way first and leave the rest as historical background?! I'm sure that for all of these I don't need to know x older ways of doing something that have now been superceded. At least tell me the newest, simplest way first and then leave me to read about the older, crumbier way if I choose.Worse than above is that there are mistakes - which in a coding book is pretty unforgiveable. I buy a book like this because I want to have a single comprehensive resource that is correct - and when that turns out not to be the case it means I can waste minutes thinking I am being thick when in fact there are mistakes that should never have got through to a published book. And so I go to look for errata on the Apress website - and there is none to be found!Also the coding samples are sometimes missing or don't match the book.I could go on but you get the picture. Crumby book I think.
D**R
Not an introductory book
I am reviewing the Kindle version. As a Kindle book it suffers from some formatting issues with the tables and diagrams. They are very small on the Kindle screen making it difficult to see. I have to review these on the PC (Kindle app) to read. That is the reason for 4 stars and not 5The book itself is very good, starts off with an overview of where C# fits in .NET and then proceeds to cover the elements of C# as a language and how the language elements fit into .NET. The style of writing keeps you interestedThe following sections then cover .NET in greater detail and how the individual classes can be used.The book is a very technical book and does not spend time on how to write loops or the benefits of object orientation. Instead it is a book on how to use the C# language in the .NET environment (which can include other operating systems)
K**S
Very well written even for C# juniors like me
Coming from Microsoft SQL 2012 books, where examples in the first chapters included complex code from say 10 chapters later and you couldn't understand anything, I find this book very very well written. It has a very relaxed tone, with small jokes, well constructed examples and of course very interesting contents.You can even download the exercises as Visual Studio solutions, from Apress website. Very cool!
D**R
Worth it at the time
This book was not at all what I expected or wanted to learn the language, but I learned enough from it to get a C# job so it must be doing something right!With the release of C# 6 and .NET 4.6 I would not recommend purchasing a now out-of-date textbook, though.
A**R
this is the best C# book I have ever read
Andrew, this is the best C# book I have ever read. I have gone through a number of books on C# and other programming languages, but none come this close to clarity of explanations, thorough coverage and a well organised approach and flow. I find as I read, many questions pop up in mind, and a few lines later, you answer them. Well done, this is a mark of a true professional.
Trustpilot
2 days ago
1 month ago