|
-
Jun 13th, 2008, 02:29 PM
#1
Is VB.NET a Second Class Citizen?
OP-ED: Visual Basic .NET As A Second Class Citizenship, Is a State of Mind
http://www.developer.com/net/vb/article.php/3752746
We published this on Developer.com. If you don't agree with Paul, let us know why! If you like this article (or find it interesting), then consider digging it.
http://digg.com/programming/OP_ED_VB...ind?OTC-em-st1
Brad!
-
Jun 13th, 2008, 03:10 PM
#2
Re: Is VB.NET a Second Class Citizen?
I find that VB.NET provides features that are more useful for "today's" way of doing things. C# works towards being more basic/fundamental in the sense that it is similar in syntax to Java and C++, but goes a step further with management and providing more fundamental programming features that one can build on.
-
Jun 13th, 2008, 03:14 PM
#3
Re: Is VB.NET a Second Class Citizen?
Good article. I replied to Paul with my views and comments (all positive). 
I think they should have removed the VB6 legacy support as that just brought the problems with how its perceived right along. Note how C# doesnt have VB6 legacy support and it was received very well. VB.NET is the same darn language, just different stynat basically as they both are based upon the framework. If Microsoft would have forced programmers to learn VB.NET properly it would be better for the language.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
Jun 13th, 2008, 04:11 PM
#4
Fanatic Member
Re: Is VB.NET a Second Class Citizen?
The thing is though a lot of programmers seem to learn both in tandem if they are focusing on dotnet technology. PS good article.
Languages: Visual Basic 05/08, C# 08
IDE: Express Editions
Framework: 2.0, 3.0, 3.5
Lesson 5: Don't take domestic advice from perpetual singles. - Mendhak
-
Jun 13th, 2008, 04:18 PM
#5
Fanatic Member
Re: Is VB.NET a Second Class Citizen?
Can i just add, i myself suffered from the "i must learn c# to be good" mindset. thing is the more i learned about c# the more i realised the languages are identical and i actually preferred VB syntax.
Languages: Visual Basic 05/08, C# 08
IDE: Express Editions
Framework: 2.0, 3.0, 3.5
Lesson 5: Don't take domestic advice from perpetual singles. - Mendhak
-
Jun 13th, 2008, 05:29 PM
#6
Re: Is VB.NET a Second Class Citizen?
I think that guy has just managed to make VB coders look bad by using a whiney tone of his own. I ended up feeling sorry for the VB coders that actually do feel secure in their choice of language, that guy definitely doesn't. Very sad.
I don't live here any more.
-
Jun 13th, 2008, 06:35 PM
#7
Re: Is VB.NET a Second Class Citizen?
 Originally Posted by wossname
