Okay, slow down, what is .NET 3.0? - Article 1 of n

by Jesse Liberty

This is the first of a series of blog entries that attempt to answer the question: "what the *(#&# is .NET 3.0 and why should I care?"

First, as you no doubt know by now, .NET 3.0 is what we were calling WinFx until last week and is composed of (among other things):

Technology Name (Acronym) [Former Code Name]

Windows Presentation Foundation Classes (WPF) [Avalon] - Arguably the heart of .NET 3, this is the technology for building rich Windows applications with special features for managing layout, text, 2-d and 3-d graphics and much more.

Windows Communication Foundation Classes (WCF) [Indigo] - A new framework for inter-process communication that will change the way we interact with web services and the way we implement remoting.

Windows Workflow Foundation Classes (WF) - You'd think this would be WWF but the World Wide Wrestling Foundation thinks differently. This is a framework for creating workflow engines that can be incorporated into your application

Info Spaces [InfoCards] - A very nice way to deal with controlling how you identify yourself and how much information you provide on the web.

At the same time that .NET 3 is coming out, ASP.NET is changing, though not quite simultaneously and not as part of the .NET 3.0 release. The key change to ASP.NET will be the release of ATLAS, the .NET Ajax technology and controls.

While all this is happening, Microsoft will also be getting ready to release ORCAS - the next release of Visual Studio, and, oh by the way, C# 3 (with some very impressive new features and the next release of Visual Basic.

So, what is a developer to do?

My goal will be to begin to track this technology, in nice small steps, through blog entries, articles, books, discussions and so forth; that is, to open a discussion with interested readers, here, on Amazon, on my support discussion site and wherever I can.

I look forward to your active feedback.

Thanks.

35 Comments

