Convince me to move to .net 3.5 (from 2.0) [closed

2020-02-16 12:25发布

I am into new desktop app development. I feel at home with .NET 2.0 and c#. I guess I don't need linq, nor care for WPF and other Vista-oid fancy keywords. I also like rather tight and slim 2.0 redistributable, even more for reason it's Vista and 7 included.

Why switch to 3.5?

20条回答
相关推荐>>
2楼-- · 2020-02-16 12:47

How far behind are you willing to be? .NET 4 is coming soon. Cloud (via Azure or even Live Mesh) computing is the next wave, so you'll probably want to be ready for network connectivity by knowing WCF.

If you don't want to learn the new stuff, then you'll still be able to create some good desktop apps with 2.0. But part of being a developer is understanding what's coming next. Even if you don't choose to target a later version of the framework, you should at least spend some time to learn a bit of LINQ, WPF and WCF so that you know their power. Then when you need something that is only available in a later version of the framework, you'll know why you're using it and also should be able to justify the framework download to your clients.

查看更多
Luminary・发光体
3楼-- · 2020-02-16 12:47

If you are creating or consuming web services, then you should be aware that Microsoft now considers ASMX web services to be "legacy technology". All new web service development should be done using WCF - which is not available until .NET 3.0, and gets quite mature and stable at .NET 3.5.

查看更多
迷人小祖宗
4楼-- · 2020-02-16 12:52

Assumption: You're working with Visual Studio 2005 and .NET 2.0.

Reason #1: Vista includes .NET 3.0 as a part of the OS Install; Windows 7 includes .NET 3.5

Reason #2: There are ways to target .NET 2.0 using Visual Studio 2008 (and VS 2010) so you can gain from the productivity "goodies" of those tools without abandoning .NET 2.0, then move to .NET 2+ when you're ready. (Visual Studio can help you avoid non .NET 2.0 assemblies while you code.)

Reason #3: Extension methods, particularly the static class Enumerable. Technically, a part of Linq, but a good way to write code cleanly, clearly, and in a more maintainable way.

Reason #4: Bug fixes to the .NET 2.0 framework. Remember that .NET 3.0 and .NET 3.5 still use the same .NET 2.0 runtime under the hood - they just add new frameworks/libraries and some compiler tricks. There have been a ton of bug fixes to the runtime which you're missing out on.

查看更多
Root(大扎)
5楼-- · 2020-02-16 12:52

Moving from .NET 2.0 to .NET 3.5 shouldn't even be a consideration. Here are some reasons why.

  • .NET 3.5 is fully backwards compatible with .NET 2.0 as it is built on the same core. 3.0 and 3.5 are merely extensions to 2.0.
  • LINQ - You can use Linq even without using databases. It changes every thing. This feature alone is well worth the move.
  • Lambda Expressions - Powerful search capabilities within collection. Related to LINQ.
  • Anonymous Methods - Created mthods without fully defining them.
  • Anonymous Types
  • Windows Workflow Foundation - Create workflows.
  • Windows Presentation Foundation - Replaces legacy Windows Forms - Can still be used with existing WinForms though.
  • Silverlight - Scaled back version of WPF for Web-Facing applications. Analagous to Flash.
  • Windows Communication Foundation - Replaces traditional Remoting and Web Services pieces with a much more robust infrastructure
  • For Web Development - ASP.NET MVC Framework - BEST!!!!

Without .NET 3.5, you're missing out on a lot. Seriously. Make the jump. You'll be glad you did.

查看更多
在下西门庆
6楼-- · 2020-02-16 12:52

I know various people who feel right at home with C, 8086 assembly, APL, punchcards, and front toggle switches (not kidding). They give the same reasons you do.

Would you advise an assembly programmer to try out C# 2.0? If so, perhaps you should try C# 3.5 for the same reasons. If not, keep enjoying C# 2.0, and know that people will, one day soon, see you the same way we see assembly programmers today. :-)

C# 3.5 is much better at letting you build higher-level abstractions than C# 2.0, just as C# 2.0 is better at this than C, and C than assembly. After all, isn't that why we program in HLLs in the first place?

查看更多
Fickle 薄情
7楼-- · 2020-02-16 12:54

Shouldn't the request really be "Convince my users/customers to move from .NET 2.0 to 3.5"

You didn't say whether you're writing code for a customer/user or just as a hobby. If it's the latter then yes, it's all about convincing you.

Otherwise, I can't see your customer being really excited about you being able to use Linq in your code, unless it will let you get things done substantially quicker and more reliably then before.

Of course if you're an experienced 2.0 developer you most likely are already very efficient even without lambdas, query syntax etc. Sure, they would provide some improvements but probably not great enough to excite your customer.

Now, if your customer comes to you and says, I want my new desktop application to have a GUI like one of those web pages with fancy animations etc, then it's obvious. You should seriously look at going to .NET 3.0/3.5 for Windows Presentation Foundation etc.

In summary, if there is a real and tangible reason to use newer technologies, go for it, otherwise it's often costly to get up to speed with a new platform/environment without direct benefit.

查看更多
登录 后发表回答