I think that guy has just managed to make VB coders look bad by using a whiney tone of his own. I ended up feeling sorry for the VB coders that actually do feel secure in their choice of language, that guy definitely doesn't. Very sad.
I think you completely missed the point of the editorial. Paul's statement was that VB.NET developers should feel secure and stand up for their programming language. He said they should stop feeling sorry for themselves and stand up and support their communities, the industry, and most of all their programming language.
I was actually at the meeting Paul referred to in Redmond. The VB people Paul refers to were complaining and whining about VB's perceived status. Seriously that is the only way to describe it. They put themselves into the second class position. The author of the article was actually the one saying "wait a minute." He is the one that was defending VB and its status as a full fledged language.
In looking at Paul's editorial, I don't see where he is whining. Rather he is stating his observation.
Brad!
-
Jun 13th, 2008, 06:59 PM
#8
Re: Is VB.NET a Second Class Citizen?
The problem is that these whiny, second-class, insecure nuts are creating noise. Noise gets noticed... The squeaky wheel gets the oil. Meanwhile the rest of us rolled with the changes, roared "It's about time!" and started pushing things to the new edge.... And then things take steps backwards by being retro-fitted to appease the noisy minority. Default form instances? C'mon, really join the 21st century already. I'm happy with the direction VB has taken these last few years. Some people lambaste it because it's verbose and has other "quirks" but that's what makes VB VB. Honestly it's killing me at work that there isn't a harder push to get our app converted to .NET. So now we have this hybrid monster that's 80% VB6 and 20% .NET...
It's kind of like the PC v Mac arguements. Mac-philes are a noisy bunch. They beat their chests and claim how crappy PCs are and that Macs are better. PC users tend to just shrug their shoulders and go "meh, whatever. It gets the job done." If it has "C" in the name, it must be good. Ar, ar, ar, Beat Chest. C good, VB bad. Meanwhile, the VBers are rapidly cranking out GUI after GUI after GUI.
-tg
-
Jun 13th, 2008, 09:29 PM
#9
^:^...ANGEL...^:^
Re: Is VB.NET a Second Class Citizen?
OK I totally agree with C# getting too much attention.
I started out doing VB 6 then moved to Delphi which is totally object oriented compared to VB 6. Now when the time came to move to .NET I moved back to VB.NET over C# which is a natural choice for someone who is doing Delphi which is closer to C++ in terms of syntex (well object Pascal really).
Anyways I have been always being hammered by those who uses C# and trying to show me how better it is over VB.NET. Once I asked them allright lets start coding the same project in VB.NET and C# and lets see who makes a difference.
We both went out to go nuts with using as much functionality as we can and you wouldn't believe it...we both came with exactly same way of doing it in 2 different languages.
After benchmarking what we did the smuck son of a ***** still wouldn't let it go his way with C# so I started thinking whatz the bloody point. Let him whine and ***** whatever he wants and I will keep using what I really want.
I use VB.NET when I go to a company who uses Vb.NET and use C# where a company uses C#, simple is that.
VB.NET is no different than C#. For those who whine about it, grow up and get your facts right. You are no different than Intel/AMD fan boys.
Have fun.
Last edited by wrack; Jun 13th, 2008 at 09:32 PM.
-
Jun 14th, 2008, 09:22 AM
#10
Re: Is VB.NET a Second Class Citizen?
I started using BASIC on mainframes and mini's in the late 70's. We were always dis'd for using BASIC - and I could care less.
It's never going to change - BASIC = Beginners All Purpose Symbolic Instruction Code - I think it's the BEGINNER's part that makes other think they are superior.
Also - if you think of the history of all this - Radio Shack machines had BASIC - all those other early pre-PC machines - it reached out to hobbyists.
But isn't that the whole point - a language that can be used by a 10 year old just learning how to input and output and do simple logic?
All these languages have exactly the same capability. I've written UI's and reports in COBOL, DIBOL, BASIC and several other 4th gen languages. They all do exactly the same thing. When speed became an issue you reached out to using a lower level language - ASM, machine code, whatever it might have been called on that hardware platform.
I would prefer to use a language that is "english-based syntax" - COBOL didn't bother me - BASIC certainly doesn't. And coding in T-SQL is also "word-based" syntax.
MS is not the first to come along with a framework. The mini/mainframes I used had system libraries that leveraged all the aspects of the hardware platform and CPU machine code as well.
It's great that MS finally created the .Net framework - it's a spectacular library of consistent and easy-to-use/research/learn power.
-
Jun 14th, 2008, 12:35 PM
#11
Hyperactive Member
Re: Is VB.NET a Second Class Citizen?
Me and my supervisor discussed this yesterday. I told him that I am going to start learning C# because most of the examples on the Internet is written in that language.
The question I have, is there things that can be done in C# that can't be done in VB.net?
-
Jun 14th, 2008, 01:53 PM
#12
Re: Is VB.NET a Second Class Citizen?
Short answer is No. You can convert C# code to VB.NET code with free online utilities like http://labs.developerfusion.co.uk/co...arp-to-vb.aspx so there is no real need to say you have to learn C# because of the amount of C# examples. Microsoft has stated they are working on producing more VB.NET examples for their site. Remember its all based upon the same framework.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
Jun 14th, 2008, 03:07 PM
#13
Re: Is VB.NET a Second Class Citizen?
What RobDog said cannot be emphasized enough.
It's the framework that is unique to the .net languages. The choice of "dialect" - that's all the VB vs C# things is now - should be based on how productive you are.
Learning C# if you are already fluent in VB is a waste of time in my opinion. You should instead be focusing on learning the framework.
I've never done a line of C# code in my life but I can read the C# examples and see exactly what framework functionality is needed to accomplish a task. Plus the IDE helps you along so much that the translation should almost come naturally.
-
Jun 16th, 2008, 09:32 AM
#14
Re: Is VB.NET a Second Class Citizen?
Actually there is one thing that C# can do that VB can't (but there are more things that VB can do that C# can't - the My keyword for starters).
C# can run un-managed code... which can be a powerful, and yet dangerous thing to do.
-tg
-
Jun 16th, 2008, 12:23 PM
#15
Re: Is VB.NET a Second Class Citizen?
Brad, I was there in Redmond when Paul put you on the spot 
However I think one of the biggest complaints (at least from VB MVPs) is the lack of support from within Microsoft that tends to feed the negative perception of VB.
How is one supposed to consider VB equal to C# in terms of the SUPPORT the language has from its creator, when anything and everything coming from Microsoft is C# and maybe sometimes if we are lucky it is VB.
I personally have no problems finding some C# code and converting it to VB, in fact they say most VB developers (serious ones anyway) tend to learn C# out of necessity because of all the code articles and samples (including from MS themselves) that are only in C#.
Time and time again, you find samples, MSDN docs, etc. that only feature C#. I come across a large number of MSDN docs on a given .NET framework class, only to find C# samples on its usage and no VB.
Microsoft tends to be the ones to make VB look bad, not the developers out there using the language.
So while the languages themselves, linked up to the main .NET framework may be more or less equal in capabilities, when people start seeing exclusive frameworks to the C# language (.NET Micro Framework, .NET XNA Framework) that makes C# look like it can do things that VB simply can't, and feeds the poor perception of VB.
They market VB as a "beginners" language, and it is for "hobbyists", however I know that in my spare coding time, I would much rather be working on a hobby project like building a game on XNA, or doing some robotics/embedded type stuff with the micro framework, however I can't unless I code it in C#.
-
Jun 16th, 2008, 12:25 PM
#16
Re: Is VB.NET a Second Class Citizen?
 Originally Posted by techgnome