Calishar
2006-06-20 13:37:06
When talking about WF, you make the comment that the World Wide Wrestling Federation objected to WWF (but wouldn't World Wide Wrestling Federation be WWWF?). This isn't likely, since they now call themselves World Wrestling Entertainment (WWE) having lost a court battle with World Wildlife Fund.


My guess is that Microsoft decided against using the abbreviation WWF because it is so associated with the wrestling group, or that they got a call from the WWF (wildlife in this case)

Joe
2006-06-20 19:18:06
I am sick of Microsoft coming out something "better" every few months. I installed Vista and it sucks. I can guarantee you that Vista will go down the drains. And now .NET 3.0???What the f***?
Who give a s*** to what MS calls it
Jesse
2006-06-20 20:48:37
Joe

First, I understand your frustration. If you honestly believe that Microsoft comes out with new technology just to cause you headaches and or increase their profit margin then of course you'll be angry. On the other hand, if they are pouring their profits back into improving their products (even in the absence of clear competition) then in some ways it is admirable, even if frustrating to those of us who must try to keep up.



In this case, Microsoft has worked hard to ensure that what was learned in .NET 2.0 will be fully applicable in .NET 3.0 with a fairly easy migration path; Windows Forms continue to work, ASP.NET continues to work, you just have new tools that make things either easier or better, or both (or at least that is how it looks so far).



I'm not sure what about Vista "sucks," but of course what you installed was beta software. I'm personally willing to give Vista a little while to see what advantage it has over XP. XP is pretty good; I could live with it for a while longer, but if Vista has significant improvements, then great, I'm happy to consider moving over, just as I was happy to move from DOS to Win 3.1 to 95 to 2K to XP (and note the versions I managed to skip along the way).


Frankly, I think my target audience is not folks who hate Msoft or who are even trying to decide about Msoft, but is really Msoft programmers trying to decide if and when to move from whatever they are programming in today (typically VB6 or .NET 1.x or .NET 2.x) to whatever combination of .NET 3.0/ Atlas/ Vista/ etc. and who are trying to decide what that all means in terms of learning curve and new skill sets.

Jesse
2006-06-20 20:49:15
Calishar,


I'm sure you're right. Pretty funny either way.

Russ Painter
2006-06-22 13:29:49
This is really irritating. Sounds like it should be a 2.1 version, not a 3.0. All they're doing is adding a few extra plugins. The .NET core isn't changing itself very much (if at all). Must have been a marketing decision.
Jesse
2006-06-22 17:02:41
Russ


Clearly, I have not conveyed how huge 3.0 is. To the ASP.NET programmer there is little change (except of course if you are working with authentication or web services, but to someone building Windows applications this is a total overhaul, providing profound changes and greatly enhanced services. You may want to take a look at what Microsoft is showing already, and stay tuned for more. This is certainly not (in my opionion) a .x release.



In fact, I suspect that the folks at Microsoft became concerned that the changes were so big that they had to change the name from WinFx to .NET if only to show folks that there is a connection and a path from what we already know to what we need to learn.

Vaibhav Agrawal
2006-06-24 05:40:19
I have recently started learning .NET 2 and now MS is coming up with .NET3 :)


I think I have to coverup .NET2 1st then think of .NET3.


Jesse
2006-06-24 09:58:26
Vaibhav

No question; you want to learn .NET 2.0 first, and nothing you learn will be wasted (especially what you learn about C#, VB and ASP.NET). .NET 3 is in many ways a superset of .NET 2, and .NET 3 won't be ready for prime time for at least six months.


That said, If I were learning today and didn't care which I learned first, I'd focus on web applications for now, and wait on putting too much energy into windows forms, as that is the place that will change the most with .net 3 (of course, winforms will continue to work, so if you have good reasons to learn win forms, go ahead without too much fear).


-j

orcmid
2006-07-17 12:45:15
Hi Jesse, I'm looking forward to the continuation. My downside on Net 3.0 (which I do appreciate although it is confusing) is that my Media Center PC (bought at Office Depot during a computer-failure emergency) doesn't have a big enough power supply for those wattage-hungry high-end graphics engines that Aero requires.


Meanwhile, I was heartened to see you on my amazon Plog list again, even though I had to kill the RSS feed because it kept repeating all content every time that I did an update in my aggregator. This must have something to do with how dates are handled, but it got too hard to deal with.


Fortunately, I can subscribe here on O'Reilly.net, except the RSS links here are hard to handle. (The .RSS extension is not well-known and the URLs are queries, so I have to stand on my head to get my aggregator to pick up the feed.)


But I made it! (Oh, and I dropped you a note but got one of those not-deliverable in a very long time and we'll keep trying reports.)


- Dennis E. Hamilton

Mick
2006-07-24 23:24:49
Dear me, 3.0. You are scaring me.
Andrew
2006-07-27 13:14:02
Every new product release from MS brings a new wave of sighs and groans and exclamations from every corner of the ring.


After the dust and the eyebrows settle and users become familiar with the new product the negativity quickly turns to loyalty in the form of product use and accolades.


How about we just skip the first part and jump right to congratulating MS for the first stages of .NET and prepare to once again be awed by their work?


Speaking from a web developer's perspective, v1.1 was a hugely successful improvement over VBScript. I have not looked back at 1.1 since we re-factored to 2.0 and since my projects often involve authentication and personalization, etc., my work is fun again!


MS decided to release barely-pared-down versions of development tools to download free of charge - the Express products, and I believe that it has never been easier to take advantage of MS products.


I'm certain when the ripples die down you'll see a suite of foundational classes and tools for Windows and Web development that supersede anything else available on the market.


So stop worrying about the name change and move on.


Drew

rei
2006-08-10 00:22:07
It's a misnomer. What are they supposed to call the next versions? 3.5 is the next one, and even though it's a bigger change on the .NET end, it's a minor version number change.


And then things like the Compact Framework and Mono, which don't have WinFX, will have to be called ".NET 3.5" even though the "3" doesn't exist.


http://www.petitiononline.com/winfx/petition.html

Frank
2006-10-10 19:34:13
I think developers are going crazy if they are going to follow all these Microsoft inventions. Honestly, I don't need all this innovation produce great working applications!


I don't think developers are happy with all this "innovation" push of Microsoft. This only benefits Microsoft to sell all those trainings, certifications, new operating system, etc. It's all a business and developers are just becoming the shadow of Microsoft.


Furthermore, Visual Studio 2005 and ASP.NET 2.0 are the slowest technologies I have ever tested! Specially when it comes to development and debugging.

moredotnet
2006-12-12 03:34:45
Hi
What Im concerned is the pace @ which things are moving on. For years i worked on asp, and then moved to 1.1. Now Im busy since a few months with 2.0 and herecomes 3.0!


Please correct me if Im wrong. "There are no upgrade issues while upgrading from Framework 2.0 to 3.0"


thanks
moredotnet
http://moredotnet.googlepages.com

simon
2006-12-17 23:26:02
thank you, I have add it into http://www.xanga.com/tiffanylamp
jackreb
2006-12-17 23:44:05
I know the http://www.oreillynet.com/ are very good for you
Eka
2006-12-18 12:52:19
Learning new tech. is fun - However, we have to learn things very well and make a living out of it. I guess MS does not really care about the developer who had to run after each so called inovative idea along their way to glory.
The problem I have is I put 10 hours at work and I need to put another 5 hours at home just to get by so that I may still be able to get a job in 12 months again.
If you don't put all this tech. in your resume no one will hire you. You need to know CSS, HTML, SQL SERVER, UML, .NET, COM+,Web Services as well as data modeling, Rup some networking and O/R mapping, web design and you may get a contract for $35.00/hr - Let alone the degree that cost you tens of thousands and the endless stream of books and hours worked for free to catch up with things.
At the end of the day all software usually does is create, read, update and delete data. That is all of it.
While MS is making life difficult for every one who codes, companies are suffering too. Who will maintain the systems written in .NET 1.1 in 3 years from today?
Developers burn thier lives while companies build the tools.
Will MS pay for my re-education or for learning Active-X and VB6 books and courses that is not only worthless now but even harmful?
The funy thing is that CICS and COBOL are still the same. The last 10 years wheras COM+ that cost me $3000 to learn 3 years ago is out of the "windows".
This is not funy. I am very angry I am loosing my life but helpless after the bad investment I made.
Tal
2006-12-23 14:04:35
Up until now, I have been thinking about this naively. Like, the WPF, WCF (.NET 3.0) and the upgrades in ASP.NET (.NET 2.0) were very important and urgent for the industry (in general). And after these two releases (which arrived very close to each other) Microsoft will be quiet and will not release a new framework versions for a long time.


I'm now convinced that I was wrong :-(
I'm positive that Microsoft will continue to release new versions of the framework be it another version or a new set of "valuable/productive" tools. Yes, our technical life will continue to challange us.
That said, I find it hard to believe that what we would be "most comfortable" with is to stay with the current technology.


* It's LESS comfortable to code tasks in older technology
* With newer technology we can do more. A lot more.


What do you suggest?

EMpiRE
2007-01-24 11:49:37
Life is a competition, at the end only the best survive, since the avenement of the internet we are on a evolution stage on development technologies, if technologies upgrade so quickly is that we are smart enough to find amelioration to extend the flexibility and the posibility.


There will always be Programmer in advances on their time, or programmer who are left behind frustated.


Coding is a life style, Learning new coding style is a way for self-depassement. The coder life is like a walk, you have to walk everday to fufill your goal.


What i suggest to you to learn the new technologies, is simply to applies it in your next new projects, accept to have older project build on older technologies. Try to have the opportunities to add extra time to your contract to give time it need to learn and adopt the new technologies.


Personnally if there were no evolution in developoment technologies i will just find the job uninteresting or simply boring. Thanx to Microsoft for adding new challenge every day.


Take it easy and step by step you'll make your way trough the path!

Jose
2007-02-13 11:11:52
It's very good see MS using the power and money to develop and improve .NET, but real programming world don't get time enought to update their .NET improvements in real projects, they already got Vista on the line and know well about the changes .NET would get with that OS "update", so would be much better from MS not release the .NET 2 and wait for this moment to make the jump, reading books and trainning courses for .NET 2 released just a "few" days ago and now we are ready to implement it they came out with WinFX/NET 3 !!, there's news of new .NET 2 books to release in the next months !!.


As stated here, not matters the name MS give to it, WinFX, WWWWFFFF, disapointing is they KNOW this time would came and they released NET 2 for us to play ONE year with it. MS money machine working, they don't care as they know very well we don't have options in real market world if don't use their stuff.


Facing this facts, would be honnest from MS is they release the
.NET 3 upgrade for free (on-line) with some clear information for developers about the changes it implies letting us to back in track fast as WE ARE THE ONES WHO MAKES THEIR MONEY.


So, my suggestion is not a petition to change the name, but to get that free upgrade as we already payed it one year ago.


Dan
2007-02-23 09:32:03
I'm becoming competent with ASP.NET 1.1. Should I upgrade to 2.0, or wait for 3.0? I'd hate to upgrade twice.


Thanks.

Jesse Liberty
2007-02-23 10:12:01
>>I'm becoming competent with ASP.NET 1.1. Should I upgrade to 2.0, or wait for 3.0? I'd hate to upgrade twice.<<


There are no announced plans for ASP.NET 3, so I would definitely upgrade my skills to ASP.NET 2, which brings many significant improvements.


As for .NET 3, it brings a new way to create (a) Windows applications and (b) Web Services and it also brings work flow and other services that extend and compliment ASP.NET.


So much depends on what your work and interests demand. I can't imagine staying with ASP.NET 1.1 any longer, when 2.0 has so much to offer, but some folks are still efficiently programming in VB6, so there you go.

DonnaZ
2007-02-26 05:45:26
My job is currently having their entire site redesigned into ASP.NET 2.0 and C#.


I was going to learn C# as I used to develop in c++ back in the day - and it's similar to PHP and JavaScript. But I also know VB


What language is going to be more cost effective to stay with? VB or C# (which is now becoming C3). What are the language additions/syntax changes to both?


I mean C# to C3 sounds pretty ominous for code.

John
2007-03-15 06:27:03
...uh, yeah but, what is .NET 3.0?
USANETMONEY
2007-03-17 11:58:48
That is why there are organizations like the Rockefeller Foundation and the Ford Foundation
Michael
2007-03-30 18:02:02
ASP.NET 3.0 is more a marketing joke than a real new version. There was a significant step(architecture and features) between ASP 1 to ASP 2.


Vista is eventually taking the lead and WindowsXP will be gone. If you like it or not. Although I do not like it either I - eats a lot of memory and my CPU is getting a bit hotter - its the future to go.


If you havent upgrade to Visat, dont! Wait for a service pack!

Dee
2007-04-27 10:53:30
Chuckle....


You are discussing ASP.net 3.0 which hasn't even really hit the streets and ASP.net 3.5 is already in beta release. So, why bother learning 3.0 which may end up getting parts deprecated with 3.5 ... or should we all just wait for 4.0 :))


I would agree with Eka, there is no time to keep up.


I would ask that MS separate ASP from the windows development, so it is not tangled up with irrelevant upgrades.


Netmonster
2007-05-20 10:23:51
How many versions of Java are there?
wfertuy
2007-06-05 07:39:44


chicken parmesan recipe
Dear Recipe Doctor, Chicken Parmesan has always been my favorite food. As a kid
I used to order it every time I went out to eat--I just couldn't get ...
PCGuy
2007-06-19 15:15:50
Ok You Devs need to help us PCGuys with the history and what purpose of all these shims are. Everytime Microsnot comes out with a new something cool we have another freakin runtime to install. When we have 10,000 PCs to manage, your cool new calendar control requires a dizzying array of a download, install, test, roll. Can someone draw up a map history/prereqs and purpose of all these runtimes for us?
ie. MSXML, .NET1.1 (2.0, 3.0), HTMLHelp, DirectX, ART, ScriptingHost, Windoze installer, Jet, MDAC, SOAP, ORCA, VBRun, and the list goes on....
Hisham
2007-10-10 13:34:18
I am so sick and tired of having to update myself all the freagin time!!
Why can't they just get it right the first time, or even the second time, and stick with it for 5 or more years? Why do I have to upgrade my version of .NET, and re-code and re-learn things every 2 or 3 years? Then, I have to spend hours/days/weeks/months on newsgroups and bulletin boards trying to find answers to known bugs and issues and to decrypt ambiguous Error messages??
I'm seriously starting to look into J2EE or any other rival technology because I'm just so sick of Microsoft constantly overhauling their stuff!
I need a stable and time-proven language that can be used to built entire e-commerce websites, and I'm willing to accept the fact that it will probably take twice as much time to do it in any other technology than to do it in .NET, but at least I know I won't be getting any cryptic error messages that will send us scrambling to update IIS or apply their latest crappy patch. Also, the fact that I won't have to deal with a "app_offline.htm" page popping up in my project and taking my entire website offline for absolutely not reason, sounds like a welcomed change to me :D
Gav
2007-10-10 15:32:25
Can I remove net2 if Ive installed net3 ?
Pol
2007-11-13 15:06:20
If you think J2EE is better. Take a look the Java functions that are no longer supported (deprecated) on Sun's web site, but are still in use out there. Java gets changed a lot too and you'll not find a better Graphical Development Environment as in Visual Studio. You'll spend a lot of time hand coding frames, textboxes and event handlers in Java.
But I agree, I am getting weary of chasing the Dot Net re-versioning. Web application I built using version 1.1 will have no one to support those twitchy datagrid's as the herd moves on. I also agree a 2-3 year cycle is too fast for us to catch up while supporting the sites we built over the past 2 years. Sure it might be better, but bleading edge has its costs in time and money.
Luke
2008-02-27 19:13:35
The products and updates are cool, but it is impossible to keep up with everything. Pick one product and specialize in it, focus. Get certified in that one product. Microsoft has half price certification test every so often, called second shot. C# seems to be the way to go (2008) for web apps, but VB is very cool too. Visual C++ is for hardcore C++ desktop application programmers.
Luke
2008-02-27 20:15:26
If needed, just install the .Net Framework 3.5 (2008), that should take take almost everything you might need.


Each additional program you install should automatically install the other stuff it might need at the same time.


DirectX is fancy graphics, and maybe audio.


Jet and MDAC is old database stuff, just use SQL Server. Jet was the engine behind Access, it is still cool. MDAC was the old free database, use SQL Server Express. Foxpro is a program like VB to create database apps, it's old, but still used.


ScriptingHost is old scripting (like batch scripts), use the new Powershell. There are handfull of scripting things on Windows now, but most are outdated.


MSXML, soap is installed with .Net Framework 3.5.


ORCA, I think is Oracle database.


HTMLHelp, ART, VBRun, Windoze installer, misc junk I guess.


The whole idea is to run the new apps, whether Microsoft or 3rd party, because they run in the sandbox. The sandbox is the .Net Framework. The .Net Framework sits on top of the operating system, Windows. The sandbox protects Windows from the bad stuff that a flawed or mischievous program might do to your operating system.


C# and VB create programs that run in the sandbox, this is called "managed code." Visual C++ can create both "managed code" and "unmanaged code." "Unmanaged code" has direct access to the operating system stuff, powerfull, but not recommended these days because its dangerous.


"Active Dirctory AD" is an LDAP login system for the enterprise. The AD keeps your network secure and updated in many ways, like it can keep unauthorized pc's and users from connecting.


Biztalk transfers XML files between companies.


Sharepoint allows teams at a company to exchange files online.


Atlas is Microsofts version of Ajax, it allows a webpage to update just a small section of the webpage without having to reload the whole webpage.


Silverlight is Microsoft Flash.


XNA gaming for 3d games, etc.


Pick up the pace, its only gonna get worse!