Why did Microsoft even bother making VB.Net...
-
Because they wanted "old" VB developers to switch to .NET?
Robert Rohde wrote:
Because they wanted "old" VB developers to switch to .NET?
Exactly! Interesting part is that VB.NET is not VB at all. Although they have similiar syntax they are quite different languages. "Government is not the solution to our problem. Government is the problem." -Ronald Reagan
-
I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.
Pumk1nh3ad wrote:
C# is so much better.
I wouldn't say it in this way. There are actually two things which are different among VB.NET, C# and C++/CLI. First thing is syntax, this is obvious and what syntax(language) to use is matter of style. Second thing is compiler and this is not so obvious. But I will not write here more about quality of compilers because it could lead to... you know... flame "Government is not the solution to our problem. Government is the problem." -Ronald Reagan
-
I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.
Oh no. Yet another language war! I'm just about to start a contract using VB .NET after only having done C# so far. But I've used classic VB a lot in the past too. To be honest, although I have my language preferences, I can live with most of them. One exception is Perl. However, in general, I disagree with the "why do we need more than one language?" school. Kevin
-
Hmmm... I don't have a problem with it, or C#, or C++, or Java, or ... The underlying constructs are all the same to me. I get paid the same no matter what language(s) I use. "Clean" code is a matter of opinion. Tell me that, when doing Office automation, putting all the
Missing
values into the optional parameters, that a lot of the methods take, makes for cleaner code in C#! I'll take VB.NET over C# to do avoid that. The opposite is also true. C# supports unsafe code and pointers, where VB.NET does not. Big deal! If I need something like that, I'll write a C# class library to support my VB code. I get paid no the same, no matter what... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming GnomeI agree completely. Be prepared to use whatever is appropriate for the job. When other things are equal, use what you prefer. That's the professional attitude. I've mainly only used C# so far in .NET. But I'm about to start a VB .NET contract. I don't mind. Only problem might be silly recruiters who insist that you must have recent experience of X, Y, Z. So will C# jbs be closed to me when I finish this contract? Kevin
-
Pumk1nh3ad wrote:
VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable.
I've never been much of a fan of the VB syntax, especially after using curly braces for years. However, I have to say that using it in VS.NET 2003 wasn't bad. The verbosity is not an issue since the IDE writes much of it for you, and formats it with the proper casing and spacing between variables and operators. Something that for years I had wanted in the C/C++ IDEs has been available for VB for a while. So it's easy to adapt to it. I also find that the extra verbosity actually makes the code more readable:
if (a < 1 && !foo())
{
...
}vs.
If a < 1 And Not foo() Then
...
End IfVB code reads more like regular English. Regards, Alvaro
Alvaro Mendez wrote:
if (a < 1 && !foo()) { ... }
The ! operator is one of my pet peeves about the C-family languages. I agree VB is more readable here. Because of the lack of readability of the ! operator developers often compare to false, but this is less readable than if you could use a not keyword. I still oscillate between ! and comparing to false. The ! is particularly bad in contexts where you have if (something) followed by if (!something) You tend not to see the ! (no pun intended);) Kevin
-
To satisfy millions of their customers? Seems like a pretty solid reason to me. Charlie if(!curlies){ return; }
I don't get the impression they did that at all, given that VB.NET is completely not backward-compatible with VB6.
Software Zen:
delete this;
-
I agree completely. Be prepared to use whatever is appropriate for the job. When other things are equal, use what you prefer. That's the professional attitude. I've mainly only used C# so far in .NET. But I'm about to start a VB .NET contract. I don't mind. Only problem might be silly recruiters who insist that you must have recent experience of X, Y, Z. So will C# jbs be closed to me when I finish this contract? Kevin
Kevin McFarlane wrote:
So will C# jbs be closed to me when I finish this contract?
That probably depends on how you write your resume. Stress the fact that you're a language-independant developer with large .NET Framework experience and you should be fine. You'll, oc course, have to name-drop all the languages that comes standard in the Framework, because that's the game we have to play... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
-
This is clearly a poor attempt at starting a religous debate between c# and VB. Pumk1nh3ad has been known to do this sort of thing from time to time. My suggestion is to ignore him. E=mc2 -> BOOM
On the contrary, he raises a very good point about the convergence of these languages and did so in a logical manner. The tigress is here :-D
-
Kevin McFarlane wrote:
So will C# jbs be closed to me when I finish this contract?
That probably depends on how you write your resume. Stress the fact that you're a language-independant developer with large .NET Framework experience and you should be fine. You'll, oc course, have to name-drop all the languages that comes standard in the Framework, because that's the game we have to play... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
I do all this but, e.g., I was asked by one recruiter if I had recent C# experience. He got stroppy when I told him it was a silly question. And you do see ads saying "must be recent." Kevin
-
I don't get the impression they did that at all, given that VB.NET is completely not backward-compatible with VB6.
Software Zen:
delete this;
It was for syntax familiarity rather than backward compatibility. Same reason as why C# and Java follow C-style syntax when technically they should have abandoned it. But had they done so C-family developers would most likely have rejected C# and Java. Kevin
-
It was for syntax familiarity rather than backward compatibility. Same reason as why C# and Java follow C-style syntax when technically they should have abandoned it. But had they done so C-family developers would most likely have rejected C# and Java. Kevin
Agreed. From what I've read and heard, most VB developers start over from scratch when they convert. I think Microsoft dropped the ball, though, in not at least attempting to create some forward path from VB6 to VB.NET. Given their resources, it shouldn't have been that hard to create an automated tool that would do at least a partial port from VB6 to VB.NET, and then highlight the bits in the ported result that needed individual attention. One confession here; I'm not a VB developer. I think I've written only three or four VB apps total, none of which were other than small scale 'one-off' utilities.
Software Zen:
delete this;
-
Agreed. From what I've read and heard, most VB developers start over from scratch when they convert. I think Microsoft dropped the ball, though, in not at least attempting to create some forward path from VB6 to VB.NET. Given their resources, it shouldn't have been that hard to create an automated tool that would do at least a partial port from VB6 to VB.NET, and then highlight the bits in the ported result that needed individual attention. One confession here; I'm not a VB developer. I think I've written only three or four VB apps total, none of which were other than small scale 'one-off' utilities.
Software Zen:
delete this;
Gary R. Wheeler wrote:
I think Microsoft dropped the ball, though, in not at least attempting to create some forward path from VB6 to VB.NET.
They have done haven't they? It's called the upgrade Wizard? Or do you mean something else? Kevin
-
Gary R. Wheeler wrote:
I think Microsoft dropped the ball, though, in not at least attempting to create some forward path from VB6 to VB.NET.
They have done haven't they? It's called the upgrade Wizard? Or do you mean something else? Kevin
I was under the (admittedly vague) impression the wizard didn't work very well. I ought to shut up at this point; we're reaching territory where I don't know what I'm talking about :-O.
Software Zen:
delete this;
-
I do all this but, e.g., I was asked by one recruiter if I had recent C# experience. He got stroppy when I told him it was a silly question. And you do see ads saying "must be recent." Kevin
It's probably not a project you wanted to begin with. The contractor is showing a limited understanding of the .NET Framework... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
-
I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.
I think the real question is Why J# :-D
-
I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.
I do programming as a full time job and have done so for a decade and a half. Microsoft made VB.Net specifically for me - and fortunately there were other people quite like me so the net result (pun intended) was that it was a good business decision. '--8<------------------------ Ex Datis: Duncan Jones Merrion Computing Ltd
-
I was under the (admittedly vague) impression the wizard didn't work very well. I ought to shut up at this point; we're reaching territory where I don't know what I'm talking about :-O.
Software Zen:
delete this;
-
I do programming in my free time, and used to do VB.NET, then switched to C#. They both do the same things, but C# totally puts vb to shame. VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code. It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing. And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable. Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.
Pumk1nh3ad wrote:
VB is inheritly sloppy, but C# makes it so much easier to write clean, organized code.
I'd more so say the opposite... VB has clearer keywords and the verbosity helps with the readability. Beyond that, its a matter of the person writing it. Nothing wrong with C#, but vb is typically more readable than C# (you'd have to try pretty hard to make it horrible)
Pumk1nh3ad wrote:
It also is better to have it where it does not automatically convert different data types automatically, that makes it easier to tell what you are doing.
ehem. Thats optional. Learn about what you are criticizing & how to do stuff before you criticize it ;P I have option strict & option explicit set as the default for all my projects ;)
Pumk1nh3ad wrote:
And the syntax, VB syntax is so messy and cumbersome, while C# syntax is clear and readable.
:laugh: no. Compare some typical code. Its not messy, just different. Verbose to be specific. I like verbosity. In VS, its not much of an issue in terms of typing, and makes it easier to read (and type).
Pumk1nh3ad wrote:
Makes me wonder why Microsoft even made VB.net in the first place, C# is so much better.
Both are perfectly fine languages. Its all a matter of preference. If you can't handle VB having the word "BASIC" or "Beginner's" in it, then don't use it ;P Or if you just prefer cish syntax... or whatever your reason may be. Both have features that are appealing as opposed to the other. Its all a matter of preference, especially considering both do about the same things ;P
-
Gotta give you a 1 for that. I don't think he would do such a thing and I did not get that impression from him. I don't think he's caused any trouble since his original appearance here and I believe he's lapsed into being one of us that just hangs out. He's just discovering some of the things that have chaffed many of us for years. VB has always been a programming language sitting on a black box that sits on a black box that sits on a black box. But you can build stuff quickly as long as you don't need fancy. Use the built in stuff and VB would take you a long way. C++ has always been like building a high-rise one brick at a time. The main gripe for many has been VB is to restrictive and C++ to dangerous. Microsoft came out with C# for those. But the VB crowd tried it and got road-blocked by braces and colons and said, "Uh, we want VB." There's no holy war here. He's just making some observations. A 1 you get. A 1 you've earned. :-D
I only read CP for the articles. Code-frog System Architects, Inc.
The saving grace here is .Net. The CLR is the great religious equalizer. Regardless of the syntactical implementation of personal and team preference, it all gets compiled to run on the CLR. We all bow and pray to the Father, Son, and Holy Microsoft. (I'm a VB and C++ and C# developer)
-
Alvaro Mendez wrote:
if (a < 1 && !foo()) { ... }
The ! operator is one of my pet peeves about the C-family languages. I agree VB is more readable here. Because of the lack of readability of the ! operator developers often compare to false, but this is less readable than if you could use a not keyword. I still oscillate between ! and comparing to false. The ! is particularly bad in contexts where you have if (something) followed by if (!something) You tend not to see the ! (no pun intended);) Kevin
If this is a problem, you could always use the
not
keyword instead of!
C++ supports the following less well known keyword eqivalents:and &&
and_eq &=
bitand &
bitor |
compl ~
not !
or ||
or_eq |=
xor ^
xor_eq ^=
not_eq !=C# doesn't seem to support these alternatives, which were originally included in C++ to support development when the characters needed for the more usual variants weren't available on the keyboard. Gavin Greig "Haw, you're no deid," girned Charon. "Get aff ma boat or ah'll report ye." Matthew Fitt - The Hoose O Haivers: The Twelve Trauchles O Heracles. -- modified at 5:50 Tuesday 7th February, 2006