Actually there is one thing that C# can do that VB can't (but there are more things that VB can do that C# can't - the My keyword for starters).
C# can run un-managed code... which can be a powerful, and yet dangerous thing to do.
-tg
Can C# actually run un-managed code though? I only work in C# a little bit, and mostly with managed code, but I was under the impression that C# supports what is called "unsafe" code, but not actually "unmanaged" code. Is this correct?
I mean this in the exclusive context of C#, and I am not talking about calling unmanaged code like declaring win32 api calls, which we know both languages can do.
-
Jun 16th, 2008, 12:52 PM
#17
Re: Is VB.NET a Second Class Citizen?
I'm pretty sure he means unsafe code; one of those few, somewhat handy features one language actually has over the other. I've written bitmap manipulation routines in unsafe C# only because crawling a bitmap and applying a per-pixel effect on it takes an eternity otherwise. Why it's not in VB.NET as well is anybody's guess. Don't seem like it would be hard to tag a VB.NET class as "Unsafe" the same way C# does.
-
Jun 16th, 2008, 12:54 PM
#18
Re: Is VB.NET a Second Class Citizen?
Depending on where you are most productive though, it would make sense in some scenarios to make use of a C# coded DLL to make unsafe code operations, and code everything else in VB. That is if you happen to be a more productive coder in VB
-
Jun 16th, 2008, 02:13 PM
#19
Re: Is VB.NET a Second Class Citizen?
 Originally Posted by kleinma
Time and time again, you find samples, MSDN docs, etc. that only feature C#. I come across a large number of MSDN docs on a given .NET framework class, only to find C# samples on its usage and no VB.
The .net framework itself was made in C#, which (I think) is why all of the examples always include C# code and is lucky to include VB code.
-
Jun 16th, 2008, 02:29 PM
#20
Re: Is VB.NET a Second Class Citizen?
No, that is not correct. The .NET framework is written mostly (if not all) in C++
It is true that much of the wrapper code around the win32 API is C# though, and that is part of the framework, so I guess its not totally untrue.
However the language the framework is written in has nothing to do with what language they publish samples in.
What you probably read somewhere, is the fact that much of Visual Studio (the actual IDE) is written in C# code.
One thing that is big about the next version of VB, is that the compiler is being rewritten in VB itself. The Javascript compiler for Silverlight 2.0 was actually written in VB.NET as well.
-
Jun 16th, 2008, 02:44 PM
#21
Re: Is VB.NET a Second Class Citizen?
The reason that I've seen given for the plethora of C# samples is a quite simple - it's the de-facto language of standard at MS. Plain and simple. Since C# is what's used day in and day out there, it's easier to have samples on hand that can be used in MSDN. As a result, they don't really have anyone that has the time to convert (which would have to be done by hand) the C# examples to VB. But there is a push to get that fixed.
I forget where I heard that or I'd cite the source. Here's a crazy idea - if you find a sample code and convert it to C#, use the Feedback option of MSDN to submit the code sample back to them. Or, if not, at least use the Feedback option in MSDN to let them know that a code sample would be nice for a given page. Then at least they can start to see where people are going and what needs samples.
-tg
edit - re: unsafe vs unamnaged - my intent was unmanaged, but I think it's because I've seen unmanaged and unsafe used interchangably. Which I don't think is correct. Given that, I think I really did mean unsafe. Something else that I've seen people do: run inline ASM in their C# code - which I think is potentially unmanaged AND unsafe. (??)
-
Jun 16th, 2008, 03:06 PM
#22
Re: Is VB.NET a Second Class Citizen?
 Originally Posted by techgnome
As a result, they don't really have anyone that has the time to convert (which would have to be done by hand) the C# examples to VB.
That area has been a cause of personal aggrevation since VS.2002. Most of the VB samples are really the C# samples translated.
-
Jun 16th, 2008, 06:11 PM
#23
Re: Is VB.NET a Second Class Citizen?
Paul has stated in the MS Slow Chat forum that the .NET compiler was written in C++.
 Originally Posted by Paul Yuk
The compiler is native code written in C++, the VB runtime is completely written in VB (hence so is part of the .NET framework redist), My namespace and framework is completely written in VB.
http://www.vbforums.com/showpost.php...1&postcount=11
Also, on VB.NET vs C# ...
http://www.vbforums.com/showpost.php...26&postcount=4
But I agree with Matt that how can VB stand tall if MS doesnt give it the same support in MSDN documentation code examples as C#.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|