Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. .Why C++ Programmers hate VB

.Why C++ Programmers hate VB

Scheduled Pinned Locked Moved The Lounge
c++regexquestion
38 Posts 14 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Lost User

    Why do I hate VB? Many reasons 1) Lack of inheritance 2) Lack of ability to create constructs such as linked lists, queues. 3) Lack of generics, (C++ implements generics with Templates. Unlike others, I won't bitch because of a lack of Templates, since Templates are just one way to implement generics. But VB offers no way) 4) Lack of control over memory management and object lifetimes. (this is important when creating classes that encapsulate objects such as serial ports or other finite resources). 5) using the Win32 API is needlessly complicated and forces you to go well outside the paradigm the language offers. For instance, try generating a new GUID using the Win32 GUID functions, it's quite a pain. 6) The language encourages poor program design. By this I mean that the language encourages you to put business logic code in the GUI (behind the button events) rather than in a seperate business logic class. This needlessly causes way too much broken encapsulation and needlessly binds GUI objects. It also makes the programs harder to manage, and as the program expands makes it less scaleable. Yes, you can design good programs in VB, but you are at constant odds with how the environment would like you to do it. 7) Lack of a low-level debugger. You can't examine the assembly language created by the compiler at run-time. This means that certain kinds of bugs are harder to track down, especially when you enter the realm of the Win32 API. 8) Lack of any kind of profiling tools. Numega makes a few, but they're expensive. It's hard to figure out exactly where your program is spending most of its time. 9) Lack of exceptions. You must rely on global error handling as with On Error, and you have very little control over how recover. 10) Inconsistent syntax. For instance, there is a difference between a procedure and a function, and the way you call them is different, and often confusing.

    S Offline
    S Offline
    Sir Gras of Berger
    wrote on last edited by
    #25
    1. The language encourages poor program design.

    That about sums it up for me. Most of the stuff mentioned in this thread doesn't bother me at all, VB is a different tool for different problems. If you need to care about object lifetimes, or have multiple threads, etc., you just shouldn't be using VB.

    The encouragement of bad design, on the other hand, is unnecessary and evil. You shouldn't have to go out of your way to write logically organized and maintainable code. With VB, you do.

    L 1 Reply Last reply
    0
    • K Klaus Probst

      Chris, I don't hate criticism anymore than C++ programmers do. I do take offense at people giving informed opinions on a language and associated culture they obviously don't understand. I can't criticize Eiffel because I don't know it that well. I *can* say that I personally think Perl sucks though. I think it's a very powerful language, but it's generally difficult to code against and unecessarily complicated. But at least I know what I'm talking about. I've written enough freakin' Perl to be able to make that opinion. I've also written enough C++ to know that it's a great language. Have you written enough VB to do the same? I don't think so. VB has a *lot* to criticize, and as some others have pointed out in this thread, the unfortunate general perception of the language is that it sucks because everybody and their uncle can put a few controls on a form, write two lines of code and call themselves "developers". Thus there are countless examples of bad VB "code" -- if one can call it that. Then again, I've seen some pretty shitty C++ code and some very clueless dimwits trying to pass as C++ programmers. But since VB has such a huge user base, perspectives get skewed. I have fought VB for 9 years now, trying to make it do what I want it to do, hacking and working around its limitations and hoping for the best. That's an unfortunate fact. But I love VB. I also love C++ and I love web development, be it ASP pr PHP or Perl/CGI. More generally, I love writing software and solving problems through it. The fact that I use VB extensively doesn't make me particularly stupid or retarded or, to generalize, a bad programmer. I don't really care what you or anybody else thinks about this, but after seeing your especially dumb post I basically reached the end of my string. If I'd wanted to start a flame war I would've just posted anonimously, called you a crack head and moved on. People who like to get involved in endless language advocacy threads have never striked me as very intelligent. They fail to recognize the fact that the trick has always been choosing the right tool for the job. I would never try to write a device driver or a COM+ resource manager or an NT service in VB. Nor would I try to write an office suite in Python. Makes sense when you stop and think about it, doesn't it? Then again, the fact that C++ can do just about anything doesn't make it the perfect multi-function swiss army knive. How many people have gone through this before in Usenet and a thousand web forums and BBS'? It gets tired aft

      C Offline
      C Offline
      Chris Losinger
      wrote on last edited by
      #26

      >How many people have gone through this before in Usenet and a thousand web forums and BBS'? It gets tired after a while then the question is, obviously: why did you bother replying? -c ------------------------------ Smaller Animals Software, Inc. http://www.smalleranimals.com

      1 Reply Last reply
      0
      • L l a u r e n

        i just hate programming with mittens on :) --- "every year we invent better idiot proof systems and every year they invent better idiots"

        R Offline
        R Offline
        Richard Melton
        wrote on last edited by
        #27

        I second that! Blah!

        1 Reply Last reply
        0
        • L Lost User

          Well this should send the sparks flying - if only for the subject title. All you C++ programmers out there, I want 10 good reasons why you hate VB and all it stands for. We've all had a good laugh at VB but why? Making it easy to program doesn't equate to good programs, all C++ developers out there now that. I want 10 GOOD reasons why you as a developer hate VB! Lets hope Microsoft read this thread and maybe, just maybe they will see why C++ is the most respected language in the development community. Name withheld, until time suits. "He lit the match, then retired to a safe distance..."

          K Offline
          K Offline
          Kevnar
          wrote on last edited by
          #28

          I don't hate VB. I like being able to just sit down and program. I don't like having to "reinvent the wheel" everytime I want to put a function together. I get very frustrated trying to figure out every little syntax and data type, jumping through all kinds of hoops just to get the darn thing to go. To me the differnce between C++ and VB is like this: Say you had an instruction to get in your car and drive to the store. In VB you would get in your car and drive to the store. In C++ you would have to assemble the engine part by part put the car's components in place, test it, take it all appart again, reassemble the whole darn thing in another way and start over... etc. No thanks. I just don't have time. The supposed power that C++ programmers always brag about is merely a trade off in coding time. An engineer can design and build his own car and brag about how powerful it is, or he can just go out and buy one. Which one is quicker? Oh well that's just my opinion.

          L 2 Replies Last reply
          0
          • C Chris Losinger

            1. when you need something really fast, you end up having to ask a C person to write a DLL for you 2. completely unportable code 3. completely unportable programmer skillset 4. the language is totally at the mercy of MS (MS can't go changing the way C's arrays are indexed, at least) 5. ugly IDE (at least as of VB6) 6. i can't run the IDE for more than an hour without it crashing 7. each iteration of VB brings it slightly closer to a real programming language. why wait for MS to get it right, learn C/C++/Java/Smalltalk/anything else! 8. it's "BASIC", not "Basic", and the first letter stands for "Beginner's". 9. ok. it does make it easy for beginners to do simple things. but why not encourage them to learn programming for real? 10. too much of what your program is really doing is hidden. as is typical of MS, the scary bits are kept out of sight and reach which is fine if you're not doing anything that MS doesn't expect you to. but the second you want to do something that VB doesn't really like, you're ground - like playing with the Win32 APIs. -c ------------------------------ Smaller Animals Software, Inc. http://www.smalleranimals.com

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #29

            I use VB for doing heaps of things ;P , except databases, because i'm only 15...i tried BASIC last year, and i loved it, even though i was only stuphing around with input and output, so i bought a book on VB6, and had heaps more phun... :cool: I can't see anything wrong with the IDE, it never crashes when i use it! And you tell me where to find a good C++ IDE? Would you have to say that Visual C++ is the best IDE? :confused: I see that some of the other replies have been attacking Microsoft, but still swear by MFC (Microsoft Foundation Classes). What is wrong with you guys? :confused: Can't you just use these langauges, and not put down others? I know that Visual BASIC is used mainly for databases, and for simple things. For example, Symantec uses it in the downloadable NAV updater - i checked it's code out, it's done in VB... You can make some awesome RPGs in VB, too... Just think about it! ;P Act your age, not your mental capacity! ;P

            1 Reply Last reply
            0
            • S Sir Gras of Berger
              1. The language encourages poor program design.

              That about sums it up for me. Most of the stuff mentioned in this thread doesn't bother me at all, VB is a different tool for different problems. If you need to care about object lifetimes, or have multiple threads, etc., you just shouldn't be using VB.

              The encouragement of bad design, on the other hand, is unnecessary and evil. You shouldn't have to go out of your way to write logically organized and maintainable code. With VB, you do.

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #30

              My personal favorite also! I've worked in Commodore Basic (The good old C64), Amiga Basic, True Basic, Quick Basic and VB, and they just don't help you at all when it comes to design issues. Any time you have to a choice between putting in a 'quick fix' to solve a problem you hadn't anticipated, or reworking the design to resolve the problem, the language just makes it SO easy to go for the quick fix. Programmer discipline is really needed in Basic, and so often is NOT there!

              L 1 Reply Last reply
              0
              • L Lost User

                My personal favorite also! I've worked in Commodore Basic (The good old C64), Amiga Basic, True Basic, Quick Basic and VB, and they just don't help you at all when it comes to design issues. Any time you have to a choice between putting in a 'quick fix' to solve a problem you hadn't anticipated, or reworking the design to resolve the problem, the language just makes it SO easy to go for the quick fix. Programmer discipline is really needed in Basic, and so often is NOT there!

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #31

                Again, it's the programmer not the language though. You're telling me C or C++ doesn't require programmer discipline? I've seen some majorly crap C++ code and I'd rather have to mess about with crap VB code because in the end it's easier to read. Of course, I'd much prefer good VB code and that's why I ensure that my team does their best at avoiding the quick fix.

                L 1 Reply Last reply
                0
                • K Klaus Probst

                  Chris, I don't hate criticism anymore than C++ programmers do. I do take offense at people giving informed opinions on a language and associated culture they obviously don't understand. I can't criticize Eiffel because I don't know it that well. I *can* say that I personally think Perl sucks though. I think it's a very powerful language, but it's generally difficult to code against and unecessarily complicated. But at least I know what I'm talking about. I've written enough freakin' Perl to be able to make that opinion. I've also written enough C++ to know that it's a great language. Have you written enough VB to do the same? I don't think so. VB has a *lot* to criticize, and as some others have pointed out in this thread, the unfortunate general perception of the language is that it sucks because everybody and their uncle can put a few controls on a form, write two lines of code and call themselves "developers". Thus there are countless examples of bad VB "code" -- if one can call it that. Then again, I've seen some pretty shitty C++ code and some very clueless dimwits trying to pass as C++ programmers. But since VB has such a huge user base, perspectives get skewed. I have fought VB for 9 years now, trying to make it do what I want it to do, hacking and working around its limitations and hoping for the best. That's an unfortunate fact. But I love VB. I also love C++ and I love web development, be it ASP pr PHP or Perl/CGI. More generally, I love writing software and solving problems through it. The fact that I use VB extensively doesn't make me particularly stupid or retarded or, to generalize, a bad programmer. I don't really care what you or anybody else thinks about this, but after seeing your especially dumb post I basically reached the end of my string. If I'd wanted to start a flame war I would've just posted anonimously, called you a crack head and moved on. People who like to get involved in endless language advocacy threads have never striked me as very intelligent. They fail to recognize the fact that the trick has always been choosing the right tool for the job. I would never try to write a device driver or a COM+ resource manager or an NT service in VB. Nor would I try to write an office suite in Python. Makes sense when you stop and think about it, doesn't it? Then again, the fact that C++ can do just about anything doesn't make it the perfect multi-function swiss army knive. How many people have gone through this before in Usenet and a thousand web forums and BBS'? It gets tired aft

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #32

                  I've just been to your site (www.vbbox.com) and found this rather interesting comment about C++ "unholy language of languages, C++. Ack!" May we know why you think C++ is an unholy language?

                  K 1 Reply Last reply
                  0
                  • K Kevnar

                    I don't hate VB. I like being able to just sit down and program. I don't like having to "reinvent the wheel" everytime I want to put a function together. I get very frustrated trying to figure out every little syntax and data type, jumping through all kinds of hoops just to get the darn thing to go. To me the differnce between C++ and VB is like this: Say you had an instruction to get in your car and drive to the store. In VB you would get in your car and drive to the store. In C++ you would have to assemble the engine part by part put the car's components in place, test it, take it all appart again, reassemble the whole darn thing in another way and start over... etc. No thanks. I just don't have time. The supposed power that C++ programmers always brag about is merely a trade off in coding time. An engineer can design and build his own car and brag about how powerful it is, or he can just go out and buy one. Which one is quicker? Oh well that's just my opinion.

                    L Offline
                    L Offline
                    l a u r e n
                    wrote on last edited by
                    #33

                    duhhhh ever had the thought to make your own class libs for specific problem domains? code reuse dude ... its a GOOD idea no memory management ... no multi-threading ... no generic types ... tight binding of code with ui ... these are BAD things i never met a vb coder i respected professionally as a friend of mine at ms always says ... "lauren, there are programmers and there are programmers ... calling the first bunch programmers is unfortunate" much like calling vb a programming language really ... its a glorified scripting language with nowhere to go imho --- "every year we invent better idiot proof systems and every year they invent better idiots"

                    1 Reply Last reply
                    0
                    • K Kevnar

                      I don't hate VB. I like being able to just sit down and program. I don't like having to "reinvent the wheel" everytime I want to put a function together. I get very frustrated trying to figure out every little syntax and data type, jumping through all kinds of hoops just to get the darn thing to go. To me the differnce between C++ and VB is like this: Say you had an instruction to get in your car and drive to the store. In VB you would get in your car and drive to the store. In C++ you would have to assemble the engine part by part put the car's components in place, test it, take it all appart again, reassemble the whole darn thing in another way and start over... etc. No thanks. I just don't have time. The supposed power that C++ programmers always brag about is merely a trade off in coding time. An engineer can design and build his own car and brag about how powerful it is, or he can just go out and buy one. Which one is quicker? Oh well that's just my opinion.

                      L Offline
                      L Offline
                      l a u r e n
                      wrote on last edited by
                      #34

                      duhhhh ever had the thought to make your own class libs for specific problem domains? code reuse dude ... its a GOOD idea no memory management ... no multi-threading ... no generic types ... tight binding of code with ui ... these are BAD things i never met a vb coder i respected professionally as a friend of mine at ms always says ... "lauren, there are programmers and there are programmers ... calling the first bunch programmers is unfortunate" much like calling vb a programming language really ... its a glorified scripting language with nowhere to go imho --- "every year we invent better idiot proof systems and every year they invent better idiots"

                      1 Reply Last reply
                      0
                      • L Lost User

                        I've just been to your site (www.vbbox.com) and found this rather interesting comment about C++ "unholy language of languages, C++. Ack!" May we know why you think C++ is an unholy language?

                        K Offline
                        K Offline
                        Klaus Probst
                        wrote on last edited by
                        #35

                        It's a joke, bud. I wouldn't post a C++ sample on my site if I thought C++ is "unholy". Jeez. Rent a sense of humor. ___________ Klaus [www.vbbox.com]

                        1 Reply Last reply
                        0
                        • C Christian Graus

                          ** Poor standard math speed. *Crap. Poor string speed, maths ain't bad. appaently not in comparison to strings, anyhow. ** VB totally non standard with any other language... Once a VB programmer always a VB programmer.. *Say what? I've programmed with MANY Languages and I could go back to ANY of them if I chose - I just choose VB. Really ? That's wierd - have you used C++ and prefer VB ? *scratches head* The point was, and is, that if you learn VB you are for the purposes of that language a slave to M$ in terms of the language and the platform. ** Size, Bloated code, Runtime Libraries *Size? Really - are you sure? Bloated code - same thing. Runtime libraries - with .NET, join the club a/ Absolutely sure. I wrote my first WTL program this week. It has no external DLL dependancies and in less than 100k it brings up a view with a list control, allows me to browse to a folder, read in mp3 files from that folder and display/edit ID3 v1 and v2 tags. Could you do it in that size using VB, no external libraries needed ? b/ VS.Net will still allow native compiling of C++. Wy / Because C++ is smaller and faster and no-one would buy .Net without that support. Of course, you have no choice but to use the M$ compiler if you use VB, so they can do whatthey want to you. ** A much higher percentage of incompetent programmers. I think that the VB language and mentality promotes this. *I disagree wholeheartedly. If I look at my company (Quicken Australia), the VB programmers are good, quality code focussed and our product is produced with the fewest bugs in QA, and has the lowest Tech Support calls. Our C programmers are often fumbling around with code, introducing bugs when they fix others and don't talk to Tech Support about their products... Quicken is written in VB ? Just because you guys may have some good VB programmers does not change the fact that the initial statement is true - the world is FULL of *awful* VB 'programmers' who don't know which end is up. Check out Geocities and see how many of them are building Frontpaged websites to promote their dodgy code... ** Promotes the hack hack hack mentality rather than proper design *This kind of comment is utter, utter crap. It is the programmer that promotes this, not the language. The structure of C++ tends to promote good design, although you are right that no language can *enforce* it. ** Poorly defined language in places and frustrating syntax around arrays and functions and subs: *x = y(5) -- is y an array or a function? Aww

                          J Offline
                          J Offline
                          Jason Gerard
                          wrote on last edited by
                          #36

                          >>The point was, and is, that if you learn VB you are for the purposes of that language a slave to M$ in terms of the language and the platform.<< So you're saying I can take my ATL component or MFC apps and run them on Unix or MacOS? Maybe if I make some substantial changes and use Mainsoft's MainWin porting tool. Any substantial C++ Windows app is not going to be easy to port. The whole point of VB is to create Microsoft Windows applications. It was never meant to be anything other than that. I don't know nor care what some hacks that pick up a VB6 book and spit out crap code do. I'm a professional VB programmer. I write substantial COM components with VB and make heavy use of VBScipt in my ASP pages with client-side JavaScript. Every client I've ever been to that uses VB have used it in this manner (all but one, they were Java fanatics). VB is fast enough with ADO working with data and we've never had a need to use C++. My current client uses VB COM components extensively. Yeah, VB has some things that I HATE. Like having Subs and Functions and not allowing () on Subs. And I do hate having to close the IDE when testing out an ATL object. VB does have some serious design flaws, but it's great for getting good code out quick (and sometimes bad code too). Just because you've spent the last 10+ years mastering C++ doesn't give you guys the right to rip into VB programmers. You don't critize a carpentar b/c he uses a nail gun instead of a hammer do you? They do the same job, just differently. You make us sound like a bunch of slack-jawed yokels(well, maybe the guy that said "i'm anti microsoft" is). Don't worry, you'll always have a job. There are many things VB is in no way suited for and we'll need C++. It all comes down to personal preference and the right tool for the job. I love C++, Java, and C# and am droping VB for C#. But for right now, I have to use VB. Jason Gerard MCSD, MCSE Technology Point International, Inc.

                          1 Reply Last reply
                          0
                          • L Lost User

                            Again, it's the programmer not the language though. You're telling me C or C++ doesn't require programmer discipline? I've seen some majorly crap C++ code and I'd rather have to mess about with crap VB code because in the end it's easier to read. Of course, I'd much prefer good VB code and that's why I ensure that my team does their best at avoiding the quick fix.

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #37

                            True - programmer skill and discipline matters more than the language. I just find that the C++ 'mindset' is more structured that Basic - C++ seems to have an underlying sense of style (which can be ignored and abused, of course - but at least it's there!), whereas Basic seesm to be a language that leaves it up to you . It doesn't seem to 'advocate' any particular approach to design and coding, and therefore I find it tends to require greater concentration and discipline to maintain a consist approach to coding.

                            1 Reply Last reply
                            0
                            • L Lost User

                              Well this should send the sparks flying - if only for the subject title. All you C++ programmers out there, I want 10 good reasons why you hate VB and all it stands for. We've all had a good laugh at VB but why? Making it easy to program doesn't equate to good programs, all C++ developers out there now that. I want 10 GOOD reasons why you as a developer hate VB! Lets hope Microsoft read this thread and maybe, just maybe they will see why C++ is the most respected language in the development community. Name withheld, until time suits. "He lit the match, then retired to a safe distance..."

                              O Offline
                              O Offline
                              Orbitalne
                              wrote on last edited by
                              #38

                              Not exactly in the top 10 order but: 1) It's so easy, it sickens me. I like a challenge. 2) If you create a network app, it runs VERY slow. 3) VB programs are VERY unstable and tend to crash more often 4) Promotes sloppy programming 5) Little kids can program with VB, so that can give you a hint to the mentality of VB programmers. 6) VB makes it extremely hard to work with strings and arrays 7) VB is nowhere near hardcore programming (compared to COBOL, C, or even C++) 8) VB doesn't allow you to see what's actually going on behind the program. 9) The .exe's rediculously take up too much space. 10) The Interpreter itself rediculously takes up too much space (What? 600 MBs? Good old Microsoft know how to waste space. Same as MFC, except MFC is WAY better just for the fact it's part of C++ and MFC itself uses mountains of code compared to VB, and you can do SO MUCH MORE with MFC) I Want Chicken, I Want Liver, Meow Mix, Meow Mix, Please Deliver...

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups