   [.net] Learning .Net/C# from books - will a 1.0/1.1 book be a bad move?
  Evening all,Now I've got a couple of spare months I figured I should get down to at least learning the basics of .NET and C#. Figure it'd be a good idea [smile]My understanding is that there are 1.0 (VS2002), 1.1 (VS2003) and 2.0 (VS2005) versions of the framework. Whenever Orcas turns up I guess there'll be a 2.x (or 3.0?) version introduced. Correct?Anyway...I've been digging around some of the MS-Press books (I can get some of these for free, so not looking at others yet [wink]). Seems that most of them are specific to a version of the framework/language, whereas others are more general - e.g. C# Programmer's Cookbook seems to come highly rated, but based on publishing date it'll be 1.0 or 1.1 - definitely not 2.0.I'm wondering whether it makes much difference? If I'm going to be using VS2005 should I only get "matching" books, and would an older 1.0/1.1 book just send me off in the wrong direction?fwiw, I'm also considering:Programming Microsoft Visual C# 2005: The LanguageVisual C# 2005 Step by StepCheers,Jack   
  I would recommened a 2.0 book; I don't know how signifigant the changes between 1.1 and 2.0 are, but I would still get a 2.0 book just to avoid any unforseen problems.I have Visual C# 2005 Step by Step, and it's an excellent read; definitely worth picking up, as it often outlines the major differences between C++ and C#.   ;  If you're an experienced developper, using a 1.0/1.1 book should be ok, as long as you keep an eye on the different new features and are aware of them.  I would be more wary of a "Cookbook" since, I assume, it'll teach you tricks and hacks to get around language limitations that have disappeared since the older versions.My recommandation would be to read any book while keeping Microsoft's 2.0 features list page open and glance at it every so often to make sure you're not missing something.   ;  Thanks for the replies.There seem to be a large number of 2.0 books, so I suppose its not really a problem to find up-to-date books [smile]I'll probably grab both of the books I listed at the end of my post and see how far I get...Cheers,Jack   ;  To my knowledge, the major changes/additions to 2.0 are generics and anonymous delegates. If you've worked with C++ at all, generics should be familiar and the use of List<T> and Dictionary<K,V> rather than ArrayList and HashTable pretty easy to pick up. Anonymous delegates are useful but maybe not so directly applicable to learning code. MSDN I'm sure can fill in the gaps for 1.0/1.1 books if you happen to get them.   ;  Once you're familiar with .NET 1.1, the changes in .NET 2.0 are quite noticable.  Things like generics and partial classes are easy to spot and learn how to use.  You shouldn't have any problems with getting a .NET 1.1 book.The biggest hurtle when getting into this stuff is the language you'll be working with and the backend concepts of programming design.  Once you know the language and design, you'll have no problems with working in either .NET 1.1 or .NET 2.0.   ;  Get the 1.0/1.1 book.  Since the language was new back then I'm sure the older books will be quick to point out smaller differences.  Newer books (for 2.0) might assume that you know 1.0/1.1 already and move on to the new stuff.Once you learn the 1.0/1.1, you can learn 2.0 additions from MSDN.Plus, the older books *might* be cheaper.   ;This tutorial page gives a good overview of what things you will "miss" if you buy a 1.x book (look in the right column for the [2.0]-items).I've used both 1.x and 2.0 versions of the framework, and 2.0 is simply much better only because of generics.Without generics you will have a type converting hell if you use containers, and you will be forced to declare your own delegates, instead of using the generic EventHandler<> delegate. Defining your own delegates is just boring, and makes the code dirty.You will probably do fine with a 1.1 book to learn the mechanics of the language, but quickly learn the 2.0 features as well, because the difference between them is significant in form of usability and code cleanliness.   ;  Thanks for all the replies [smile]Just tried to order the two C#-2005 books from the MS store and they're out of stock [rolleyes]. Guess I'll just have to wait on that for a while.Good to hear that I shouldn't be too far off course with a 1.1 level book.That tutorial listing looks useful - thanks. I've not had a chance to do more than scan-read it right now, but I'll make sure I check it out properly later.Quote:The biggest hurtle when getting into this stuff is the language you'll be working with and the backend concepts of programming design. Once you know the language and design, you'll have no problems with working in either .NET 1.1 or .NET 2.0.Given that I've been programming in various languages for 8-9 years now I'm fairly confident I can pick up C# fairly quickly. However, the ".net way of thinking" is something I'll probably be back to spam this forum with over the next few months.I've got a distinct feeling I'll end up writing C#/.Net the same way that I write DirectX/C++ code [lol]. I've got quite a long list of potential questions on this topic - but I want to read through some material before I start asking potentially obvious things!Cheers,Jack   ;  Such joyful news, would that I have seen this topic sooner. If can you can't wait for those MS books to start your transition, Joseph Mayo's C# Unleashed covers the .NET 1.1 features quite nicely [smile] I started with Java so I basically learned to code with .NET's "way of thinking". Hence I may not be the best judge of how C++ concepts translates to C#, but I think it's not such a big deal. Basically C# does away with explicit memory management and the API relies more heavily on OO concepts. If you're comfortable with OO design and trust the runtime to handle your memory, you'll be fine.Just stay away from the unsafe keyword [wink]   