Hi,
I have been asked to convince the IT director that we should really be moving to c# instead of vb.net
Any tips on this particular topic please
Thanks
Hi,
I have been asked to convince the IT director that we should really be moving to c# instead of vb.net
Any tips on this particular topic please
Thanks
move to c#
ebdrup
I agree with most previous posts. (I hate when people ask me whether I do C# or VB.NET now that I have spent 5 years doing both.)
You have to understand (as most "managers" don't) that the real differences between the two languages are minor. Check http://www.lacoude.com/docs/public/VBversusCsharp.aspx for a complete list of differences in .NET 1.1
The real deal with .NET is not about whether you know C# or VB.NET it is about whether you know the 6,000 classes of the .NET Framework or not. I often ask job candidates about their knowledge of the .NET Framework. The conversation generally goes:
- "Do you know the .NET Framework well "
- "Yes, of course!"
- "How well do you know the .NET Framework as a percentage "
- "70%" (or "80%" for more cocky candidates)
- "Very good! You have used about 70% of the .NET classes "
- "Hum, yes Why "
- "Let me rephrase: you know 70% of the .NET Framework "
- "Yes, about that much."
- "The .NET Framework has 6,000 classes, structures, types and interfaces. You have used as many as 4,200 of these in the code you wrote in the past two years since you started using the Framework "
Needless to say, most great programmers who have used the .NET Framework for years would struggle writing down more than 300 or 400 classes names. That's the difficulty of today's technologies. Whether it is C# or Java, the difficulty does not only lie with learning the 200 keywords of a language, the issue is mastering the .NET Framework (or EJB, Swing, AWT, Xerces, SAX or Axis in the case of Java.)
You probably need to learn both languages to make sure you don't miss job opportunities. In a way, a good programmer has language skills while a good solution developer has .NET Framework skills.
Good luck,
Philippe Lacoude
http://www.lacoude.com/
Andre Borchert
Michael C12957
Bruce Johnson [C# MVP]
http://www.objectsharp.com/blogs/bruce
Jul
However, I find it also depends on the industry you are in. I started out as a VB .net programmer for web apps and that was great. When I moved into telecom, my current company insisted I program in C# for any professional service contracts. The reasons were not based on any technical differences in the language, but rather that most telecom programmers have a C or C++ background, and C# apps are easier for them to maintain when you turn over your code to them.
senaka
Yeah, basically it's not a comparison between apples and oranges, but rather between two types of apple. There's plenty of professionalism on both sides of the aisle. As with most language choices VB vs C# is essentially a religious debate.
Like Sergey, I prefer C# myself, however I started off in VB (VB3 if you can believe it), and stuck with it religiously until the first hints about .NET 2.0 started coming out. I switched mainly for iterator support (ironic since I hardly ever use it), and have been perfectly happy ever since.
A professional developer is a professional developer no matter what language they use. When I was still writing VB, I fairly often found myself dropping down to C++ in order to do the stuff that VB couldn't. Point is that I could code in C++, but preferred not to, because it wasn't as easy. What I'd do though is turn my C++ code into a nice COM dll that VB could then use directly.
Unless you have a compelling reason to switch that will make up for the retraining of your current devs, I'd say forget it. If you're looking at just starting into .NET and most of your team is from a C/C++/Java background, then C# is the way to go. If they're mostly from a VB background, then VB.NET is the way to go.
Roland Peters
Wrong idea from the start - C# & VB.NET is the same things. Just different syntax (personally I like C# much more). So technically they are the same. Also .NET is environment where C# & VB & C++ & J# programmers can work together, just in separate assemblies.
For me, C# is preferrable. Most people in VB or newbies in C# do not know what is behind designers or copy/paste programming, but they believe they can do great stuff. Most professional folks come from languages like C++ and if they are true professionals - they migrate to C#. This is my point - better hire professionals.
sowjanya V
Sure, and that's a good reason to switch. Just like if you're a C# programmer and join a team largely made up of VB.NET programmers, you should switch. I think the point is that you shouldn't switch unless there's a compelling reason to do so.
Also, keep in mind that a switch is not an all or nothing proposition. On one project, we're dealing heavily with COM components written in VB6. Now, the COM components make heavy use of optional parameters, which are just a pain in the neck in C#. So, sitting in our C# solution is a VB.NET library which handles the communication to that component. We could have written it in C#, with a little extra work, there was just no compelling reason to do so.
I know of companies that have decided that their UI stuff is done in VB, whilst server stuff is done in C#. The main reason: the usual skill sets of the developers. They'd found that most of their VB.NET developers had a heavy background in UI design, and that most of their C# programmers had had a background in server-side work. So they just divvied up the project accordingly.