Will MS Leave C# Behind?

Keith thinks VB developers are making a mistake if they switch to C#:

"What seems clear to me, though, is that any particular developer can't optimize for both ends of the spectrum at the same time. What's has been sacrificed so far is the focus on the end-user's needs. Microsoft has talked about re-enabling RAD - and has indicated that the emphasis will be on VB - yet C# developers seem to believe that they'll get all the RAD stuff as well. Can that really be true? Can Microsoft really optimize a programming language & toolset for both solutions builders and platform builders? In my opinion, VB developers transitioning to C# are betting the answer to that question is "yes". And I don't think that - in the long run - that is going to be a good bet to make, particularly if your strength lies in building end-user solutions."

First off, I would like to point out that there is no "official" comments from MS on this yet, so everything here is speculation. However, I have heard the message too, and I think you are missing the point. Both C# devs and VB devs are going to get the productivity benefits of future versions of the .NET framework (ie. DataSpaces, ASP.NET 2.0, Cool WebService Tools and Extensions, etc.), which significantly outweigh the benefits of some UI enhancements that might appear in only one of the code editors.

A substantial portion of the design time functionality is built into .NET as well, and is NOT language centric (see the System.ComponentModel namespace and all the Designer classes in the framework). So that ain't going away any time soon either.

However, it is correct to say that VB.NET is going to return to its "RAD roots" (By RAD, we mean it will be quick and easy to create slick little mom and pop apps with it again). But serious development and serious productivity has little to do with your code editor and little to do with which .NET language you are using. Yah, maybe you can code faster with auto-complete, but if your application is designed properly, you are going to need that auto-complete a hell of a lot less, because you won't be rewriting it every 6 months.

To that extent, we will be seeing a lot more tools focusing on "non-coding" time that are built into / integrated with VS.NET (think support for patterns within the IDE and within the .NET Framework, refactoring support, automated testing tools, etc.). These types of things, once again, are NOT language centric, so no matter what language you are using, you are going to be able to use them.

In any case, there are numerous reasons to transition to C# from VB and numerous reasons not to transition from C# to VB. These have all been hashed and rehashed, so there is no need to mull over them again; however, I am very sure of one thing: if you have a valid reason to make the switch, don't delay it because you are afraid that 5 years from now you will miss out on some hypothetical VB.NET code editor with a cool new version of auto-complete that does your coding for you.

9 Comments

  • I couldn't agree with you more!

  • The question is not VB.NET/C#. The question is does MS want to push developers in the direction of other platforms? If so they should drop C#. A C#-guy wont likely migrate to VB.NET, but choose Java of C++ instead.

  • The issue, as I see it, is that MS has totally left C++ out in the cold when it comes to .NET development. Sure there is Managed C++, but that is a mish-mash mess, it is neither here not there. Neither C# or VB.NET (or even Managed C++ for that matter) has the really useful language features of C++ (templates, real freedom with operator overloading, etc...). Obviously this is because the CLR does not support such concepts. I have heard many rumors that MS is working on adding these features into some future release of the Framework. When/If this happens, the current gap between C# and VB.NET, which is really quite small, will likely become larger, C# more towards server side coding (i.e., more like C++ and Java) and VB.NET more towards what VB6 was (i.e., RAD and GUI).

  • C++ is a dying language, it is mainly supported to port existing C++ projects to .NET and isn't really intended for writing complete .NET applications (although there are some special cases where MC++ is your best option... again, mainly when writing mixed managed / unmanaged code projects). The problem is that C++ is just to old. It was designed before VB, so you don't have good Event based programming support. Yah, there are some hacks to make it work, just like VB got extra hacks to make it work with .NET. But, they just don't feel right. Additionally, C++ is not a component oriented language, so doing CBD is no very natural either. So, C++ developers should start the transition to C#, since C# will support Generics next year (aka templates), making MACROs the only real big C++ feature that C# doesn't support.

  • I would disagree that C++ is dying (this is an argument for another day though!), but I would agree that C# is the wave of the future in the MS world, just as Java is the defacto standard for Enterprise Applications outside of the MS world.





    I can live without MACROs.;)

  • valeriescythesobgyn valeriescythesobgyn,countrymusichotguys countrymusichotguys,georgetownpediatriccenter georgetownpediatriccenter,parampreetsingh parampreetsingh,doctorsattrumbullpediatrics doctorsattrumbullpediatrics,atlasgp40cnoperation atlasgp40cnoperation,wwwwmotorolacom wwwwmotorolacom,salamiyamusic salamiyamusic,mtdoraflorida mtdoraflorida,musicolivermovie musicolivermovie,

  • corneliamamagrahilor corneliamamagrahilor,nascarbusinesscardholdernascar nascarbusinesscardholdernascar,findingnemodesktoppictures findingnemodesktoppictures,bobyfatcomposition bobyfatcomposition,_chalanddecaf _chalanddecaf,thickebonywoman thickebonywoman,nostradamuspredictedhitler nostradamuspredictedhitler,sertaroseville sertaroseville,baltimorecityzipcodes baltimorecityzipcodes,ebonyndist ebonyndist,

  • numerologyaddhousenumbers numerologyaddhousenumbers,kryptonitesupermansong kryptonitesupermansong,nachrichtenaacheneurot252 nachrichtenaacheneurot252,2005cheeseincidentstringsummertour 2005cheeseincidentstringsummertour,snowcowboyboots snowcowboyboots,einrichtungyesaachen einrichtungyesaachen,westchesterfordrentals westchesterfordrentals,apartmentswheatonmaryland apartmentswheatonmaryland,beboanonymousenew beboanonymousenew,replacingbrokenpianostrings replacingbrokenpianostrings,

  • trot pole exercises [url=http://www.habatierra.info/trot36.html]trot pole exercises[/url] trot pole exercises http://www.habatierra.info/trot36.html,palladium engraved ring [url=http://www.wuznation.info/engraved21.html]palladium engraved ring[/url] palladium engraved ring http://www.wuznation.info/engraved21.html,lighting system retrofit proposal [url=http://www.facilhaba.info/retrofit31.html]lighting system retrofit proposal[/url] lighting system retrofit proposal http://www.facilhaba.info/retrofit31.html,copper braid [url=http://www.habadirecto.info/braid15.html]copper braid[/url] copper braid http://www.habadirecto.info/braid15.html,blood work myocele antibody [url=http://www.suglande.info/antibody82.html]blood work myocele antibody[/url] blood work myocele antibody http://www.suglande.info/antibody82.html,

Comments have been disabled for this content.