Why is VB being forsaken?
-
All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?
I started programming 3 years ago with VB.NET and encountered the same things you are seeing now. It won't change. VB developers are generally less likely to put content online. Limiting yourself consuming just VB or C# articles is just silly. Here's a cheat sheet to get things started. If you embrace both languages equally you should have no problem applying C# articles to your VB development.
-
Oakman wrote:
One of the silliest things
So your arguement is my stated personal opinion is "silly" and I'm at fault for perfering one over the other? Good arguement. A really a good way to have an open and mature discussion. :rolleyes:
I know the language. I've read a book. - _Madmatt
Mark Nischalke wrote:
So your arguement is my stated personal opinion is "silly" and I'm at fault for perfering one over the other?
Nope. I'll type slower so maybe you'll understand. ;) When someone expresses his personal opinion as if it is a law of nature, he is being silly. When a programmers blames the language for the mistakes he makes, he is being silly. Now, if the shoe fits, then by all means wear it. If not, then deal with the points I made rather than acting as if I attacked you rather than your argument.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
-
agolddog wrote:
For me, it seems as if the tools which go along with VB just don't work quite as well as with C#. Intellisense, for example: it seems as if, once I've made a syntax error in VB, inellisense just quits working, and it's more forgiving in C#.
That is just plain silly. You don't want immediate feedback when you have typed bad code??? You are right, since intellisense in C# is far less aware of what is being written, C#, much more often than VB.NET, must compile bad code before spotting an error. I have never regarded that as a feature to be touted, but a failing that must be borne.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
Oakman wrote:
That is just plain silly.
A very mature attitude.
Oakman wrote:
You don't want immediate feedback when you have typed bad code???
Then how do you explain this? In VB.NET this won't flag anything in intellisence nor when compiled. It will throw an exception at runtime.
Dim i As Integer
Dim x As String
i = 0
x = "foo"
If i = x Then
End IfIn C# intellisence will show the error and it won't compile.
int i = 0;
string x = "foo";
if(i == x)
{
}Oakman wrote:
since intellisense in C# is far less aware of what is being written, C#, much more often than VB.NET, must compile bad code before spotting an error.
Care to re-state this?
I know the language. I've read a book. - _Madmatt
-
Mark Nischalke wrote:
It allows for stupid things to be done without the developer having to actually think about what they are doing.
I have seen some really horrifying code written by developers (who obviously weren't thinking) in C#. You seem to want to blame the language for the faults of the programmer. In truth, inferior programmers will write inferior code in any language and superior programmers will write superior code in any language.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
Oakman wrote:
You seem to want to blame the language for the faults of the programmer
I think you should read my comments more carefully. http://www.codeproject.com/Lounge.aspx?msg=3978112#xx3978112xx[^] "Not that the language itself is bad, the developers using it, IMO, mostly, don't have the skills, training, or experience to write software in the best manner."
I know the language. I've read a book. - _Madmatt
-
kenSemantics wrote:
VB does it for you.
Yes VB does a lot for you, but that is a problem. It allows for stupid things to be done without the developer having to actually think about what they are doing.
I know the language. I've read a book. - _Madmatt
really, isnt it the responsibility of the developer to take care of what he is writing? if the language does something without his knowing then he is just a bad programmer.
-
All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?
I'm Lucian Wischik, the VB language PM at Microsoft. Since VS2010 we've put a huge amount of resources behind VB. We haven't announced all the new features, but here are just some of the new VB features we've already announced: * Async programming, developed absolutely equally with C#. * Iterators, like C#, but also allowing lambda iterators and yield inside try blocks which C# doesn't have. * VBCore - removes the dependency on Microsoft.VisualBasic.dll, so VB is as easy for 3rd-parties to use as C#. * New platforms - VB support added to Windows Phone 7, to the Micro Framework (i.e. Netduino), to XNA. * (and smaller fixes, like no longer prettylisting that blasted "ByVal" in front of everything, and emitting minimally-qualified names) And of course all of these features benefit from the things we know and love about VB, like QuickFixes and XML. Here's an interesting code snippet which ties together several unique VB features at the same time:
Sub Main()
Dim xml =<%= Iterator Function() For Each robot In {"alpha", "beta", "gamma"} Yield * Robot <%= robot %> reporting in for duty Next End Function() %>
Console.WriteLine(xml)
End SubWhat this shows is code that on the surface looks similar in structure to ASP/PHP, but is actually fully typesafe. Personally, I've switched over all my hobby web-services from python to this kind of VB because I can code them quicker and with fewer bugs thanks to the type safety. -- Lucian Wischik, VB language PM
-
Oakman wrote:
That is just plain silly.
A very mature attitude.
Oakman wrote:
You don't want immediate feedback when you have typed bad code???
Then how do you explain this? In VB.NET this won't flag anything in intellisence nor when compiled. It will throw an exception at runtime.
Dim i As Integer
Dim x As String
i = 0
x = "foo"
If i = x Then
End IfIn C# intellisence will show the error and it won't compile.
int i = 0;
string x = "foo";
if(i == x)
{
}Oakman wrote:
since intellisense in C# is far less aware of what is being written, C#, much more often than VB.NET, must compile bad code before spotting an error.
Care to re-state this?
I know the language. I've read a book. - _Madmatt
Dim i As Integer
Dim x As String
i = 0
x = "0"
If i = x Then
End IfIn languages like Javascript and Python, this works fine. Obviously it depends on whether x was initialized to a string like "0" which can be converted to an integer, or one like "foo" which can't. In C# it never works. In VB you get the best of both worlds -- you can chose to code in a Python-like fashion (Option Strict Off), or in a C# fashion (Option Strict On), or you can make it merely give warnings for things like this which may or may not work (Option Strict Custom). It depends very much on the kind of programming you want to do. We try to avoid dogma here, and instead go on the results of extensive user studies. -- Lucian Wischik, VB language PM
-
Oakman wrote:
That is just plain silly.
A very mature attitude.
Oakman wrote:
You don't want immediate feedback when you have typed bad code???
Then how do you explain this? In VB.NET this won't flag anything in intellisence nor when compiled. It will throw an exception at runtime.
Dim i As Integer
Dim x As String
i = 0
x = "foo"
If i = x Then
End IfIn C# intellisence will show the error and it won't compile.
int i = 0;
string x = "foo";
if(i == x)
{
}Oakman wrote:
since intellisense in C# is far less aware of what is being written, C#, much more often than VB.NET, must compile bad code before spotting an error.
Care to re-state this?
I know the language. I've read a book. - _Madmatt
Mark Nischalke wrote:
A very mature attitude.
It is silly, Mark. Smart people say silly things, even I do. The idea that one would want to wait for compile time to learn about an error is silly. It doesn't matter what language one is using. The idea is silly.
Mark Nischalke wrote:
Care to re-state this?
You seem to think that I am going to defend the idiosyncrasies of VB.NET because I agreed with something that someone else said about C#, but did not find it attractive the way they did. Well just because I think Obama is incompetent, doesn't mean I think John McCain is any better. Ditto for not getting feedback when you make a mistake in C# or in VB. I do not think that VB.NET is perfect. I do not think that VB.NET is always the best choice, and I do not think that C# is inferior to VB.NET. But I do think that when people start claiming that their personal preferences are laws of nature, they are being silly.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
-
Dim i As Integer
Dim x As String
i = 0
x = "0"
If i = x Then
End IfIn languages like Javascript and Python, this works fine. Obviously it depends on whether x was initialized to a string like "0" which can be converted to an integer, or one like "foo" which can't. In C# it never works. In VB you get the best of both worlds -- you can chose to code in a Python-like fashion (Option Strict Off), or in a C# fashion (Option Strict On), or you can make it merely give warnings for things like this which may or may not work (Option Strict Custom). It depends very much on the kind of programming you want to do. We try to avoid dogma here, and instead go on the results of extensive user studies. -- Lucian Wischik, VB language PM
ljw1004 wrote:
We try to avoid dogma here, and instead go on the results of extensive user studies.
What a novel idea! ;)
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
-
Oakman wrote:
You seem to want to blame the language for the faults of the programmer
I think you should read my comments more carefully. http://www.codeproject.com/Lounge.aspx?msg=3978112#xx3978112xx[^] "Not that the language itself is bad, the developers using it, IMO, mostly, don't have the skills, training, or experience to write software in the best manner."
I know the language. I've read a book. - _Madmatt
Mark Nischalke wrote:
I think you should read my comments more carefully.
You're absolutely right. I apologize.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
-
really, isnt it the responsibility of the developer to take care of what he is writing? if the language does something without his knowing then he is just a bad programmer.
kenSemantics wrote:
isnt it the responsibility of the developer to take care of what he is writing?
Correct
I know the language. I've read a book. - _Madmatt
-
All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?
Like a lot of people I started my career with VB (VB 5 to be exact) and have over the years picked up on other languages and what not (HTML, PHP, C#, C++, JavaScript). Right now about 70% of my work is done in VB.Net, 10% in C#, 15% in HTML/PHP and the rest in C++. (Now if you want something to complain about, try the lack of apparent support of C++ in VS 2010 and then get back to me) I've yet to have a application I've written in C# that I couldn't have done in VB. It just struck me that on that particular day I wanted to do some C# work instead of VB when I was getting started. The one nice thing about C++ is you have lots of control over how things work, the one bad thing is you have lots of control over how things work... Where as in VB and C# you can get a lot done and not have to worry about a lot of the heavy lifting (as mentioned by someone before) in a fraction of the time. Like a lot I really hope they keep VB around for many, many more years as it really is a great language for many things.
-
Mark Nischalke wrote:
A very mature attitude.
It is silly, Mark. Smart people say silly things, even I do. The idea that one would want to wait for compile time to learn about an error is silly. It doesn't matter what language one is using. The idea is silly.
Mark Nischalke wrote:
Care to re-state this?
You seem to think that I am going to defend the idiosyncrasies of VB.NET because I agreed with something that someone else said about C#, but did not find it attractive the way they did. Well just because I think Obama is incompetent, doesn't mean I think John McCain is any better. Ditto for not getting feedback when you make a mistake in C# or in VB. I do not think that VB.NET is perfect. I do not think that VB.NET is always the best choice, and I do not think that C# is inferior to VB.NET. But I do think that when people start claiming that their personal preferences are laws of nature, they are being silly.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
Oakman wrote:
when people start claiming that their personal preferences are laws of nature
You have mentioned this several times. Where has anyone in this thread stated that? I see balanced statments like, "its not the language's fault", or opinions based on experience. No where have I seen anyone stating their way is the best and only way and a 'law of nature'. Warning: Opinion follows [opinion] I have encountered more VB developers who get upset when the question of VB.NET vs C# is raised than C#. Why is this? Its almost like Apple minions when discussing an Apple device vs another brand. [/opinion] Disclaimer: The previous statment is an opinion of the author and should not be viewed as a Law of Nature.
I know the language. I've read a book. - _Madmatt
-
All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?
I won't comment about Microsofts reasons or motives in changing VB, but I will comment about the Basic language and why some may prefer not to switch to C#. BASIC has a very, very long history and despite all the criticism it has received it has endured. Why ? Because Basic is a more natural language as far as its syntax. Even non-programmers can examine Basic code and make some sense of what it is doing, unlike C code which is an acquired taste. I have been programming in Basic since 1975. I learned some Fortran, gotten plenty of books on C (interested) and even purchased a C compiler or two, but just never picked up the language. Very quickly the syntax of the language (C) was counter intuitive to my first language Basic. Now I did take the time to learn some machine language (wrote a compiler using Basic for the 6502 CPU for the commodore 64). I also learned some intel assembler and wrote some library code for use with PDS 7.1 using assembler. To me machine language and assembler was easier to pick up than C. Over the years I moved on to VB 1.0, 2.0 and finally 5.0 Pro (stopped there). Amazingly, it was all the OOP stuff which I began to dislike. While OOP has its place, OOP is not the programming panacea it was first thought to be. I personally prefer more procedural style coding over OOP and I am far more productive with such code. I still love the Basic language and it still lives despite dot.net. For the last 10 years I have used PowerBasic, rather than any Microsoft Basic. I still like VB, but it has changed too much for me and is not efficient enough for me. From my experience I find it is best not to learn too many different programming languages. You know the old saying, "jack of all trades, but master of none". I find it better to pick the language you are most productive in and to become an expert in it. If you want to learn a second language, I would recommend it be assembler (or machine language). Learning machine language makes one appreciate what a compiler does even more. One of the beauties of Basic is its readability. One can pick up code written years ago and quickly make sense of it. Now one good reason the Basic language should not be changed (the core language left alone), but rather simply add new features to it, is that if languages keep changing every few years, then much time is lost in having to rewrite code for a new syntax. When you can have perfect code which was written years ago, simply reused today, then you don't have to reinvent the wheel all the time. Sure
-
Oakman wrote:
when people start claiming that their personal preferences are laws of nature
You have mentioned this several times. Where has anyone in this thread stated that? I see balanced statments like, "its not the language's fault", or opinions based on experience. No where have I seen anyone stating their way is the best and only way and a 'law of nature'. Warning: Opinion follows [opinion] I have encountered more VB developers who get upset when the question of VB.NET vs C# is raised than C#. Why is this? Its almost like Apple minions when discussing an Apple device vs another brand. [/opinion] Disclaimer: The previous statment is an opinion of the author and should not be viewed as a Law of Nature.
I know the language. I've read a book. - _Madmatt
Mark Nischalke wrote:
Where has anyone in this thread stated that?
I don't play those games, Mark. I was using the USENET 20 something years ago and have probably seen every type of debate happen in that time, here, there, and elsewhere. As a result all the little tricks of "I never said exactly that" really bore me. Where I realized I'd misattributed something to you that you didn't say, I apologized. But for categorizing my opinion of an attitude that i believe is displayed by far too many developers in words that seemed to have upset you far beyond their intent or content, I have no need nor impulse to retract anything I said. If you have something to say about what I think of the two languages, or of people who cannot handle both with equal ease, I'd be delighted to hear them. If you want to continue to drag red herrings into the discussion, I'll give you the last word and go do something important like sort my socks.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
-
Mark Nischalke wrote:
Where has anyone in this thread stated that?
I don't play those games, Mark. I was using the USENET 20 something years ago and have probably seen every type of debate happen in that time, here, there, and elsewhere. As a result all the little tricks of "I never said exactly that" really bore me. Where I realized I'd misattributed something to you that you didn't say, I apologized. But for categorizing my opinion of an attitude that i believe is displayed by far too many developers in words that seemed to have upset you far beyond their intent or content, I have no need nor impulse to retract anything I said. If you have something to say about what I think of the two languages, or of people who cannot handle both with equal ease, I'd be delighted to hear them. If you want to continue to drag red herrings into the discussion, I'll give you the last word and go do something important like sort my socks.
The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.
Oakman wrote:
I was using the USENET 20 something years ago and have probably seen every type of debate happen in that time, here, there, and elsewhere.
So you've heard it all and can close your mind to new thoughts. I aspire to be like you one day.
Oakman wrote:
I have no need nor impulse to retract anything I said
No one has asked you to do any such thing. Why so defensive?
Oakman wrote:
If you have something to say about what I think of the two languages, or of people who cannot handle both with equal ease, I'd be delighted to hear them.
You seem to do a lot of reading between the lines and find things that aren't there, but I guess that comes the vast years of experience you have. I bow to your superior ability to inturrpt others meaning and intentions.
Oakman wrote:
If you want to continue to drag red herrings into the discussion
Red herring is an idiomatic expression referring to the rhetorical or literary tactic of diverting attention away from an item of significance (http://en.wikipedia.org/wiki/Red_herring_(idiom)[^]) Yes, I'm sure at your age you are easily distracted :laugh:
I know the language. I've read a book. - _Madmatt
-
All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?
jim norcal wrote:
so why isn't it promoted more by MS and others?
..it is. Visual Basic has been a catastrophic succes, primarily because it's too easy :) Why isn't it used more? Well, the universities here don't want to touch anything "basic", even if 4 out of 10 jobs is VB-specific. That makes managers more reluctant to use VB in a new project, and most managers want to be able to shout that they're using the cool C# - not 'basic'.
Bastard Programmer from Hell :suss:
-
All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?
I don't know that's it's being forsaken, but one has to wnder about the future. PowerShell is being used in place of VBScript. It has the entire Windows GUI at its disposal. As of VS2003 UI development with C# is as easy as VB6 and VB.NET are. Is there a business reason for continuin with VB at all? The only real justifications I see are VBA for Office (which benefits from VB.NEt development) and support for a very large VB user base. Unlike Apple, MS doesn't hand its users out to dry. At least, not any more. That said, I never even considered VB.NET going forward. C# makes more sense to me as a syntax, probably because of all the C/C++ code I've written. I always liked it better than all the BASIC languages I've used (TinyBASIC, Rocky Mountein BASIC from HP in various incarnations. QBASIC, IBM BASIC, VB2, VB4, VB6, and some others for which I don't know the name).
-
To add my opinion to this topic. I for one like VB. I have used VBScript, VB, VB6, VBA, and VB.Net. It is easy to use since it is more readable than C# and other cryptic type code. I don't think VB is going away any time soon and here is why. VBA which is a subset of VB is in many applications Excel, Visio, Access, AutoCAD, and many others just to name a few. I work with VBA more than any other language these days. I can learn another language if I choose to I just can't be an expert at every language so I choose VB as my language of choice. VB.Net can do what C# can do so it is a wash and just a preference. When VB dies that is when I will move to C# or the new language at that time. I suggest stop comparing languages and use the one that you like and can get the job done that you are coding. If C++ is better then use it, if F# is better than use it, pick the right tool for the job.
There was nothing in what you said that deserved a down vote but nevertheless it still happened. Au contraire, you just stated some facts but somebody could not take it. I bet that's somebody who even in C# cannot finish anything and his code is uglier than hell. It happened that in the last 5 years I used both languages equally and every time I program in one I find myself missing features from the other one. I like them both; they are great languages with just "a bit" of succinctness advantage for C#. But hey don't forget that somebody's gold can be somebody's dirt. Not everybody loves the curly braces, and this goes for any other features. So again, I agree that there's nothing important about this VB vs. C# debate. Important is what you create and I am positive both languages will allow anybody to do things so great many of us will never get there. However, back to the original poster's question. Sadly it is just life, things, species ... disappear. I was a FoxPro/Visual FoxPro programmer. They disappeared (not quite, but soon). Even though there was still a ton of VFP code out there (jobs too) there was a moment when I had to leave that boat as otherwise I would have been stuck with it and today look for niche jobs or contracts in Visual FoxPro. Don't fight the current; plus, it is not a good thing to be too sentimental in this world. Look at Silverlight which is another concern of so many people. VB may be dying after a long good life almost as a wise old man with a fulfilled life but with Silverlight is like killing a child (spoiled one but nevertheless ...). However with all the lack of samples and the silence around it I don't think VB's death s going to happen that fast. You probably have another 2-3 years to switch to some other language :D. It's just a programming language after all (vocabulary and syntax are much simpler than the ones of a natural language) so be prepared and again don't be sentimental ... just let it go. Cheers
giuchici
-
All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?
I am a former VB X programmer and I can say that I never want to look back. The most horrible programming practices I've seen was in VB. I'm not saying that you can't do horrible things in other languages, but VB (VB and VB.net) by far is the language I saw the most coding horrors so far. Maybe because it's more appealing to begginers, maybe it's because the compiler is more forgiving or maybe it was by chance. The thing is that I started to dislike it once I was enlightened by the C like languages. And I think you will too if you give C# a chance. Sometime ago I had a hard time debugging VB.net code like this:
Dim someBoxedBool As Boolean = Nothing
someBoxedBool = False
If (someBoxedBool = Nothing) Then
'Initialize it
someBoxedBool = False
End IfOf course this isn't real scenario but I had a hard time figuring out why it always evaluated to true if the value was False or if the variable was null. There was no way to determine if the variable was assigned a value or not, this made me loose a few hours as the compiler did the magic that performs implicit casting. I know that if I was a seasoned VB.Net developer I'd catch this earlier, but magics like this can make the living hell of a developer. And I think many C# developers like me hates this and other magic stuff of VB compilers. I know that VB.net community have been dwindling in the past few years. I doubt that it will go away anytime soon though, but I definetely wouldn't bet on its future. If I were you, I'd definetely learn C#, as it has a bigger market than VB and it's growing much faster than VB. I believe it's a win win scenario. Learning new stuff is always good, it gives you a different perspective, so give it a shot. If you like it move, if not, you have a more complete resumè and more flexibility.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson