<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx</link><description>Resources The O&amp;#39;Reilly page (errata etc) Jesse Liberty&amp;#39;s page for his various books Buy it from Amazon or Barnes and Noble Disclaimer One reader commented that a previous book review was too full of &amp;quot;this is only my personal opinion&amp;quot;</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1675369</link><pubDate>Tue, 03 Mar 2009 14:56:35 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1675369</guid><dc:creator>Viktor</dc:creator><description>&lt;p&gt;I have read previous edition for C# 2.0 and found it inaccurate. &amp;nbsp;I sent my opinion to Jessy. He never responded and did not make errata changes.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1675369" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1651848</link><pubDate>Fri, 24 Oct 2008 08:13:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1651848</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;@Kevdez: Thanks will take a look. Can&amp;#39;t say I like the font they&amp;#39;ve used for headings etc, but I won&amp;#39;t let that put me off too much :)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1651848" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1651655</link><pubDate>Wed, 22 Oct 2008 18:56:05 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1651655</guid><dc:creator>David Nelson</dc:creator><description>&lt;p&gt;@Vladimir,&lt;/p&gt;
&lt;p&gt;The point is that expressions are not limited to statements. A statement is a syntactic element that has to be able to stand on its own. A program is a sequence of statements. &amp;quot;x = a + b&amp;quot; is a statement and (in C#) an expression (which evaluates to the final value of &amp;quot;x&amp;quot;), while &amp;quot;a + b&amp;quot; is an expression but not a statement. So to define expressions as &amp;quot;statements that evaluate to a value&amp;quot; is to make the definition too narrow.&lt;/p&gt;
&lt;p&gt;This goes back to the author&amp;#39;s apparent lack of concern for accuracy when using standard terminology. He is apparently using &amp;quot;statement&amp;quot; to mean &amp;quot;any part of the code&amp;quot;, but that is not what &amp;quot;statement&amp;quot; means.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1651655" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1651467</link><pubDate>Tue, 21 Oct 2008 05:27:20 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1651467</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;@Vladimir: I don&amp;#39;t think I&amp;#39;d like to try to define an expression in just a few words, really, but possibly something along the lines of &amp;quot;anything in your code which can be evaluated&amp;quot;. So in &amp;quot;Console.WriteLine(x + y);&amp;quot; the whole statement (minus the semicolon) is an expression, as is x, as is y, as is x + y.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1651467" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1651465</link><pubDate>Tue, 21 Oct 2008 05:07:11 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1651465</guid><dc:creator>Vladimir Kelman</dc:creator><description>&lt;p&gt;As a programmer who had some limited previous C++ experience and was always interested in OOP concepts, I can confirm, that a combination of &amp;quot;Accelerated C# 2008&amp;quot; (as a main guide) and &amp;quot;C# 3.0 in a Nutshell&amp;quot; (as a reference) is really good. Both books are also extremely interesting.&lt;/p&gt;
&lt;p&gt;Jon, you didn&amp;#39;t like &amp;quot;statements that evaluate to a value are called expressions&amp;quot;. How would you define an expression? In functional programming books they tend to imply that an expression is something which can be evaluated and returns a value when evaluated. Functional languages define a special empty value which is of a special type (like &amp;quot;()&amp;quot; value of type unit in F#).&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1651465" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1651847</link><pubDate>Tue, 14 Oct 2008 12:25:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1651847</guid><dc:creator>kevdez</dc:creator><description>&lt;p&gt;Hi Jon&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s another C# book you may care to take a look at and if possible, review.&lt;/p&gt;
&lt;p&gt;C# for artists. &lt;/p&gt;
&lt;p&gt;Pulp free press.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.pulpfreepress.com/content/Products/Books/CSharp_For_Artists/1-932504-07-9.shtml"&gt;www.pulpfreepress.com/.../1-932504-07-9.shtml&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1651847" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1650106</link><pubDate>Wed, 08 Oct 2008 13:30:47 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1650106</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;@Rune: I don&amp;#39;t yet have much of a recommendation for a &amp;quot;complete newbie&amp;quot; programmer, although I will let slip that I have been talking to a few people about the possibility of writing such a book.&lt;/p&gt;
&lt;p&gt;For a programmer who knows Java or C++ but doesn&amp;#39;t know any C#, either &amp;quot;C# 3.0 in a Nutshell&amp;quot; or &amp;quot;Accelerated C# 2008&amp;quot; would be a reasonable starting point. I have &amp;quot;Essential C# 3.0&amp;quot; as well, but I haven&amp;#39;t read it yet.&lt;/p&gt;
&lt;p&gt;One problem is that I think that C# is too big a language to learn from scratch to 3.0 in one book. I suspect it would probably take a year of reading and practising - and I for one don&amp;#39;t like the idea of taking a whole year to read one book!&lt;/p&gt;
&lt;p&gt;On the other hand, a lot of books which don&amp;#39;t cover the language thoroughly don&amp;#39;t say what they&amp;#39;re leaving out. I hope that if I were ever to write a &amp;quot;beginners&amp;quot; C# book, I would leave appropriate bits out but indicate what&amp;#39;s left to investigate, preferably with links to MSDN etc.&lt;/p&gt;
&lt;p&gt;(I thoroughly agree with your suggestion that newbies would get nothing out of C# in Depth, btw.)&lt;/p&gt;
&lt;p&gt;Jon&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1650106" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1650105</link><pubDate>Wed, 08 Oct 2008 13:11:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1650105</guid><dc:creator>Rune Jacobsen</dc:creator><description>&lt;p&gt;Hi Jon,&lt;/p&gt;
&lt;p&gt;Thanks for another detailed and great review. &lt;/p&gt;
&lt;p&gt;Your review and the followup dialogue in the comments between yourself and Paul Batum raises an interesting (to me) question; It&amp;#39;s quite clear that someone new to C# (or even worse, new to programming) would probably have a hard time starting with &amp;quot;C# in Depth&amp;quot;. After a few years of playing with C# (coming from basic, then assembler, then Pascal, then C and PHP before finally giving in and going OO), I felt that C# in Depth had a lot to offer me; And it probably will the next few times I read it, i.e. it&amp;#39;s one of those books that reflect your own perspective so that the more you bring into it, the more you get out of it. However, I can see that a complete language n00b would die before getting through the first few pages; &lt;/p&gt;
&lt;p&gt;What would your recommendation be for the book (whether this is a book that already exists, or your opinions on what the book would need to be like) a new C# programmer needs to read before C# in Depth if (s)he is new to &lt;/p&gt;
&lt;p&gt;a) programming in general&lt;/p&gt;
&lt;p&gt;b) C#&lt;/p&gt;
&lt;p&gt;I realize this would not be a review as such, but it would be interesting to see your thoughts about this subject as someone who clearly knows his stuff and has a scary attention to detail.. ;)&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1650105" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1649209</link><pubDate>Mon, 29 Sep 2008 22:48:46 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649209</guid><dc:creator>Paul Batum</dc:creator><description>&lt;p&gt;Thanks for taking the time to provide such a thorough answer Jon. I&amp;#39;m especially looking forward to the next review.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649209" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1649161</link><pubDate>Mon, 29 Sep 2008 14:42:30 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649161</guid><dc:creator>David Nelson</dc:creator><description>&lt;p&gt;Calling value types &amp;quot;objects&amp;quot; doesn&amp;#39;t really bother me; its really hard to make a definitive case either way. Saying &amp;quot;it&amp;#39;s an object when it&amp;#39;s boxed&amp;quot; is true only if you equate &amp;quot;object&amp;quot; with &amp;quot;heap reference&amp;quot;, which doesn&amp;#39;t necessarily have to be true (although if you have a variable of type object it is always a heap reference, which I guess is why we tend to equate the two). However, I can see where it could further confuse the issue for someone who does not already have a firm grasp of the memory model for value and reference types.&lt;/p&gt;
&lt;p&gt;The other inaccuracies are inexcusable though. I am in absolute agreement with you: using incorrect terminology because you think that &amp;quot;most real-world programmers&amp;quot; can&amp;#39;t tell the difference is exactly why we have so many &amp;quot;real-world programmers&amp;quot; who can&amp;#39;t tell the difference! Its like teaching ebonics to grade school students who are already having trouble with English; we should be teaching them the right way, not giving up on them and accepting the wrong way.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649161" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1649136</link><pubDate>Mon, 29 Sep 2008 09:19:59 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649136</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;@Paul: Good question, and one I certainly haven&amp;#39;t answered before.&lt;/p&gt;
&lt;p&gt;1) I like to provide information for people, particularly where I feel I&amp;#39;m in some ways &amp;quot;better qualified&amp;quot; to provide that information. As I&amp;#39;ve said before, there are different ways in which a reviewer can be &amp;quot;the right person for the job&amp;quot; - I can&amp;#39;t really approach a C# book from the perspective of &amp;quot;How effectively did the book actually teach me&amp;quot; but I can judge its accuracy pretty well. I hope my perspective as an author is also interesting - I probably think more about things like ordering of contents more than others.&lt;/p&gt;
&lt;p&gt;2) I like to know my competition - both to learn from it and to differentiate it. As I sort of expected, I haven&amp;#39;t found another book which has the same aims as C# in Depth yet - i.e. a really tight language focus. Some other books are &amp;quot;language + framework&amp;quot; focus (e.g. Accelerated C# and C# 3.0 in a Nutshell) - which is absolutely fine, but not what I wanted to write :)&lt;/p&gt;
&lt;p&gt;3) I want to improve the experience of people learning C#. By reviewing books I can accomplish that in two ways: I can submit detailed errata to the authors, which should make their next reprint/edition more accurate. I can also hopefully guide potential readers to a book which will suit them well, and give them an idea of what to expect in terms of content, accuracy and style. The better-informed the general C# development community is, the more interesting (and articulate) the discussions on newsgroups and forums such as Stack Overflow is likely to be.&lt;/p&gt;
&lt;p&gt;4) I just enjoy doing it :) Now that I&amp;#39;m working in London, I have quite a bit of time on trains, buses and tubes every day - reviewing books is a useful way of spending that time.&lt;/p&gt;
&lt;p&gt;5) I hope that by providing detailed book reviews, I&amp;#39;ll encourage others to write similarly detailed reviews. I&amp;#39;d really like someone else to give C# in Depth the same kind of treatment I&amp;#39;m giving these books - in particular, I&amp;#39;m sure there are plenty of undiscovered errata, and I&amp;#39;d like to get rid of them :)&lt;/p&gt;
&lt;p&gt;Hope that gives some idea of my motivation - it&amp;#39;s not a complete answer, but I think it covers most of it.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649136" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1649135</link><pubDate>Mon, 29 Sep 2008 08:57:18 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649135</guid><dc:creator>Paul Batum</dc:creator><description>&lt;p&gt;What motivates you to do the reviews? Most bloggers I know will simply write reviews as an incidental &amp;quot;well I just read this so here are my thoughts&amp;quot;. But instead you seem to be actively seeking out books that you believe you can review effectively. It seems like an odd choice, as I know I would prefer to read books covering subject matter that I am -unfamiliar- with!&lt;/p&gt;
&lt;p&gt;Is it to help differentiate your book (which is FANTASTIC, btw) from the competition? That would make sense.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649135" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1649110</link><pubDate>Sun, 28 Sep 2008 21:52:28 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649110</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;It gets a little bit repetitive, but it&amp;#39;s the topic I&amp;#39;m best able to review for accuracy - and of course, the more books I read on a similar topic, the more easily I can compare them.&lt;/p&gt;
&lt;p&gt;We&amp;#39;ll see how things go though...&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649110" width="1" height="1"&gt;</description></item><item><title>re: Book Review: Programming C# 3.0 by Jesse Liberty and Donald Xie</title><link>http://msmvps.com/blogs/jon_skeet/archive/2008/09/28/book-review-programming-c-3-0-by-jesse-liberty-and-donald-xie.aspx#1649109</link><pubDate>Sun, 28 Sep 2008 21:31:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649109</guid><dc:creator>Paul Batum</dc:creator><description>&lt;p&gt;Really enjoying these reviews Jon. I must admit though, I&amp;#39;m surprised that you are prepared to review so much material that is all heavily C# related - does it get at all tiresome?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649109" width="1" height="1"&gt;</description></item></channel></rss>