tags:

views:

151

answers:

6

Actually I want to clear that shall i do ASP.Net 2.0 first and than move to 3.5 and 4.0 ?

OR

I start with ASP.Net 3.5/4.0 and most of ASP.Net 2.0 will also be covered in it, and the rest should i cover afterwords?

I'm concerned about the fact that, if i start covering ASP.Net 2.0, will i be studying outdated stuff ?

Which approach will be better, I'm an experienced c# developer and I do have a little knowledge of web development but i never build a professional web application.

Thanks..

Edit: I'm aware of the fact that there are already too many learning questions, but mine is specifically about a single point, relating to what to cover first when things are changing rapidly, and i guess many people may be facing the same question..

+2  A: 

Each framework is built on the successes and failures of the last one. You should learn 2.0, but don't spend too much time focusing on the details. Learn the CLR, the language syntaxes, and the basic methodologies applied. If you're looking to start in the web, learn the ASP.Net event lifecycle. If you're going to be doing winForms, cover the use of generics, threading, events.

As you discover things that are extremely useful you'll also discover things that are extremely frustrating. Just keep an open mind and focus on the basics and best practices. The rest will iron itself out through usage.

Joel Etherton
Thanks for the advise, I know CLR quite well, and have quite much experience in professional c# developement, still you think, i should proceed from ASP.Net 2.0?
waheed
Yah, but I wouldn't linger on it too long. Run through some quick common projects and then blaze onto 3.5.
Joel Etherton
A: 

You might want to read wikipedia document.

adatapost
thanks for the link, but my question was not about .Net, it was about ASP.Net
waheed
+5  A: 

Start with the newest version of the language syntax e.g. C# or VB.NET for sure because you will likely be expected to put those features to immediate action. Even the latest syntax is found increasingly in code samples posted on the Internet to help you learn. I'd suggest the same for the framework and its contents like the ASP.NET classes.

If you run into a situation where an older/lesser version is used, you will still know all those older features having built on them when studying the newer concepts. Quite often newer syntax is a conceptual extension or variation on older concepts.

For example, with the function pointer concept

  • Older version of the framework = only learn about delegates as function pointers.
  • Newer version = learn about delegates + followed by anonymous methods + followed by lambda expressions, ...

In the newer versions there's a lot more "syntactic sugar" to do the same things quicker and with less code, maybe even (seemingly) more dynamically than before; however you can always recreate the newer concepts in older version of the framework by using older syntax when needed.

The world moves fast. Stick with the latest if you can.

Edit: The latest includes ASP.NET MVC and technology recommendations that other posts have mentioned.

John K
@Robert P: Good point however the extrapolation and reasoning behind my points still apply in the greater sense about learning the latest technology first, so I will leave it as is despite it might be hitting a bit low. The intent is still the same even if I were to "upgrade" my answer. Thanks.
John K
@jdk, after rethinking, my objection is: What are the examples of `syntactic sugar` of ASP.Net Web Forms from 2.0 to 3.5sp1 that you are referring to? If we're excluding all the language features of C# itself? I realise this is nit-picking, but your comment is more focused on C# and .Net in general versus ASP.Net WebForms that @waheed appears to be asking about.
Robert Paulson
@Robert P: I don't disagree with you. Ultimately @waheed saw through my answer to what he needed.
John K
+6  A: 

Stay away from ASP.NET entirely.

Go with ASP.NET MVC.

ASP.NET Abstracts away what it means to be a web programmer. It may seem 'Rapid' right now, but it will hurt you in the long run, both with projects and dealing with how the web actually works.

George Stocker
I appreciate your concern, actually a similar advise had given to me by an experienced php developer, but i have following question.Is it not possible to have a background understanding of what is happening, and having the advantage of rapid development, secondly even with rapid development, is it not possible to have a good design?
waheed
It's 'possible', in the same way that supernovas are possible. ASP.NET makes it so easy to gloss over good design that people are plagued with `DataTables` and `DataSets` bound directly to `DataGrids`; which is horrible design in the 'real world' (in all but the most basic projects). You will learn little about web development if you learn ASP.NET; and that's a problem if you really want to learn Web Development.
George Stocker
"Stay away from ASP.NET entirely." Since MVC is called 'ASP.NET MVC'. Your opinion, as written, is contradictory to those that don't know the difference.
Robert Paulson
the poster mentioin asp.net pretty specifically, I suspect if he wanted to (or was required to) learn mvc he would have asked about it.
Luke Lowrey
@Robert and @lobsterino:I assume you guys are experienced with ASP.Net, do you guys agree with George's point that ASP.Net abstracts away the web programming?
waheed
Since JavaScript contains the word Java, they must be similar, right? :-) .
George Stocker
I disagree that abstracting away "what it means to be a web programmer" is necessarily a bad thing. It may or may not be. The only definite downside to such abstraction is that "web programmers" won't understand it, and will therefore badmouth it.
John Saunders
+1  A: 

Start with ASP.NET 3.5, MVC and LINQ. Because in .NET 3.5 you'll get all the new stuff and syntax.

Very best,

samer
What about starting with ASP.NET 4.0?
John Saunders
.Net 4.0 includes exciting features but it is still in Beta so expect bugs. The expected date for the release is 22 March 2010.
samer
A: 

Since you want to learn ASP.NET (Web Forms), start with the most recent non-beta version unless you have a specific need to support older software.

As you are already a C# programmer, you'll already be acquainted with most of the C# language changes since .Net 2.0.

As others have commented, also take time to learn ASP.NET MVC. In my opinion of using both, while neither is perfect, ASP.NET MVC is a good platform that scales really well and is more in line with how web pages operate. Done correctly, you end up with leaner, faster pages that are far more standards-compliant.

Client-side scripting is such a big part of web programming, and no comment would be complete without mentioning jQuery. Not only is jQuery fantastic for scripting the UI, but it will be shipped with Visual Studio and supported by Microsoft. jQuery is not MVC-only and can be used with Web Forms as well.

The video resources at www.asp.net can help you get up to speed quickly.

Robert Paulson