Why C# Is not a "Better" Language Than VB.NET
-
Why C# is not a better language than VB.NET[^]. Interesting read. cheers, Chris Maunder
-
Why C# is not a better language than VB.NET[^]. Interesting read. cheers, Chris Maunder
Well, I like C# better but as he says, personal preference. In reality the best language is the one your talent pool can work with and produce a usable product with. :rose: I do not mind getting old. It beats all the other options that can think of.
-
Why C# is not a better language than VB.NET[^]. Interesting read. cheers, Chris Maunder
That's too funny. From the article : Perl.NET can do things that C# cannot. Does that make Perl.NET a better language than C#? No. It just makes it a better choice in some cases. If you need to use unsafe mode, you need C#. You cannot overload operators in VB.NET. You might find VB.NET's late binding feature more convenient than using the reflection API in C#. You might like background compilation in VB.NET. It is is possible, that for certain features the IL that C# generates is more efficient than the IL that VB.NET does Things to note: 1/ He lists several things that C# can do that VB.NET cannot. 2/ He lists some things that the two languages do differently and suggests that some might prefer the VB way ( fair enough, but C# still does things VB.NET cannot ) 3/ He has to reach for PERL (!!!) to make a point about languages that can do things C# cannot ( further implying that VB.NET cannot do anything that C# cannot ). Perl is a very different language to C#. VB.NET really isn't, except for the baggage it carries from VB6. As far as I'm concerned, C# is a better language because the authors had a fresh slate to create a language from. C++ suffers at times from comprimises made to keep as much C compatibility as possible, a decision that was made because at the time, C compatibility was paramount for the language to survive. VB.NET suffers from the same sickness, and right next door is a shiny new language, without all the problems. If VB.NET and C# are equal, why did Microsoft need to create C# ? The answer is that there are so many truly terrible VB hackers out there that the name of VB is beyond redemption, no matter how good the language they tie it to. Managers love VB, because they reckognise that 'anyone' can use it. Most jobs I go for, the first thing I have to do is steer them away from the idea that VB will give them easy code that anyone can maintain for them. As I said the other day in the soapbox, there are two groups of Windows coders, those who asked 'what's the best language', and those who asked 'what's the easiest'. Those who asked the first question took up C++, and may have moved to C#. Those who asked the second are lobbying for VB6 support from Microsoft, because they're scared to learn something new, or begrudgingly moving to VB.NET or ( if they know how to code ) are moving to C#. At least, that's what my experience leads me to believe. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weir
-
That's too funny. From the article : Perl.NET can do things that C# cannot. Does that make Perl.NET a better language than C#? No. It just makes it a better choice in some cases. If you need to use unsafe mode, you need C#. You cannot overload operators in VB.NET. You might find VB.NET's late binding feature more convenient than using the reflection API in C#. You might like background compilation in VB.NET. It is is possible, that for certain features the IL that C# generates is more efficient than the IL that VB.NET does Things to note: 1/ He lists several things that C# can do that VB.NET cannot. 2/ He lists some things that the two languages do differently and suggests that some might prefer the VB way ( fair enough, but C# still does things VB.NET cannot ) 3/ He has to reach for PERL (!!!) to make a point about languages that can do things C# cannot ( further implying that VB.NET cannot do anything that C# cannot ). Perl is a very different language to C#. VB.NET really isn't, except for the baggage it carries from VB6. As far as I'm concerned, C# is a better language because the authors had a fresh slate to create a language from. C++ suffers at times from comprimises made to keep as much C compatibility as possible, a decision that was made because at the time, C compatibility was paramount for the language to survive. VB.NET suffers from the same sickness, and right next door is a shiny new language, without all the problems. If VB.NET and C# are equal, why did Microsoft need to create C# ? The answer is that there are so many truly terrible VB hackers out there that the name of VB is beyond redemption, no matter how good the language they tie it to. Managers love VB, because they reckognise that 'anyone' can use it. Most jobs I go for, the first thing I have to do is steer them away from the idea that VB will give them easy code that anyone can maintain for them. As I said the other day in the soapbox, there are two groups of Windows coders, those who asked 'what's the best language', and those who asked 'what's the easiest'. Those who asked the first question took up C++, and may have moved to C#. Those who asked the second are lobbying for VB6 support from Microsoft, because they're scared to learn something new, or begrudgingly moving to VB.NET or ( if they know how to code ) are moving to C#. At least, that's what my experience leads me to believe. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weir
Christian Graus wrote: If VB.NET and C# are equal, why did Microsoft need to create C# ? Simple! because there are many who can hardly work with non-C/C++ syntax language. Best regards, Paul. Jesus Christ is LOVE! Please tell somebody.
-
Christian Graus wrote: If VB.NET and C# are equal, why did Microsoft need to create C# ? Simple! because there are many who can hardly work with non-C/C++ syntax language. Best regards, Paul. Jesus Christ is LOVE! Please tell somebody.
Paul Selormey wrote: Simple! because there are many who can hardly work with non-C/C++ syntax language. ROTFL - that's pretty funny. So you're saying that the VB programmers are barely able to work as it stands, if you add some semicolons and mathematical symbols, they are lost ? Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
-
Christian Graus wrote: If VB.NET and C# are equal, why did Microsoft need to create C# ? Simple! because there are many who can hardly work with non-C/C++ syntax language. Best regards, Paul. Jesus Christ is LOVE! Please tell somebody.
-
Paul Selormey wrote: Simple! because there are many who can hardly work with non-C/C++ syntax language. ROTFL - that's pretty funny. So you're saying that the VB programmers are barely able to work as it stands, if you add some semicolons and mathematical symbols, they are lost ? Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
No, what he says is the exact opposite: that us, poor C/C++/C# guys are not able to come to terms with the begin/end thingy And he's partially right. But it's not lack of technical skills or low IQ, it's just the fact that the VB syntax is sooo convoluted and illogical that we avoid it whenever we can (which is not nearly often enogh :-) ) OGR
-
No, what he says is the exact opposite: that us, poor C/C++/C# guys are not able to come to terms with the begin/end thingy And he's partially right. But it's not lack of technical skills or low IQ, it's just the fact that the VB syntax is sooo convoluted and illogical that we avoid it whenever we can (which is not nearly often enogh :-) ) OGR
ogrig wrote: No, what he says is the exact opposite: Yeah, I know :-) I was pointing out that it's the VB guys who have the problem. We can read English, it's just not an efficient way to design a language. They are the ones unable to learn what a bunch of symbols mean. ogrig wrote: VB syntax is sooo convoluted and illogical And a double AMEN to that. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
-
No, what he says is the exact opposite: that us, poor C/C++/C# guys are not able to come to terms with the begin/end thingy And he's partially right. But it's not lack of technical skills or low IQ, it's just the fact that the VB syntax is sooo convoluted and illogical that we avoid it whenever we can (which is not nearly often enogh :-) ) OGR
FWIW, i've been using BASIC-derived languages far longer than i've been using C-derived languages. While i find C syntax easier to scan quickly, i can code comfortably in both (provided i'm using a good editor). That said, VBScript is the only BASIC-syntax language that isn't a waste of time on Windows. And in truth, it's really a stretch to call the syntax BASIC-derived.
Shog9
I'm not the Jack of Diamonds... I'm not the six of spades. I don't know what you thought; I'm not your astronaut...
-
No, what he says is the exact opposite: that us, poor C/C++/C# guys are not able to come to terms with the begin/end thingy And he's partially right. But it's not lack of technical skills or low IQ, it's just the fact that the VB syntax is sooo convoluted and illogical that we avoid it whenever we can (which is not nearly often enogh :-) ) OGR
ogrig wrote: No, what he says is the exact opposite: that us, poor C/C++/C# guys are not able to come to terms with the begin/end thingy But accept
<begin> Say XML! </begin>
and its related friends. Best regards, Paul. Jesus Christ is LOVE! Please tell somebody.
-
FWIW, i've been using BASIC-derived languages far longer than i've been using C-derived languages. While i find C syntax easier to scan quickly, i can code comfortably in both (provided i'm using a good editor). That said, VBScript is the only BASIC-syntax language that isn't a waste of time on Windows. And in truth, it's really a stretch to call the syntax BASIC-derived.
Shog9
I'm not the Jack of Diamonds... I'm not the six of spades. I don't know what you thought; I'm not your astronaut...
Yeah, and FORTRAN/Fortran gave me my degrees. Best regards, Paul. Jesus Christ is LOVE! Please tell somebody.
-
ogrig wrote: No, what he says is the exact opposite: that us, poor C/C++/C# guys are not able to come to terms with the begin/end thingy But accept
<begin> Say XML! </begin>
and its related friends. Best regards, Paul. Jesus Christ is LOVE! Please tell somebody.
To be honest, I think XML is overrated because it's so verbose, but for some applications, it's brilliant. begin/end is annoying, but it's pretty much bottom of my list of VB complaints. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
-
FWIW, i've been using BASIC-derived languages far longer than i've been using C-derived languages. While i find C syntax easier to scan quickly, i can code comfortably in both (provided i'm using a good editor). That said, VBScript is the only BASIC-syntax language that isn't a waste of time on Windows. And in truth, it's really a stretch to call the syntax BASIC-derived.
Shog9
I'm not the Jack of Diamonds... I'm not the six of spades. I don't know what you thought; I'm not your astronaut...
Shog9 wrote: FWIW, i've been using BASIC-derived languages far longer than i've been using C-derived languages. Yeah, me too. I learned programming in BASIC in the early eighties, and I taught myself C++ in 1999. Shog9 wrote: While i find C syntax easier to scan quickly, i can code comfortably in both (provided i'm using a good editor). Agreed - I've done ASP.NET sites in VB.NET, and a few other things. It's not that it's hard. Shog9 wrote: That said, VBScript is the only BASIC-syntax language that isn't a waste of time on Windows. ROTFL - that gets my 5 !!! Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
-
That's too funny. From the article : Perl.NET can do things that C# cannot. Does that make Perl.NET a better language than C#? No. It just makes it a better choice in some cases. If you need to use unsafe mode, you need C#. You cannot overload operators in VB.NET. You might find VB.NET's late binding feature more convenient than using the reflection API in C#. You might like background compilation in VB.NET. It is is possible, that for certain features the IL that C# generates is more efficient than the IL that VB.NET does Things to note: 1/ He lists several things that C# can do that VB.NET cannot. 2/ He lists some things that the two languages do differently and suggests that some might prefer the VB way ( fair enough, but C# still does things VB.NET cannot ) 3/ He has to reach for PERL (!!!) to make a point about languages that can do things C# cannot ( further implying that VB.NET cannot do anything that C# cannot ). Perl is a very different language to C#. VB.NET really isn't, except for the baggage it carries from VB6. As far as I'm concerned, C# is a better language because the authors had a fresh slate to create a language from. C++ suffers at times from comprimises made to keep as much C compatibility as possible, a decision that was made because at the time, C compatibility was paramount for the language to survive. VB.NET suffers from the same sickness, and right next door is a shiny new language, without all the problems. If VB.NET and C# are equal, why did Microsoft need to create C# ? The answer is that there are so many truly terrible VB hackers out there that the name of VB is beyond redemption, no matter how good the language they tie it to. Managers love VB, because they reckognise that 'anyone' can use it. Most jobs I go for, the first thing I have to do is steer them away from the idea that VB will give them easy code that anyone can maintain for them. As I said the other day in the soapbox, there are two groups of Windows coders, those who asked 'what's the best language', and those who asked 'what's the easiest'. Those who asked the first question took up C++, and may have moved to C#. Those who asked the second are lobbying for VB6 support from Microsoft, because they're scared to learn something new, or begrudgingly moving to VB.NET or ( if they know how to code ) are moving to C#. At least, that's what my experience leads me to believe. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weir
Christian Graus wrote: further implying that VB.NET cannot do anything that C# cannot Well, VB.NET can do at least one thing that C# cannot - design-time event handling. In C#, you have to subscribe to an event at runtime (whether its hidden by the designer or you do it by hand, that's still what happens). In VB.NET, you can use the "Handles" keyword after a method definition to indicate that it handles a particular event on a particular object. There's no way to duplicate that behaviour in C#. There may very well be other things - I haven't really looked into it in detail.
Ryan
"Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
-
Christian Graus wrote: further implying that VB.NET cannot do anything that C# cannot Well, VB.NET can do at least one thing that C# cannot - design-time event handling. In C#, you have to subscribe to an event at runtime (whether its hidden by the designer or you do it by hand, that's still what happens). In VB.NET, you can use the "Handles" keyword after a method definition to indicate that it handles a particular event on a particular object. There's no way to duplicate that behaviour in C#. There may very well be other things - I haven't really looked into it in detail.
Ryan
"Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
This is one of the things that the guy mentioned in terms of doing the same thing differently. How do events occur/get handled at design time ? The syntax is different, but how does the behaviour differ ? ( FWIW, I like the VB syntax here, but I don't see how it's more than syntactic sugar ) Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
-
That's too funny. From the article : Perl.NET can do things that C# cannot. Does that make Perl.NET a better language than C#? No. It just makes it a better choice in some cases. If you need to use unsafe mode, you need C#. You cannot overload operators in VB.NET. You might find VB.NET's late binding feature more convenient than using the reflection API in C#. You might like background compilation in VB.NET. It is is possible, that for certain features the IL that C# generates is more efficient than the IL that VB.NET does Things to note: 1/ He lists several things that C# can do that VB.NET cannot. 2/ He lists some things that the two languages do differently and suggests that some might prefer the VB way ( fair enough, but C# still does things VB.NET cannot ) 3/ He has to reach for PERL (!!!) to make a point about languages that can do things C# cannot ( further implying that VB.NET cannot do anything that C# cannot ). Perl is a very different language to C#. VB.NET really isn't, except for the baggage it carries from VB6. As far as I'm concerned, C# is a better language because the authors had a fresh slate to create a language from. C++ suffers at times from comprimises made to keep as much C compatibility as possible, a decision that was made because at the time, C compatibility was paramount for the language to survive. VB.NET suffers from the same sickness, and right next door is a shiny new language, without all the problems. If VB.NET and C# are equal, why did Microsoft need to create C# ? The answer is that there are so many truly terrible VB hackers out there that the name of VB is beyond redemption, no matter how good the language they tie it to. Managers love VB, because they reckognise that 'anyone' can use it. Most jobs I go for, the first thing I have to do is steer them away from the idea that VB will give them easy code that anyone can maintain for them. As I said the other day in the soapbox, there are two groups of Windows coders, those who asked 'what's the best language', and those who asked 'what's the easiest'. Those who asked the first question took up C++, and may have moved to C#. Those who asked the second are lobbying for VB6 support from Microsoft, because they're scared to learn something new, or begrudgingly moving to VB.NET or ( if they know how to code ) are moving to C#. At least, that's what my experience leads me to believe. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weir
Christian Graus wrote: why did Microsoft need to create C# Marketing and because they were pissed at Sun. There is absolutely NO reason that many of the issues with C/C++ would not have been properly fixed, and then made "toggleable" with compiler switches to turn off the MS specific parts. For example, there is no reason that I can see that adding a simple property to arrays so that it's current length can be properly determined could not have been added. Nor is there any reason a new, real, bona-fide "string" primitive could not have been added with full support for unicode. Nor is there any reason an *optional* GC could not have been added. Etc, etc, etc. And ALL of this could have been done with out a huge friggin 23 MB runtime, and the requirement of running under a stupid byte-code "managed code" framework. ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF!
-
This is one of the things that the guy mentioned in terms of doing the same thing differently. How do events occur/get handled at design time ? The syntax is different, but how does the behaviour differ ? ( FWIW, I like the VB syntax here, but I don't see how it's more than syntactic sugar ) Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
Christian Graus wrote: How do events occur/get handled at design time ? The syntax is different, but how does the behaviour differ ? I'm not sure how it gets wired up. There's not a lot of difference, except if you change the name of the method, you only have to change it in one place (great for forgetful people like me ;)) Christian Graus wrote: I like the VB syntax here, but I don't see how it's more than syntactic sugar Isn't that the whole point of the article? There's very little difference between the two languages except for syntax?
Ryan
"Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
-
Christian Graus wrote: why did Microsoft need to create C# Marketing and because they were pissed at Sun. There is absolutely NO reason that many of the issues with C/C++ would not have been properly fixed, and then made "toggleable" with compiler switches to turn off the MS specific parts. For example, there is no reason that I can see that adding a simple property to arrays so that it's current length can be properly determined could not have been added. Nor is there any reason a new, real, bona-fide "string" primitive could not have been added with full support for unicode. Nor is there any reason an *optional* GC could not have been added. Etc, etc, etc. And ALL of this could have been done with out a huge friggin 23 MB runtime, and the requirement of running under a stupid byte-code "managed code" framework. ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF!
Jim Crafton wrote: Marketing and because they were pissed at Sun. I agree. But in equal parts. Why was it needed for marketing ? Because the VB name was/is beyond redemption. There will always be a large number of developers who will not take anything tied to VB seriously. Jim Crafton wrote: There is absolutely NO reason that many of the issues with C/C++ would not have been properly fixed, and then made "toggleable" with compiler switches to turn off the MS specific parts. Yeah, but that would have had the C++ community up in arms. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
-
Christian Graus wrote: How do events occur/get handled at design time ? The syntax is different, but how does the behaviour differ ? I'm not sure how it gets wired up. There's not a lot of difference, except if you change the name of the method, you only have to change it in one place (great for forgetful people like me ;)) Christian Graus wrote: I like the VB syntax here, but I don't see how it's more than syntactic sugar Isn't that the whole point of the article? There's very little difference between the two languages except for syntax?
Ryan
"Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
Ryan Binns wrote: Isn't that the whole point of the article? There's very little difference between the two languages except for syntax? Yeah, and MY point was that even the article mentioned things C# can do that VB.NET cannot, and failed to mention anything in the other direction. So there IS difference apart from syntax, and it's all in C#'s favour ( can do more/doesn't have crappy legacy VB6 'features' ) But I agree in part - the Handles keyword is nice and compact, it's where you'd expect it to be, and I for one would be happy to see C# support it. Christian I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
-
Why C# is not a better language than VB.NET[^]. Interesting read. cheers, Chris Maunder
I know I have mentioned before, I don't consider any language "better" than all the others. Each language has their superior qualities. Lisp handles data expressions better than most languages, I certainly would not consider it "better" than C/C++ or C# just because of how it handles data. Assembly can do almost anything, but its nature of being too close to machine code and difficulty reading makes it powerful and difficult to use at the same time. Thus we have higher languages to make things easier. Very little can beat hand-optimized assembly for speed. But time wise justifies that extra effort only in the most extreme cases. I like the various C incarnations as a general purpose system for its balance between flexibility and power. That doesn't mean I fall in the VB haters group. Heck I used to write basic, even wrote my own interpreter for basic for other languages to make it easier to maintain code. In almost every case you can find at least one point in any language comparison that one side does better than the others.... Except maybe Cobol. X| Cobol used to be the language of choice to make fun of, now it is Basic. It neither bothers, nor excites me wether VB lives or dies. I write C++, and will probably migrate to C# someday, it doesn't matter to me if someone else doesn't. I say live and let live. _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)