Thinking about the "WHY's" for using .NET 3.5
-
3.5 is essentially a layered add-on to 2.0. In particular, for an ASP.Net application, upgrading to 3.5 is as simple as changing the runtime target. And, of course, making sure all your runtime environments are upgraded to 3.5. For that simple change, you get access to LINQ, WPF, WCF, better Silverlight support, better integration with office 2007, and a host of other niceities. Using them or not, is, of course, up to you. I upgraded our (very extensive) ASP.Net application to 3.5 the day after 3.5 went GA. Why? Because I could and it let me stay at least ON the curve instead of behind it as usual. It didn't really cost anything (for either me or my customers) and I have access to the many new features in 3.5 - some of which, I have found uses for since upgrading. If there is any one thing you have to be aware of is the 3.5 CLR is not supported on Win2K server - the minimum support level is Win2k3. This could be a "cost" as it might require you to upgrade infrastructure. MAC
I agree we upgraded a very large app from Visual Studio 2005 2.0 framework to Visual Studio 2008 3.5 and have had no conversion issues that I can remember.(So if there were any they must not have been bad.)
Humble Programmer
-
I can see a use for WCF (if they make it easier on the programmer), but WWF is nothing more than pandering to non-programmers by allowing them to assemble custom-ordered "activities" (written by *real* programmers) without having to write any code. I still don't see a need for WPF (in my current situation, anyway).
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001I don't think you understand what a workflow is. Workflow is a very standard part of large enterprise applications where the flexability of a workflow system, such as WF, BizTalk, etc. is essential to developing processes that can adapt to changing business needs in the appropriate timeframes. WF most definitely does not pander to "fake" programmers, on the contrary, it is a system that targets the highly complex, stateful, and usually long-running "workflows" of large organizations. Its far more than just "visual programming", as it is designed to allow operations staff, who tend NOT to be programmers at all, make the necessary adjustments to business processes on a continuous basis. I suggest you educate yourself more before voicing such strong opinions about subjects you don't know much about.
-
Hello everyone and a happy new year to all of you. Well, I'm part of a team that is mainly working in .NET 2.0 and we've been talking about taking up 3.5 now and some one just put up a question (and this is from a business point of view!), Why shift over to .NET 3.5? And well, I understand that there are lots of new features in this, LINQ, WPF, XAML etc and so forth... but still the question remains that almost all the general features required by a business can be handles pretty good with ASP .NET 2.0, you can build a pretty good website with AJAX support and everything so how can we motivate someone to use a solution built in 3.5. I'm a Software Engineer not a PM but still I wonder, how can u convince some one to use a more costly solution .NET 3.5 where they can get it done in a bit cheaper cost if they opt for .NET 2.0. I mean, .NET 1.1 had a lot of issues but 2.0 was pretty neat. So why use 3.5 at all? Please shed some light on this issue, Regards, PS: Although I'm mostly involved with web development but I'd really appreciate some one touching on other issues as well.
Rocky My Blog
I have been using .NET and C# since the beta days. A lot of people get up in arms over new language features, but I for one have always loved every one. I've used every feature in C# 3.0 and the majority of features provided through .NET 3.5. My perspective is this: C# 3.0 and .NET 3.5 just add new tools to your toolbox. As a programmer, your purpose is to develop a product that meets customer specifications, much like a contracter builds a home for his customer. The more tools in the toolbox just mean you can accomplish all the various little jobs involved in building a product more efficiently, as you have more tools to fit to each task. You mentioned a cost to using .NET 3.5, in such a way that indicates its MORE costly. Given the tool analogy, when you use the right tool for the job, especially one tailored to solving a certain problem, your waste should be reduced, reducing your cost. So long as you use the features of .NET 3.5 at the right time, in the right place, for the right task, you should see an increase in productivity, not a decrease. WCF, WPF, and WF all have a lot to offer, IF you have a need for them (WF in particular can be extremely useful for solving particularly complex business problems, but it should only be used if your problem set is large enough to warrant it). In particular are the LINQ extension methods, which can be used without the new syntax, and can greatly reduce the amount of 'common' code you have to write (i.e. sorting, filtering, aggregating, and other kinds of very common operations can all be performed with the LINQ extension methods, if using the new linq syntax is frightening to you). C# 3.0 also has a lot to offer: Expression trees, LINQ, Lambda Expressions, Extension Methods, Anonymous Types, Auto-Implemented Properties, and Type Initializers are all new tools that simplify your life as a programmer, empower you to solve problems with LESS work and improve the clarity of your code. Just make sure you use the RIGHT tool for the job, and there should be no drawbacks (i.e. don't use 'var' for every variable like many have begun to, as that only reduces the clarity of your code/increases vagaries; use var only for anonymous types.)
-
Hello everyone and a happy new year to all of you. Well, I'm part of a team that is mainly working in .NET 2.0 and we've been talking about taking up 3.5 now and some one just put up a question (and this is from a business point of view!), Why shift over to .NET 3.5? And well, I understand that there are lots of new features in this, LINQ, WPF, XAML etc and so forth... but still the question remains that almost all the general features required by a business can be handles pretty good with ASP .NET 2.0, you can build a pretty good website with AJAX support and everything so how can we motivate someone to use a solution built in 3.5. I'm a Software Engineer not a PM but still I wonder, how can u convince some one to use a more costly solution .NET 3.5 where they can get it done in a bit cheaper cost if they opt for .NET 2.0. I mean, .NET 1.1 had a lot of issues but 2.0 was pretty neat. So why use 3.5 at all? Please shed some light on this issue, Regards, PS: Although I'm mostly involved with web development but I'd really appreciate some one touching on other issues as well.
Rocky My Blog
It depends on what you're up to really but here are my opinions: WPF - Nice but I don't use it WCF - If you're involved in writing different apps this can be a great tool for writing services WWF - POS CardSpace - I can't believe MS thought this was a good idea But like everyone else has said the biggest reason is Linq and lambda expressions. Linq and Linq for XML is great and can be real time savers with the added benefit of making your code easier to read. Linq for SQL is rubbish though if you want any kind of control over your database access, personally I'd avoid it and stick with a data access layer (this also seemed to be the opinion of some MS employees who demoed this a while ago). Lambda expression are cool as well especially if you are using the extension methods (actually there's another good reason as well) for collections. Say you have a list of numbers from 1 to 1000 and you want to sum all of the even ones then you can do this:
int sumOfValues = values.Sum<int>(n => n % 2 == 0 ? n : 0);
It really does make so much stuff so simple. We recently upgraded a .Net 1.1 web app to 3.5 and I really want to go back and re-do some XML work I did a few months back as I know I can make it simpler and easier to maintain. The only thing I will say is if you upgrade to Studio 2008 (which you'll have to if you want the extra IDE support), it is really slow for doing most asp.net stuff and don't switch into mixed or designer mode for pages otherwise you might as well bugger off to make a coffee while you wait for it.
-
Hello everyone and a happy new year to all of you. Well, I'm part of a team that is mainly working in .NET 2.0 and we've been talking about taking up 3.5 now and some one just put up a question (and this is from a business point of view!), Why shift over to .NET 3.5? And well, I understand that there are lots of new features in this, LINQ, WPF, XAML etc and so forth... but still the question remains that almost all the general features required by a business can be handles pretty good with ASP .NET 2.0, you can build a pretty good website with AJAX support and everything so how can we motivate someone to use a solution built in 3.5. I'm a Software Engineer not a PM but still I wonder, how can u convince some one to use a more costly solution .NET 3.5 where they can get it done in a bit cheaper cost if they opt for .NET 2.0. I mean, .NET 1.1 had a lot of issues but 2.0 was pretty neat. So why use 3.5 at all? Please shed some light on this issue, Regards, PS: Although I'm mostly involved with web development but I'd really appreciate some one touching on other issues as well.
Rocky My Blog
Rocky# wrote:
And well, I understand that there are lots of new features in this, LINQ, WPF, XAML etc and so forth...
LINQ? As I understand it that is a dead horse. Is there a source that changes that? http://www.infoq.com/news/2008/11/DLINQ-Future[^]
-
Hello everyone and a happy new year to all of you. Well, I'm part of a team that is mainly working in .NET 2.0 and we've been talking about taking up 3.5 now and some one just put up a question (and this is from a business point of view!), Why shift over to .NET 3.5? And well, I understand that there are lots of new features in this, LINQ, WPF, XAML etc and so forth... but still the question remains that almost all the general features required by a business can be handles pretty good with ASP .NET 2.0, you can build a pretty good website with AJAX support and everything so how can we motivate someone to use a solution built in 3.5. I'm a Software Engineer not a PM but still I wonder, how can u convince some one to use a more costly solution .NET 3.5 where they can get it done in a bit cheaper cost if they opt for .NET 2.0. I mean, .NET 1.1 had a lot of issues but 2.0 was pretty neat. So why use 3.5 at all? Please shed some light on this issue, Regards, PS: Although I'm mostly involved with web development but I'd really appreciate some one touching on other issues as well.
Rocky My Blog
Some people in this thread seem to believe that the cool language features in C# 3.0 are only available when using .NET 3.5. This is not true. You can build a .NET 2.0 application in Visual Studio 2008 and use most of the features new to C# 3.0: - Lambda expressions - Automatic type inferral using the 'var' keyword - Object and collection initializers - Extension methods (although this requires a hack[^]. - Anonymous types However, if you want to use Linq, you're gonna have to move to .NET 3.5. There is another MAJOR drawback to moving to 3.5 which hasn't been mentioned yet. .NET 3.5 does not support Windows 2000. I can see whiy it's harder to support WPF on Windows 2000, but I can't imagine why it would be impossible to host LINQ on a Windows 2000 machine. This no doubt has to do with Microsoft pushing adoption of its newer OSes.
-
2.0 to 3.5 you cannot justify the change to a beancounter, you never can, for them an abacus is an adequate tool and the cost is about right, miserable sods X| . I think the improved intellisense and Linq are about the only things I am using. In my opinion WPF is not valid for data centric apps and I will be sticking with winforms for a couple of years yet. I have the feeling it will mature dramatically over that period and the learning curve will flatten somewhat. Workflow Services (WWF & WCF combined) is a peice of crap, this is an MS ploy to sell more product, specifically Sharepoint. There are limited real world examples available and you need so many services, databases, hosting services and UI components just to get a form out it is quite painfull. And I hate the drag and drop designer what a POS. I have no opinion on Web stuff as I am 90% winform based. Luckily we have MSDN so the cost of VS is factored in and there is no real cost for us to move until we get into WPF. 2008 & 2005 reside happily on the same development box so it has been a very easy, low cost transition for us.
Never underestimate the power of human stupidity RAH
-
Hi: I think you don´t have any idea what are you talking about. If you use WCF once, you will never, never leve that.
La entrada es gratis, la salida vemos....
If you read the post, I was not negative towards WCF, the workflow services (WWF + WCF) are a dog. I like WCF, although I have limited exposure to it.
Never underestimate the power of human stupidity RAH
-
Hello everyone and a happy new year to all of you. Well, I'm part of a team that is mainly working in .NET 2.0 and we've been talking about taking up 3.5 now and some one just put up a question (and this is from a business point of view!), Why shift over to .NET 3.5? And well, I understand that there are lots of new features in this, LINQ, WPF, XAML etc and so forth... but still the question remains that almost all the general features required by a business can be handles pretty good with ASP .NET 2.0, you can build a pretty good website with AJAX support and everything so how can we motivate someone to use a solution built in 3.5. I'm a Software Engineer not a PM but still I wonder, how can u convince some one to use a more costly solution .NET 3.5 where they can get it done in a bit cheaper cost if they opt for .NET 2.0. I mean, .NET 1.1 had a lot of issues but 2.0 was pretty neat. So why use 3.5 at all? Please shed some light on this issue, Regards, PS: Although I'm mostly involved with web development but I'd really appreciate some one touching on other issues as well.
Rocky My Blog
I'm seeing a lot of mixed concepts in these replies. Having gone through the same decision, my words of wisdom... VS2008 Get it. Like previous versions, it got better. Think of how many pieces of software you use get worse each new version because feature X (ribbon anyone?) is neat. VS is one of the few pieces of software that actually gets better each release. C#3.0 There is lots of good stuff in this language of the version. var keyword, extension methods, anonymous methods, easier delegates, automatic properties... the list goes on. .NET 3.5 runtime Unless you intend to use linq or WPF you can probably wait. WinForms works great for data-centric apps and you've probably invested a lot of time in custom controls. There isn't enough good stuff to abandon that.
-
Unless you have a major project underway that is at a "point-of-no-return" in terms of progress, you should start using .Net 3.5. The beauty of VS2008 (yes, there's at least ONE good thing about VS2008) is that you can target .Net 2.0 OR 3.5. That means you can at least start using the newest IDE, even if you're stuck on a .Net 2.0 project. All new development should use .Net 3.5.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001John Simmons / outlaw programmer wrote:
That means you can at least start using the newest IDE, even if you're stuck on a .Net 2.0 project.
If you are using an automated build system, be sure your build servers are using the updated MSBuild and/or other compilers.
-
Try and get a ASP.NET MVC project approved :D We're lucky in that our next project, which is a rewrite of the current *cough* Access *cough* system, will get to benefit from several of the latest technologies including Linq, asp.net mvc, wcf, and .net 3.5 language enhancements along with TDD and DDD.
Todd Smith