on June 4, 2010
As a speaker and a User Group leader, I often get asked "Where do I start learning .NET?". My answer is always "Start with the Troelsen book from Apress". This has been true for previous versions of the framework, and after reading the latest edition covering .NET 4, it still holds true.
Andrew takes you on the path that covers what the line of business software developer needs to know about the capabilities of .NET. The book begins with pertinent background information on the evolution of .NET, the Common Type System (CTS), the Common Language Runtime (CLR), and tools like ILDASM and Red-Gate's Reflector. Although not the most exiting reading if you are eager to start writing code, it is important for .NET developers to understand these concepts and tools.
Chapter 2 discusses the various tools (including Notepad++) that can be used to develop in C#. The majority of the readers will be using Visual Studio, but it's good to know (and call out) that you do not have to purchase anything to write C# applications!
Parts 2 and 3 take a deep dive into the C# language itself and along the way explains the pillars of Object Oriented Programming (OOP) and how to implement them in C# and .NET. This is extremely useful to the reader who does not have OOP experience, but is also useful to those coming from another OO language to learn the specifics in C#.
Andrew does a great job explaining the more advanced topics like Generics, Lambdas, Language Integrated Query (LINQ), Multi-Threading, and (recent additions to the framework) the Dynamic Language Runtime and Parallel Programming.
A chapter on Windows Workflow Foundation and Windows Communication Foundation provide a nice intro to those topics, three chapters on ADO.NET (including the new release of the Entity Framework), and whole sections devoted to Windows Presentation Foundation (used for Windows development) and ASP.NET (used web application development) are the core pieces required for standard line of business development.
I have two disappointments with the book, the first is that the ADO.NET chapters include samples for binding data to Windows Forms (WinForms) and not Windows Presentation Foundation. I firmly believe the future of Windows Client development is WPF (not WinForms), and Andrew echoes this by focusing on WPF in the rest of the text. In fact, WinForms is relegated to an Appendix.
My other disappointment is that the new ASP.NET MVC framework isn't discussed as an alternative to ASP.NET WebForms. There are plenty of books out there on MVC, but what I have really liked about these books is that they have presented all of the relevant options and left it up to the reader to decide which direction.
In summary, this book is massive (weighing in at over 1500 pages), and is still the single place to start learning .NET and C#. I have always used his books on the language to learn all the options available as a developer (and get a decent understanding of those topics), then picked up books that do a deep dive into the specifics (like Matthew McDonald's Pro WPF in C# 2010: Windows Presentation Foundation in .NET 4).
on June 2, 2010
Wow, this book is over 1500 pages and practically covers every possible topic that is covered in the online MSDN, but only 10x better.
There arent many books that can be the "only" .NET book in your library, except this one. Every existing and new topic that is in the newest version of .NET 4.0 is covered.
This 5th edition continues this trend and it is obvious that a huge amount of work went into keeping this book up to date. Where advances in the framework or language allow. Many aspects of the latest language editions are given enough coverage as to be useful without overbearing the overall time. In addition the author provides a good explanation as to the background for some of the new language features
Troelsen covers just about everything you'd want to see in a book of this type, going into as much detail as he can on just about everything (he does gloss over some of the deprecated features, so those maintaining or porting legacy software may want to keep a copy of one of the older editions on hand as well). His chapters on the newer technologies to be found in .NET 4.0, such as Windows Presentation Foundation and Windows Communication Foundation, are especially impressive (and welcome), and are worth the price of admission alone.
I guarantee that if you read this book all the way through and take your time to understand its content (which is totally painless) you will have a quality foundation. It's true you can buy other books with more indepth content but these books will simply be more specialized and so cover a narrower subject framework.
The author gives a presentation of C# and then moves on to describing the features of the .NET framework from ADO.NET to ASP.NET.
ASP.NET and ADO.NET are given several strong chapters (including an excellent introduction to LINQ), and WCF and WF each get a good introductory chapter; WPF gets good (but admittedly not-comprehensive) coverage starting at XAML, proceeding to working with WPF Controls and ending at 2D graphics, resources and themes. Of course, Pro C# 2010 really shines in presenting the new C# .NET 4.0 additions, why they are there, and when to use them.
This is as close to a "bible" version of .NET as you can get. Buy it and you wont be dissapointed.
on December 14, 2010
Book review - "Pro C# 2010 and the .NET 4 Platform", by Andrew Troelsen ISBN: 978-1-4302-2549-2 - Published 2010 by Apress
Hello, this is my book review for "Pro C# 2010 and the .NET 4 Platform.
Over the years, I have programmed in a wide variety of languages including C, C++,C#, VB.NET, Visual Basic, Java, Cobol, Pascal, Assembler etc.. For those of us programmers who use Microsoft .NET framework, it has been increasingly apparent to me that C# is positioned to be the dominant language in the .NET framework, at least for the foreseeable future. With that in mind, I think C# is the way to go at this point of time, if you program with Microsoft .NET framework technologies. This is readily apparent because most of the latest documentation and samples I have seen are written in C#, In some cases, you will see both languages (C# and VB.NET) with samples provided, but if only one language sample is provided, usually it is in C#.
I have always believed that computer programming is not "memorizing language syntax", because new languages and compilers are always on the horizon. It is more important to understand computer programming principles like object oriented programming and design, how variable scoping works, deployment issues etc., how to effectively analyze, test and debug solutions to given problems, algorithms etc... In general, knowing all the features of a given framework (whether it be .net framework, PHP or java based or what have you) is most important, because then you know about the feature and can implement a solution to solve your problem).
That being said, it is always important to read programming language documentation so you can get a solid understanding of the available features of a given language. This is where a book like "Pro C# 2010 and the .NET 4 platform" becomes invaluable.
This book is jam-packed full of information and totals about 1,700 pages!
The 1st part of the book deals with specific details about C# and shows concise, to the point examples of what the author is describing in the C# programming language. From the basics such as data types, variable scoping, iterators, language syntax, methods, constructors, the use of the static keyword to object oriented concepts (inheritance, polymorphism, encapsulation). C# topics related to the .net framework such as garbage collection, exception handling, interfaces, generics, delegates, lambda expressions, events, anonymous methods,operator overloading are covered later on in the book as well. There are well over 500 pages that go into great detail about the programming language features built into C#. After that nice detailed look at the C# programming language, we get into more .net specific ideas that are necessary for the programmer to effectively make use of C# along with .NET FRAMEWORK version 4.0.
Concepts like .net assemblies (compiled units of work, similar in concept to a DLL, but with some major differences) and more advanced topics related to .net assemblies are detailed in its own chapter.
Reflection is covered also, which is a way of determining the attributes (including method names etc.) of your programming code at runtime.
.NET framework concepts such as the CLR (common language runtime, threading, parallel programming, asynchronous calls) are also covered in a nice level of detail.
Later sections of the book go into more specific ways of how to solve common programming problems with the C# language. For example, how to deal with I/O (streams, serialization) , how to connect to databases with ADO.NET, using newer technologies such as LINQ (language integrated query, a way of querying collections of data in a standard language constructs).
It then goes on to deal with WCF (soa architecture concepts), WF (windows workflow foundation), WPF (rich user desktop interfaces (check out the Zune software, which is WPF)).
Later chapters deal with the venerable ASP.NET platform, which is widely used for building websites such as e-commerce sites or business websites.
CONCLUSION: I do like this book immensely, it is a great addition to any programmers library, what I most like about the book is its treatment of the C# language itself, which is mostly what I was after in this book, I wanted to read more about all the nuts and bolts of the C# language, which evolves as each new version of the .net framework is released to production. While I have studied many C# programming books in the past, this is the first one I have gotten that deals with the new .net framework 4.0 (released around June 2010 timeframe). This could easily be a textbook in a C#/object oriented programming class, which is a compliment to its versatility and level of detail. No book can cover all the topics completely, for example, while the coverage of asp.net is quite extensive, I have read asp.net books that cover well into 1,000 pages alone. It does a good job like I said with those wanting to just become more proficient at learning the C# programming language in general.
One notable omission is the lack of much content about Silverlight, which is related to WPF, but more targeted to web based interfaces. I thought, why all this stuff about WPF, without hardly any content about Silverlight? However, with the book 1,700 pages + long, I can certainly understand that not everything under the sun is covered. Really, the title of the book is "Pro C# 2010 and the .NET 4 Platform" and it does cover just about everything about C# and using .NET FRAMEWORK 4.0, that an advanced programmer would need to know.
I do recommend this book and respect the enormous amount of work and time that the author put into creating it.
on June 27, 2010
This is an excellent book to use to learn all the features of C# 4.0. Beginners will find easy to understand descriptions of various topics and more experienced readers can use at as an excellent reference. Even advanced programmers have a lot to learn because of all the new .NET 4.0 and C# 4.0 features.
The book starts out by explaining the philosophy of .NET and how it is structured. Then it gives a brief overview of how to use Visual Studio 2010 and some of the new features of the IDE. It then covers an introduction to C# including types and programming constructs, exception handling, object oriented programming, generics and the lifetime of a .NET object. Next there are a few chapters which cover some of the advanced features of C# such as anonymous types, extension methods, pointer types, LINQ, lambdas, reflection, and also working with assemblies, processes and app domains. There is also an entire chapter on the new dynamic language runtime feature of .NET 4 which allows developers to easily call out to code written in dynamic languages on the .NET platform and also COM interop code.
A very important section is the introduction to Task Parallel Library (TPL) and multithreaded programming. TPL is a very good library which abstracts away a lot of the complexity of building multithreaded programs and makes a developers' job a lot easier. As hardware manufacturers add more and more cores to the processor, the only way to speed up your programs is to make them multithreaded.
This book contains three chapters on ADO.NET including how to connect to databases, querying databases and also working with the Entity framework. Another important and useful chapter is on the Windows Communication Foundation, which is used for building connected and service oriented applications.
There are also two parts on building user facing applications. One covers WPF (five chapters) and desktop development and another covers building web sites with ASP.NET. I've personally been using WPF for over a year and I think it is far superior to Windows Forms. WPF is growing in popularity and even the Windows Forms topic has been pushed into the appendix in this book.
What I really like about this book is that it covers pretty much every topic on .NET 4 and you can find any tool you need to build your applications. Therefore it makes an excellent reference book for when you need to lookup how to use some specific API. The only downside is that it can't cover everything in depth, but you can always find resources for some particular API.
on May 9, 2011
Andrew Troelson is a great and knowledgeable writer, and when learning c# 2.0, I made more use of his first edition based on the .net beta edition than the other more up to date books that I had. For better or worse, C# 4.0 is a huge language to learn. Personally, I prefer a more hands on approach to learning a language, with interesting and useful examples (Remember Coriolis Books?). Most of the ideas here are conveyed using console apps, which eventually bore you during a 1500 page reading. His depth insights into the workings of C# are definitely better than most authors, and as a reference book it's excellent. If you want to learn C# 4.0 from scratch though, you will have to supply yourself with your own examples to make what you learn "stick" with you. I originally gave this book only 4 stars, due to the lack of good "hands on" examples. I am rereading the book now (Yes it is that good.), and have come to the conclusion that it is indeed a masterpiece. His explanations are excellent, even quotable. .Net is so huge a subject that it would be impossible in one book to give such rich explanation *and* include rigorous program examples. I recommend buying a companion book that concentrates on practical solutions. I'd *definitely* recommend "Ben Watson's C# 4.0 How-To" to put you in the fast lane, or perhaps "Visual C# 2010 Recipes", also quite good, with more examples.
on September 8, 2011
This review applies only to the Kindle version. If you are going to read this book like you would a novel and never use it as a reference, then you may be happy with the Kindle version. If you purchase this as a reference book, it is totally unusable. First and most importantly, the index does not provide any means of navigating to the indexed item. You could try to use the search feature, but then you'll get a lot of hits and usually not what you're looking for. In addition, the code snippets in the text are unreadable because of size even though the book text is fine. I couldn't find a way to increase the size of the snippet. I'm using the Kindle for PC 2.
This is a review for the Pro C# 2010 and the .NET 4 Platform, Fifth Edition by
Andrew W. Troelsen.
I did an extensive research before choosing this book, online in Amazon and physically at several bookstores. I also considered Wrox's Professional C# 4 and .NET 4, Wrox's Beginning Visual C# 2010, Murach's C# 2010, Microsoft's Visual C# 2010 Step by Step, and Deitel's C# 2010 for Programmers. While choosing a book really depends on each individual preference and learning style, I found that this particular book was better organized than the rest. The author guides you through a solid foundation of the core language before throwing the advanced topics such as delegates, interfaces, events, extension methods, lambdas and generics among many others. I noticed in the other books that these advanced topics were either thrown in too early or they were interspersed everywhere, making it more difficult -in my opinion- to really grasp the relevant core knowledge.
I consider myself a hobbyist and not a professional developer, and while the Pro title suggests that it's geared toward a professional audience, I found out that people like me can also take full advantage of the content of this book. It just requires more attention and trying not to skip the core C# material in the first two parts of this book. Having some programming experience does help, but the most important requirement is the desire to get under the hood of the .NET architecture using C# language as the tool.
I compare Andrew Troelsens's writing style to Stephen Prata's, the author of the exceptional C++ Primer Plus, in that he likes to go beyond explaining the obvious, bringing additional alternatives and ideas on the language use.
By the end of chapter 8 (out of the 34), I felt confident enough to start looking into other topics outside the scope of the book, such as XNA development, which really was what brought me to learn C# in the first place. Not that I put this book aside completely, but it was being used more as a reference. As a hobbyist, I can probably take some liberties in my language learning that maybe a professional developer can not, so I'm not necessarily suggesting anyone to follow what I did.
Pro C# 2010 and the .NET 4 Platform gives a very thorough treatment of the C# language and the .NET 4 framework. I highly recommend it as an essential part of your programming library.
For an additional fee and proof of purchase (in the form of an answer to random question about the hard copy book), you can obtain the PDF version at the Apress web site. You don't have to buy the hard copy book exclusively from Apress in order to take advantage of this physically relieving offer.
on November 23, 2011
This is by far the best of six five-star rated C# books and three more on .NET & VisualStudio that I've found.
It has a great index (though there are entries for mere mentions of a term in example code).
I've used it to research many fine points and found it to be VERY complete. It is massive, but I've found pages of information on topics that aren't even mentioned, or receive only few words of passing attention, in the other books.
It is organized into significant tutorial sections, but the text, examples, and index (Did I mention that it has a GREAT index?) make it excellent as a reference book, as well.
This is a massive 700-page book. Although a new programmer would find this useful, it's sheer size would likely be intimidating and one wouldn't likely proceed sequentially through it in tutorial-fashion more than a hundred pages or so. However, for almost any topic that is new to you, turn to the appropriate section and you will find a great tutorial with lots of examples and side-notes. The examples are short and to the point -- it's not filled with pages of code listings as many books are.
My background is over 45 years of professional embedded and distributed software development in almost as many languages (including 20 years with Smalltalk, C++, Java, and Python), but only three months in C#, .NET, and VisualStudio. This book has been a welcome addition to my library, and is usually right at my elbow.
on September 12, 2011
As many reviewers have commented, Pro C# 2010 and the .NET4 Platform is one of the best books to get you started on the .NET 4 platform. At over 1500 pages, this book is massive but very educational and well worth the money. The authors' writing style is easy to read and the code examples provided really helped.
The book is separated into 7 parts that increase in depth and detail.
If you are totally new to .NET, I would recommend you start on Part 1. It first goes over what the book calls, "The Philosophy of .Net." It follows with Chapter2, which covers building in the IDE. In other words, it lays the groundwork that is needed for the remaining chapters to expound on.
Part 2 goes over type conversions, equality operators, arrays, enums, structure, encapsulation, inheritance, polymorphism and almost ends with Chapter 7 on exception handling. Before part 2 ends, the authors' throw in Chapter 8, which covers the Object lifetime cycle.
In part 3, which is comprised of Chapters 9 - 13, the authors explain interfaces and its uses, generics, overloading, and linq to objects.
I skipped part 4 as it was a little too deep for me, but I ended up part 6, "Building Desktop User Interfaces with WPF." I ended here because I am working on a project that uses WPF and this book helped me advance in the project.
Typically, I am weary about thick and heavy books as they usually contain a lot of what I call "wasted words" material. However, this book really was the opposite. It really delivered.
on September 13, 2011
I haven't read but about 6 percent of the book but the comment that source code can be hard to read is true although I didn't pay that much attention to it because you can download it from the website. However, very often the resolution on illustrations truly sucks in the Kindle format and the notion that a picture is worth a 1000 words is under greatly under duress in the Kindle format. I suspect it might be worth more like a thousand questions. I think if you get anything from illustrations you might prefer the hard copy. I'll try to upload a copy of one of the images so you can see or in fact not see the problem.