Dot Net Developer..
Dot Net Developer..
Author
Discussion

nekrum

Original Poster:

588 posts

308 months

Tuesday 29th July 2008
quotequote all
Hi

Question for any developers out there. We're looking to hire a developing for a windows based dot net application we require and we have the option of VB or C#.

Can anybody explain the differneces between VB and C# and give an overview of the reason to why you would pick one or the other?!..

Thanks in advance.

cs02rm0

13,966 posts

222 months

Tuesday 29th July 2008
quotequote all
The difference is that with C# you might get lucky and get a Java developer. laugh

C# developers will cost you more and (IMO) most probably give you a better application.

http://www.google.co.uk/search?complete=1&hl=e...

Don

28,378 posts

315 months

Tuesday 29th July 2008
quotequote all
In the beginning there were many compiled computer languages. C, C++, PASCAL etc. What these languages had in common was that the way they did things was to ask the operating system to do stuff for them. So far so good. But what a ballache it was! The operating system doesn't exactly do complicated things - so each compiler vendor wrote a "runtime library" of useful stuff programmers needed to do that called the operating system on their behalf but made it loads quicker to write programs that did useful stuff people wanted.

But each runtime library was different. Oh yes - people had a go at making them similar but the truth is the C-runtime was different to the PASCAL runtime was different to the FORTRAN runtime and so on.

So Microsoft comes along. THEY have compilers for loads of different languages. So some of their computer-language-writing guys got together and said "I know - lets make the runtime the same for ALL our languages and save loads of money" Then another one said: "I know - lets make that COMMON RUNTIME LIBRARY (CLR) run a bit like a Java Virtual Machine - because that would be really cool like those really cool guys over at Sun Micrososososystems!"

And so they did. But at first, of course, they cocked it up royally. So we've had ".NET 1.0 CLR", ".NET 2.0 CLR" and ".NET 3.0 CLR" and "pretty soon now"wink :hehe there will probably be ".NET 4.0 CLR" etc and some such st.

To be even MORE like Sun Micrososososystems they invented a new language called "C#" which would be absolutely not based on Java at all even a little bit, no sirreee.

The languages they made that all call the CLR are C#, C++, VB.NET, ASP.NET and so on.

VB.NET produceds the same code as C#.NET and you can do all the same things in it.

Except guess what language the CLR is written in itself?

C#

Consider that a clue. When Bill's boys set about writing stuff themselves they either do it in C++ for the lower level stuff or C# when not.

There is a justification for using VB.NET, though. No - it's not when your programmers are too dumb to learn C# - although you might be forgiven for thinking that the fuss some people make about learning a new language. No - it's if you already have a lot of good VB code written in VB5 or VB6 and you want to try and re-use it.

Now. If you want some really professional advice?

Pay me. hehe

WTD

818 posts

264 months

Tuesday 29th July 2008
quotequote all
Don said:
In the beginning there were many compiled computer languages. C, C++, PASCAL etc. What these languages had in common was that the way they did things was to ask the operating system to do stuff for them. So far so good. But what a ballache it was! The operating system doesn't exactly do complicated things - so each compiler vendor wrote a "runtime library" of useful stuff programmers needed to do that called the operating system on their behalf but made it loads quicker to write programs that did useful stuff people wanted.

But each runtime library was different. Oh yes - people had a go at making them similar but the truth is the C-runtime was different to the PASCAL runtime was different to the FORTRAN runtime and so on.

So Microsoft comes along. THEY have compilers for loads of different languages. So some of their computer-language-writing guys got together and said "I know - lets make the runtime the same for ALL our languages and save loads of money" Then another one said: "I know - lets make that COMMON RUNTIME LIBRARY (CLR) run a bit like a Java Virtual Machine - because that would be really cool like those really cool guys over at Sun Micrososososystems!"

And so they did. But at first, of course, they cocked it up royally. So we've had ".NET 1.0 CLR", ".NET 2.0 CLR" and ".NET 3.0 CLR" and "pretty soon now"wink :hehe there will probably be ".NET 4.0 CLR" etc and some such st.

To be even MORE like Sun Micrososososystems they invented a new language called "C#" which would be absolutely not based on Java at all even a little bit, no sirreee.

The languages they made that all call the CLR are C#, C++, VB.NET, ASP.NET and so on.

VB.NET produceds the same code as C#.NET and you can do all the same things in it.

Except guess what language the CLR is written in itself?

C#

Consider that a clue. When Bill's boys set about writing stuff themselves they either do it in C++ for the lower level stuff or C# when not.

There is a justification for using VB.NET, though. No - it's not when your programmers are too dumb to learn C# - although you might be forgiven for thinking that the fuss some people make about learning a new language. No - it's if you already have a lot of good VB code written in VB5 or VB6 and you want to try and re-use it.

Now. If you want some really professional advice?

Pay me. hehe
I'd pay you more if you knew CLR stood for Common Language Runtime and not COMMON RUNTIME LIBRARY...

Don

28,378 posts

315 months

Tuesday 29th July 2008
quotequote all
WTD said:
I'd pay you more if you knew CLR stood for Common Language Runtime and not COMMON RUNTIME LIBRARY...
D'oh!winkrofl So I mixed up the order of letters. I'm Dyslexic. And I wasn't running it through a compiler - which would have caught that one.wink D'oh!

Edited by Don on Tuesday 29th July 15:23

animal44

70 posts

220 months

Thursday 31st July 2008
quotequote all
Jeez, the code wars again! :-)

VB is easier to learn, understand and maintain, C# harder to read and usually a bugger to maintain (though well writtem C# is easy to maintain).

VB attracts amatuers as it's perhaps easier to learn, so resulting code may not be the best.
C# attracts nerds who like to make things complicated to show off, and thus make things hard to maintain :-) (someone referred to c++ as a write only language)

A goof VB programmer will be just as good as a good C# programmer.

C# chargeout rates are higher than VB for equivalent experience.

Both run the same CLR code, so essentially there is no real difference.

An experienced programmer could learn either language in a day.

My advice would be to find someone who knows both languages and write in .net (ie use VB & C# as appropriate).

Whatever you do avoid java! :-) (donning helmet and digging a trench)