Mr. Newt.. FYI (and for those of you others suffering from the misconceptions born of ignorance).NET is a marketing moniker referring to the ".NET Framework(s)" Of which there are 3 (1.0, 1.1, and 2.0) and each has had a version of VB targeted at the framework, VB 7 (1.0) VB 8 (1.1) and VB 9 (2.0). While most people (myself included) are happy to use the shorthand, pressed forward by MS marketing of VB ".NET" as a 'catch all', they are 3 distinct versions and if one gets into the internals, you will find that they are in fact referred to as such (that is versions 7,8 & 9). Just as VB is an evolution of BASIC (which I started coding on the TRS-80 model 1...) the move to ".NET" was indeed a major evolutionary step forward for the language it still is "VB" (if for no other reason than because "the Man" that owns it says so). And yet you manage to completely miss the point that the most important argument for using or not using VB (what ever the version) is productivity.
If the poor sole that bothered to ask the question to begin with gets this far down in the pile of irrelevant banter it comes down to making (or not making) the case that the work will get done in half the time if I use (C#/Java/Pizza, whatever...) and therefore it will (or won't) cost less to do so. At that point a business decision can be made. Of course, before he makes that case he needs to grasp the concept of TCO (total cost of ownership) and make his case (or chose not to) based on such things as maintenance, replacement costs (what it will cost to replace himself as a programmer in this "other" language) , hardware expenditures required to support, etc. While this might sound a bit flipped, I believe that in doing this exercise our original poster may figure that it will be cheaper for him to learn VB than to change the course of an already successful business. (or he may indeed make a business decision of his own and jump ship)
Understanding your analogy I will point out that I made this statement regarding VB.NET purely because
1) For so many generations of VB, there was MUCH that could not be done in VB that now can be, and
2) Much of the misperception that I have read about through out this current thread is based on opinions built upon those previous versions
This not withstanding, the scalablity of VB across the generations has been more limited by the programmers who use it than the language itself. VB has always been far more powerful than many of the programmers who use it.
First, VB.NET is everybit the language that C# and/or Java are (that is there is NOTHING that can be done in those languages that can not be done in VB.NET (Regular Expressions, Hashtables etc. and much more is available to programmers in VB.NET)
Second, if the original application was done in VB (6 or earlier) then there is no reason to believe that the language is no longer suited to the task, the only real question is "is the programmer up to the task?" Since VB and C# compile to MSIL (if both the VB code and the C# Code are "well written" then they will compile to the SAME MSIL (or near enough as to not matter...) the ONLY argument for one over the other is comfort/skill level of the programmer. This is not a trivial matter. I am far more productive in VB.NET because that is where I am comfortable, not because it is a better or worse language I can read/write VB much as I can [in my native language of] english. Where as I can read/write C# or Java about like my French, in which I am reasonably fluent, but I have to concentrate more on the translation. And thus we reach the ONLY real argument for you to make against VB, will you be more productive (and therefore cost your employer less) if you work in another language? If you believe this to be so, then you should already be able to quantify this.
Admittedly, There are far more "less skilled" programmers in the VB world than there are in the C#/Java realm. This is simply because people can learn to do "useful things" in VB (or VB.NET) far more easily than they can in C-based languages. The "entry threshold" to "being a VB 'programmer'" is lower. Still the high end abilities of the language are there, even if a number of programmers don't know how to use them, or use them correctly.
Anybody out there proclaiming that any language (other than C or assembler) is "better" then VB.NET is simply demonstrating their own ignorance of VB.
Mr. Newt.. FYI (and for those of you others suffering from the misconceptions born of ignorance) .NET is a marketing moniker referring to the ".NET Framework(s)" Of which there are 3 (1.0, 1.1, and 2.0) and each has had a version of VB targeted at the framework, VB 7 (1.0) VB 8 (1.1) and VB 9 (2.0). While most people (myself included) are happy to use the shorthand, pressed forward by MS marketing of VB ".NET" as a 'catch all', they are 3 distinct versions and if one gets into the internals, you will find that they are in fact referred to as such (that is versions 7,8 & 9). Just as VB is an evolution of BASIC (which I started coding on the TRS-80 model 1...) the move to ".NET" was indeed a major evolutionary step forward for the language it still is "VB" (if for no other reason than because "the Man" that owns it says so). And yet you manage to completely miss the point that the most important argument for using or not using VB (what ever the version) is productivity.
If the poor sole that bothered to ask the question to begin with gets this far down in the pile of irrelevant banter it comes down to making (or not making) the case that the work will get done in half the time if I use (C#/Java/Pizza, whatever...) and therefore it will (or won't) cost less to do so. At that point a business decision can be made. Of course, before he makes that case he needs to grasp the concept of TCO (total cost of ownership) and make his case (or chose not to) based on such things as maintenance, replacement costs (what it will cost to replace himself as a programmer in this "other" language) , hardware expenditures required to support, etc. While this might sound a bit flipped, I believe that in doing this exercise our original poster may figure that it will be cheaper for him to learn VB than to change the course of an already successful business. (or he may indeed make a business decision of his own and jump ship)
- 1) For so many generations of VB, there was MUCH that could not be done in VB that now can be, and
- 2) Much of the misperception that I have read about through out this current thread is based on opinions built upon those previous versions
This not withstanding, the scalablity of VB across the generations has been more limited by the programmers who use it than the language itself. VB has always been far more powerful than many of the programmers who use it.First, VB.NET is everybit the language that C# and/or Java are (that is there is NOTHING that can be done in those languages that can not be done in VB.NET (Regular Expressions, Hashtables etc. and much more is available to programmers in VB.NET)
Second, if the original application was done in VB (6 or earlier) then there is no reason to believe that the language is no longer suited to the task, the only real question is "is the programmer up to the task?" Since VB and C# compile to MSIL (if both the VB code and the C# Code are "well written" then they will compile to the SAME MSIL (or near enough as to not matter...) the ONLY argument for one over the other is comfort/skill level of the programmer. This is not a trivial matter. I am far more productive in VB.NET because that is where I am comfortable, not because it is a better or worse language I can read/write VB much as I can [in my native language of] english. Where as I can read/write C# or Java about like my French, in which I am reasonably fluent, but I have to concentrate more on the translation. And thus we reach the ONLY real argument for you to make against VB, will you be more productive (and therefore cost your employer less) if you work in another language? If you believe this to be so, then you should already be able to quantify this.
Admittedly, There are far more "less skilled" programmers in the VB world than there are in the C#/Java realm. This is simply because people can learn to do "useful things" in VB (or VB.NET) far more easily than they can in C-based languages. The "entry threshold" to "being a VB 'programmer'" is lower. Still the high end abilities of the language are there, even if a number of programmers don't know how to use them, or use them correctly.
Anybody out there proclaiming that any language (other than C or assembler) is "better" then VB.NET is simply demonstrating their own ignorance of VB.