Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Basically what the title says. I'm completely new to programming and decided C# to be the best language to start learning, so I went ahead and installed Visual Studio Express 2010 C# to get started.

I started reading Learning C# 3.0: Master the fundamentals of C# 3.0 and got worried when I got to the part, which to quote said:

"Unless we specifically say otherwise, when we refer to C# in this book, we mean C# 3.0; when we refer to .NET, we mean the .NET 3.5 Framework; and when we refer to Visual Studio, we mean Visual Studio 2008."

Does this mean that the book is out-dated and I should find something else?

Does this mean I should just read the book anyway and continue in Visual Studio 2010?

Does this mean I should uninstall 2010, and get VS 2008, and continue reading?

I don't want to learn something that is outdated, and I'm aware of .NET 4.0 being available so I'm not sure if it would be a waste of time. I don't even know if there is a difference, does it just add more features and one could still use the same "basic" code in each? Sorry for being a clueless, I have never programmed before, I just need a kick-start in the right direction so I can start LEARNING just don't want to do so in the wrong way :)

share|improve this question

migrated from Jul 27 '11 at 15:45

This question came from our site for professional and enthusiast programmers.

IMHO, you should start with Ruby or Python instead. Not that those languages are better, but only because the barriers are a bit smaller, especially for new programmers. is an excellent primer for new devs. – Robert S. Jul 27 '11 at 15:19
up vote 7 down vote accepted

There are only a few differences between 3.5 and 4.0. The book should be fine for learning. I would definitely use VS2010 if you can though -- it is far more stable than VS2008. The Xaml editor crashes and has other issues in VS2008, even with SP1.

The major differences with 4.0 from 3.5 are minor data binding changes, adding x:Reference, and having a few backward-compatible API changes in the framework, all of which are welcome additions. Also some of the WPF toolkit has been added to the 4.0 framework, also a welcome addition.

You should do fine with a 3.5 book. All of my books are 3.5, though I do use the new 4.0 features such as x:Reference and the better ICollectionView APIs.

share|improve this answer
I agree with this post completely. I can't think of anything that you could do in 3.5 that you can't do in 4.0, or anything you would do significantly different in a 4.0 application than you would in a 3.5 application. Rather than language changes, .NET 4 adds and improves some more advanced features that deserve books of their own, like WCF (improved in 4) or task parallel library (added in 4). – tuxedo25 Jul 27 '11 at 15:29
Wow. First time at Stack Exchange, but definitely not the last! Super fast help from competent people... Thanks a lot! So, since I have answers that I am pleased with, do I have to do anything in particular to close my question or how exactly does this work? – Amivit Jul 27 '11 at 18:26
Ah I found the "Accepted Answer" button, thanks once again! – Amivit Jul 27 '11 at 18:32

Obviously the latest are:

  • Visual Studio 2010 (with VS2010 SP1)
  • .Net 4.0
  • C# 4.0

so if possible you want to be learning these. However, learning the .Net 3.5 equivalents of each won't leave you far behind if that's the material you have.

See here for a list of what's new in .Net 4.0. You can find a simlar thing by google what's new in c# 4.0 too. The visual studio version is linked to the .Net version (VS2008 = .Net 3.5; VS2010 = .Net 4.0).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.