Results 1 to 18 of 18

Thread: [RESOLVED] Critics in visual basic

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Aug 2017
    Location
    Nigeria
    Posts
    257

    Resolved [RESOLVED] Critics in visual basic

    I've been programming or should I say learning programming with V.b.Net and when I tell someone that I use V.b to write my programs, they'll say that that is a beginner language. They try to mock me or make fun of me that V.b is a 'Small Children`s' language. They criticize the language a lot saying instead of I learning Java or C# or any other better language I'm wasting my time. But what's actually wrong with the language?
    Nothing I post is Self Reliable. Use it at your own risk

  2. #2
    PowerPoster
    Join Date
    Nov 2017
    Posts
    3,116

    Re: Critics in visual basic

    Each programming language has strengths and weaknesses. Nothing wrong with VB.Net, or any previous version of Visual Basic in my opinion. It gets a bad rap because the word Basic is in the name, which implies simplicity, and because people who have been around programming long enough like to trace the language back to GWBasic/BASICA/QBasic, which was viewed quite unfavorably by the hard-core C/C++ programmers of the late 1980's/early 1990's.

    Don't let it bother you. This is a good time to learn the lesson that much of the time, other people's opinions are either wrong, or don't really matter. If you enjoy learning the language, and you find that you can write cool programs with unique functionality that solve interesting problems, and have fun in the process, then what more can you ask of a programming language?

    If you pursue programming as a career, you may need to learn other languages, but to me it is easier to move from VB to another language like Java or C# than it is to learn Java or C# as your first programming language.

    Bottom line, you aren't wasting your time. Good luck!

  3. #3

    Thread Starter
    Hyperactive Member
    Join Date
    Aug 2017
    Location
    Nigeria
    Posts
    257

    Re: Critics in visual basic

    Quote Originally Posted by OptionBase1 View Post
    Each programming language has strengths and weaknesses. Nothing wrong with VB.Net, or any previous version of Visual Basic in my opinion. It gets a bad rap because the word Basic is in the name, which implies simplicity, and because people who have been around programming long enough like to trace the language back to GWBasic/BASICA/QBasic, which was viewed quite unfavorably by the hard-core C/C++ programmers of the late 1980's/early 1990's.

    Don't let it bother you. This is a good time to learn the lesson that much of the time, other people's opinions are either wrong, or don't really matter. If you enjoy learning the language, and you find that you can write cool programs with unique functionality that solve interesting problems, and have fun in the process, then what more can you ask of a programming language?

    If you pursue programming as a career, you may need to learn other languages, but to me it is easier to move from VB to another language like Java or C# than it is to learn Java or C# as your first programming language.

    Bottom line, you aren't wasting your time. Good luck!
    Ok, thanks for that alot.
    Nothing I post is Self Reliable. Use it at your own risk

  4. #4

    Thread Starter
    Hyperactive Member
    Join Date
    Aug 2017
    Location
    Nigeria
    Posts
    257

    Re: Critics in visual basic

    Quote Originally Posted by OptionBase1 View Post
    Each programming language has strengths and weaknesses. Nothing wrong with VB.Net, or any previous version of Visual Basic in my opinion. It gets a bad rap because the word Basic is in the name, which implies simplicity, and because people who have been around programming long enough like to trace the language back to GWBasic/BASICA/QBasic, which was viewed quite unfavorably by the hard-core C/C++ programmers of the late 1980's/early 1990's.

    Don't let it bother you. This is a good time to learn the lesson that much of the time, other people's opinions are either wrong, or don't really matter. If you enjoy learning the language, and you find that you can write cool programs with unique functionality that solve interesting problems, and have fun in the process, then what more can you ask of a programming language?

    If you pursue programming as a career, you may need to learn other languages, but to me it is easier to move from VB to another language like Java or C# than it is to learn Java or C# as your first programming language.

    Bottom line, you aren't wasting your time. Good luck!
    Ok, thanks for that alot.
    Nothing I post is Self Reliable. Use it at your own risk

  5. #5
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,299

    Re: Critics in visual basic

    VB gets a bad rep mainly because VB6 and it's predecessors was fairly loose and made it much easier to do certain bad things. When a language let's you get away with things like implicit type conversions and late-binding, it allows people to write code without developing a good understanding of what their code is actually doing. It's possible to write very good code in VB6 and earlier and it's possible to write very bad code in other languages but the low barrier to entry of VB means that people who don't care how to learn to code properly are more likely to use VB and create applications that are brittle and nightmarish to maintain.

    VB.NET addresses some of the genuine issues with VB6 and earlier, although the fact that Option Strict is Off by default is a sore point with many. To be frank, anyone who criticizes you for using VB and recommends that you use C# purely on the basis of the language is full of it and doesn't know what they're talking about. The only thing that C# can do that VB can't is use pointers and I can pretty much guarantee that none of those people have ever used a pointer in C#. There are advantages to using C#, e.g. some tools and technologies are available for C# that aren't for VB and there are more code examples available for C# too. The demand for professional C# developers is higher than it is for VB developers too. Purely on the merits of the language though, there's really no difference.

    The attitude is really just a carry over from the fact that computer scientists used to use C/C++ because it was powerful and hobbyists used to use VB because it was easy. VB.NET has gained a lot of power and is pretty much on a par with C# and Java, plus it has lost some of the simplicity of VB6 and earlier. The syntax still looks like that same old VB though, and C# and Java code looks a lot like C/C++, so code snobs still feel justified in pretending that we haven't progressed in decades. If you want to work as a professional developer then you may want to consider what languages and technologies are most in demand but if you just enjoy programming and want to do it for a hobby then you should use whatever language you find fulfilling to use.

    That said, there's nothing wrong with learning as many languages as you can. That's made easier by the fact that there are so many similarities between VB and C# beyond syntax. If you have a good understanding of VB then at least reading C# code is not that difficult. Often time, the equivalent C# code will be the VB with semicolons added to the ends of the line and a few braces thrown in. Once you learn a few simple translation rules, e.g. lambda syntax, you can read just about any C# code and write the VB equivalent. It's not a big step from their to writing C# code. If you can write C# code then moving to other C-based languages, e.g. Java, is that much easier. Of course, if you've written any JavaScript in a VB web app then you've already worked with a C-based language.

  6. #6
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Critics in visual basic

    At a time when programming was very hard, VB tried to make things easier.

    Before VB, if you wanted to be a programmer, you had to be a programmer. Languages were "close to the metal" which meant you had to worry about a lot of details of using the machine in addition to trying to design sound logic for your program. There was no tutorial or helpful book industry. You had to read thick, several-hundred page manuals. If you got stuck, there was no one to answer your question unless you happened to live in a city with a thriving dev community.

    Developers who can thrive in that environment are rare. That also means they're expensive.

    VB made an entire class of applications that required a programmer much easier to handle. People with less training or patience could be productive up to a point with VB. That meant lots of accountants and engineers managed to expand their usefulness to their employer by producing VB apps.

    But this came at a cost: if a "not-programmer" used VB's tools to do most of the heavy lifting, they didn't really understand what was happening in their code. If their company got much bigger, they might exceed the complexity that the VB tools were designed for. A "programmer" could've written VB code that could be maintained at this point. But a "not-programmer" has to make do with what they know, and what they know isn't extensive.

    So the problem isn't really VB, the problem is the perception that for important jobs you can reuse employees you already have instead of hiring talented developers. Most languages today are on the level of "ease of use" of the early VB versions. Thus, there are entire sites devoted to the horrors that "not-programmers" have created in Ruby, JavaScript, C#, Java, Python, Swift, and really any other language you can think of.

    VB's reputation sort of persists because decades later, it still has a reputation as being "easy to learn" because it uses words where other languages use symbols. Unfortunately, its features are as sophisticated as its sister language C# up to the 2017 era. So now the problem is worse: newbies get just as far in VB as they would in other languages, but quickly hit the same wall they would in other languages and write the same kinds of code that got VB its reputation in the 1990s.

    Worse: C# developers outnumber VB developers 10:1. Generally "talented" developers also know C# and might identify as a C# developer, since they know C# has a better reputation. That means the VB talent pool has a high degree of rot. There are very few talented experts who know ONLY VB and will sell themselves as JUST a VB programmer. Most talented VB experts grow out of writing small internal systems and end up getting a job writing large systems in another language. (Again, not through VB's fault but because the industry is more likely to use other languages.) So if you take a random sampling of VB developers, you're way more likely to find a majority of "not-programmers" than any other mainstream language.

    Worse: the dev industry is full of toxic egos that think "I can read a book about a new thing" makes them God's gift. The VB community has been begging Microsoft to stop adding new features to VB for decades. It came to a head last year, when 4 new C# versions were announced that added incredible new features. VB developers were angry so Microsoft finally agreed to stop adding new features to VB unless they have to. So now there is concrete proof of the VB community saying, "I value stability over keeping up with trends". That statement can be pragmatic and smart, but for many in the dev industry it means "I should retire and let the big boys play."

    So it's not a "children's language", it just "looks easier than it is" and because of that "attracts a lot of people who have no business programming". Almost anyone with a shred of talent quickly learns a second language so they can expand their options.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  7. #7
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Critics in visual basic

    Analogy version:

    We talk about "cheap Chinese junk" as if it's the "Chinese" part that makes it bad.

    In the early age of electronics, it was "cheap Japanese junk", but you wouldn't know that in the 90s and we still think Japanese electronics are quality products. What happened?

    It was the "cheap" part. Post-WWII Japan was short a lot of workers and had to rely on robotics to rebuild their industrial base. This led to tons of innovations, but the average consumer isn't looking to buy robot arms. But it also meant Japanese factories could build more things with fewer workers, which meant less overhead and lower costs. So people used cheap Japanese robot labor to churn out devices with very low margins, and Japanese factories were happy to compete on labor margins. This is called a "race to the bottom" and corner-cutting became common. It took a long time for Japan to have the capital to act on, "You know, if we made a product that cut no corners we could charge a premium price..."

    The situation is unfolding almost exactly the same way in China. Their knockoffs are "garbage" because we want to buy $50 electronics for $20 and don't think about what it takes to get there.

    Same thing happened at a company I was familiar with. They built a shiny new factory in Mexico to take advantage of labor differentials. In a company that prided itself on quality ("fewer than one defect per million parts!") this factory quickly broke company records for returns due to defects. Lots of solutions were tried. The only one that brought quality up to company standards was, "What if we double the salary for one of the lines?" But if they doubled salaries for the entire factory it would have cost as much to operate the Mexico facility as any of the United States locations. Oops.

    The problem, it turns out, is "cheap". If you want to build a $10 product for $8, you have to find a corner to cut. That affects quality.

    VB is "cruddy newbie garbage" because it's a language that cheap managers think will magically make not-programmers able to do what much more expensive programmers can do. Microsoft sold that lie for a very long time. You can't squeeze high-quality code out of a cheap not-programmer, and programmers are still too rare to lowball. So VB "programmers" make a lot of cheap garbage because that's what the managers who set the budget pay for.
    Last edited by Sitten Spynne; Jan 20th, 2018 at 09:52 AM.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  8. #8
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,299

    Re: Critics in visual basic

    Quote Originally Posted by Sitten Spynne View Post
    Worse: C# developers outnumber VB developers 10:1. Generally "talented" developers also know C# and might identify as a C# developer, since they know C# has a better reputation. That means the VB talent pool has a high degree of rot. There are very few talented experts who know ONLY VB and will sell themselves as JUST a VB programmer. Most talented VB experts grow out of writing small internal systems and end up getting a job writing large systems in another language. (Again, not through VB's fault but because the industry is more likely to use other languages.) So if you take a random sampling of VB developers, you're way more likely to find a majority of "not-programmers" than any other mainstream language.
    On that, after a brief introduction with Fortran, I learned to program in C and my first job was coding in C++. After I left that job, I taught myself VB.NET. Because I was comfortable in C/C++, I figured that I'd learn C# too. I got my next job as a VB.NET developer in an office that had fairly recently migrated from VB6. Some years later, we switched over to C# as our preferred language primarily because of the perception in the industry. I still tend to use VB by default for demo and test apps where the functionality matters more than the language but, despite that, I am a professional C# developer. It's several years since I wrote VB at work to be released to a client.

  9. #9
    PowerPoster
    Join Date
    Sep 2005
    Location
    Modesto, Ca.
    Posts
    5,196

    Re: Critics in visual basic

    On that, after a brief introduction with Fortran,
    Wow, you must be older than I thought. I worked with Fortran in 1978, using punch cards.

  10. #10
    Bad man! ident's Avatar
    Join Date
    Mar 2009
    Location
    Cambridge
    Posts
    5,398

    Re: Critics in visual basic

    My Two pence worth regarding the ranting, in my opinion, is indicative of someone that doesn't have much maturity in the industry.
    It's common for websites like hackforums.net will have this opinion. I'm not going down the root of(what I read) assembly programmers
    how did not like it when C was rolled out. I think this is the case but before my time.


    Classic VB helped bad programmers look good. This diluted the pool of decent programmers. Most VB6 examples I've seen have been written So badly. This gives VB a bad name. This can come down to bad teaching. I guess VB grew in popularity because you don't have to worry why The code works.


    Now the biggest argument is vb vs c#. Bot are very capable tools. Elitism immature coders will base their decision on which language
    To use. Both compile down to the same framework.

  11. #11
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,299

    Re: Critics in visual basic

    Quote Originally Posted by ident View Post
    Now the biggest argument is vb vs c#. Bot are very capable tools. Elitism immature coders will base their decision on which language
    To use. Both compile down to the same framework.
    As I said, the only significant difference between the languages is that C# supports pointers, but that is totally irrelevant to the vast majority of C# developers anyway. I always planned to learn exactly how to use unsafe code in C# but never got around to it and I've never once used a pointer. There are technologies that support C# and not VB, but that's not a because of the language. It's just because Microsoft or some third party haven't seen fit to build VB support into the relevant tools or technology. There's no technical impediment to their doing so.

  12. #12
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Critics in visual basic

    The differences are getting bigger, especially in terms of high-performance code. Span<T> and "reference semantics with value types" are a big boost for algorithms that need big chunks of memory. VB doesn't get to use them, because MS doesn't have to ensure VB keeps pace with C# anymore.

    The neat thing is these features are basically pointers without unsafe code. A Span<T> is more or less an array, but you can "slice" chunks of it out so it's better to visualize it like a C array: a pointer and a length.

    The "reference semantics with value types" features are most interesting when combined with a Span<T>. There is a really wonky parameter syntax that lets you say, "Here is an integer variable as a parameter that's actually an element in an array. If you change the parameter value, the array element's value will be updated." There's no way to do that in one step in VB.

    VB devs asked for stability, they got stability. I'm sure you can use the Span<T> type with VB, but without those reference semantic language features you can't get the same performance benefits. There's also a lot of nice features like local functions VB lacks. I'm already starting to feel held back when I write examples in VB.
    Last edited by Sitten Spynne; Jan 21st, 2018 at 12:09 AM.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

  13. #13
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,299

    Re: Critics in visual basic

    Quote Originally Posted by Sitten Spynne View Post
    The differences are getting bigger, especially in terms of high-performance code. Span<T> and "reference semantics with value types" are a big boost for algorithms that need big chunks of memory. VB doesn't get to use them, because MS doesn't have to ensure VB keeps pace with C# anymore.
    Hmmm... I didn't actually realise that. I guess it's really MS getting back to the original purpose of the two languages. I think that it's safe to say that MS really intended VB and C# for two different audiences in the first place. They allowed themselves to be pushed into trying to make them equally functional but I think that they came to the realisation that that was actually holding back advancements in some areas. Some VB developers feel slighted as a result but, just as Microsoft provided C++ and VB6 for different audiences before, so they do so with C# and VB.NET now. I think that overlap is much greater now than it was (particularly given that C++ is still available) but it's still there. VB.NET is still more functional than VB6 was, but if you want all the bells and whistles then use the tool that Microsoft created for that purpose in the first place. From that perspective, VB may lack some features that C# has but if it has all the features you need, there's no reason not to use it.

  14. #14

    Thread Starter
    Hyperactive Member
    Join Date
    Aug 2017
    Location
    Nigeria
    Posts
    257

    Re: Critics in visual basic

    Quote Originally Posted by jmcilhinney View Post
    VB gets a bad rep mainly because VB6 and it's predecessors was fairly loose and made it much easier to do certain bad things. When a language let's you get away with things like implicit type conversions and late-binding, it allows people to write code without developing a good understanding of what their code is actually doing. It's possible to write very good code in VB6 and earlier and it's possible to write very bad code in other languages but the low barrier to entry of VB means that people who don't care how to learn to code properly are more likely to use VB and create applications that are brittle and nightmarish to maintain.

    VB.NET addresses some of the genuine issues with VB6 and earlier, although the fact that Option Strict is Off by default is a sore point with many. To be frank, anyone who criticizes you for using VB and recommends that you use C# purely on the basis of the language is full of it and doesn't know what they're talking about. The only thing that C# can do that VB can't is use pointers and I can pretty much guarantee that none of those people have ever used a pointer in C#. There are advantages to using C#, e.g. some tools and technologies are available for C# that aren't for VB and there are more code examples available for C# too. The demand for professional C# developers is higher than it is for VB developers too. Purely on the merits of the language though, there's really no difference.

    The attitude is really just a carry over from the fact that computer scientists used to use C/C++ because it was powerful and hobbyists used to use VB because it was easy. VB.NET has gained a lot of power and is pretty much on a par with C# and Java, plus it has lost some of the simplicity of VB6 and earlier. The syntax still looks like that same old VB though, and C# and Java code looks a lot like C/C++, so code snobs still feel justified in pretending that we haven't progressed in decades. If you want to work as a professional developer then you may want to consider what languages and technologies are most in demand but if you just enjoy programming and want to do it for a hobby then you should use whatever language you find fulfilling to use.

    That said, there's nothing wrong with learning as many languages as you can. That's made easier by the fact that there are so many similarities between VB and C# beyond syntax. If you have a good understanding of VB then at least reading C# code is not that difficult. Often time, the equivalent C# code will be the VB with semicolons added to the ends of the line and a few braces thrown in. Once you learn a few simple translation rules, e.g. lambda syntax, you can read just about any C# code and write the VB equivalent. It's not a big step from their to writing C# code. If you can write C# code then moving to other C-based languages, e.g. Java, is that much easier. Of course, if you've written any JavaScript in a VB web app then you've already worked with a C-based language.
    thanks for your concern. I wondered alot about this.
    Nothing I post is Self Reliable. Use it at your own risk

  15. #15
    Wall Poster TysonLPrice's Avatar
    Join Date
    Sep 2002
    Location
    Columbus, Ohio
    Posts
    3,834

    Re: [RESOLVED] Critics in visual basic

    Quote Originally Posted by TATARPRO View Post
    I've been programming or should I say learning programming with V.b.Net and when I tell someone that I use V.b to write my programs, they'll say that that is a beginner language. They try to mock me or make fun of me that V.b is a 'Small Children`s' language. They criticize the language a lot saying instead of I learning Java or C# or any other better language I'm wasting my time. But what's actually wrong with the language?
    Those same types of people thought COBOL programmers were not "real" programmers because they didn't program in Assembler. System programmers looked down an application programmers because they "used their" system. And on-line programmers denigrated batch programmers. It is like high school never ends...
    Please remember next time...elections matter!

  16. #16
    Bad man! ident's Avatar
    Join Date
    Mar 2009
    Location
    Cambridge
    Posts
    5,398

    Re: Critics in visual basic

    Quote Originally Posted by jmcilhinney View Post
    As I said, the only significant difference between the languages is that C# supports pointers, but that is totally irrelevant to the vast majority of C# developers anyway. I always planned to learn exactly how to use unsafe code in C# but never got around to it and I've never once used a pointer. There are technologies that support C# and not VB, but that's not a because of the language. It's just because Microsoft or some third party haven't seen fit to build VB support into the relevant tools or technology. There's no technical impediment to their doing so.
    Y

    You know my post was not aimed at you. Unsure... Vb and C# are two different teams. There was Once a time they were both necks to neck in a race. I do believe now, as much as I care to worry about that m$ has pushed c# more then vb.

    Tbh it's a poor programmer who blames the tools provided with. I also believe that the people who worry about this are immature coders from childish forums.

  17. #17
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,299

    Re: Critics in visual basic

    Quote Originally Posted by ident View Post
    You know my post was not aimed at you.
    I didn't take it that it was.
    Quote Originally Posted by ident View Post
    Unsure... Vb and C# are two different teams. There was Once a time they were both necks to neck in a race.
    They are different teams but it's not so much that they are or were in a race. It's more that they are each targeting different, although overlapping, pools of developers and they have each decided that those groups will most benefit for slightly different things. At one point, Microsoft did pledge to keep the two languages in step, I think because there were certain VB developers who were complaining that they were missing out on some cool things that C# developers were getting. They stuck with that for a while but I think that they soon realised that another type of VB developer didn't like that the language kept changing (even though they were under no obligation to use the new features) and that was also holding back the pace of innovation in C#. The fact is that if you want the cool features that C# gets then you should code in C# and if you want to stick with the VB syntax then you should use VB and be happy with what it can do.

  18. #18
    Bad man! ident's Avatar
    Join Date
    Mar 2009
    Location
    Cambridge
    Posts
    5,398

    Re: [RESOLVED] Critics in visual basic

    Interesting insight there jmc.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width