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

    Here's a bunch of reasons why I don't like VB, just off the top of my head: No standard default size for controls when draging onto the workspace. Mousewheel doesn't work in the editor. Poor standard math speed. VB totally non standard with any other language... Once a VB programmer always a VB programmer.. Size, Bloated code, Runtime Libraries No global exception handling OnError Resume Next Lack of proper threading support Lack of stability as a development platform A much higher percentage of incompetent programmers. I think that the VB language and mentality promotes this. Promotes the hack hack hack mentality rather than proper design Inability to determine the root causes of problems beneath the surface Poorly defined language in places and frustrating syntax around arrays and functions and subs: x = y(5) -- is y an array or a function? I would write x = y(5) if I want the return value of function y, but if I don't, I would write y 5 Poor project support for larger projects ( ie no support for more than one component in a VB project that I'm aware of ) The fact that VB hangs onto a reference count of a COM object is very annoying when writing a COM object in C++ and a test application in VB at the same time because I have to close down VB in order to rebuild the COM object.

    N Offline
    N Offline
    Nick Carruthers
    wrote on last edited by
    #8

    >The fact that VB hangs onto a reference count of a COM object is very annoying when writing a COM object >in C++ and a test application in VB at the same time because I have to close down VB in order to rebuild >the COM object. Amen to that! What a pain in the butt that has been for me. Every time I want to rebuild, I have to go shut down the service and create a new project in VB (no "Close Project" in VB?! Wth?). Glad to see I'm not the only one with that pet peeve. Nick

    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..."

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

      I have programmed in both VB and C++, and here are my reasons for "not liking VB that much" : 1. Speed (no need to elaborate this, I hope) 2. Flexibility (most of the modern OS were written in C or C++, so calling the OS API from C or C++ is no different than calling any other function). 3. Total incompatibility between VB6 and VB7. 4. No generic programming (with templates). 5. No standard library. 6. VB code is hard to maintain (although, to be honest, poorly written C++ code can be as hard). However, VB can be a good choice for: 1. Database front-end applications 2. ASP. 3. Middle-tier COM components (sometimes). Nemanja Trifunovic

      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..."

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

        I have programmed in both VB and C++, and here are my reasons for "not liking VB that much" : 1. Speed (no need to elaborate this, I hope) 2. Flexibility (most of the modern OS were written in C or C++, so calling the OS API from C or C++ is no different than calling any other function). 3. Total incompatibility between VB6 and VB7. 4. No generic programming (with templates). 5. No standard library. 6. VB code is hard to maintain (although, to be honest, poorly written C++ code can be as hard). However, VB can be a good choice for: 1. Database front-end applications 2. ASP. 3. Middle-tier COM components (sometimes). Nemanja Trifunovic

        1 Reply 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
          #11

          > 8. it's "BASIC", not "Basic", and the first letter stands for "Beginner's". That isn't true. The programming language is Basic, and the "backronym" BASIC was invented years later. So you'll need to find a new number 8.;P

          L C 2 Replies 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..."

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

            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 1 Reply 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

              C Offline
              C Offline
              Christian Graus
              wrote on last edited by
              #13

              This is pretty much what I set out to say when I read the initial post, but you beat me to it !!! Christian The content of this post is not necessarily the opinion of my yadda yadda yadda. To understand recursion, we must first understand recursion.

              1 Reply Last reply
              0
              • L Lost User

                Here's a bunch of reasons why I don't like VB, just off the top of my head: No standard default size for controls when draging onto the workspace. Mousewheel doesn't work in the editor. Poor standard math speed. VB totally non standard with any other language... Once a VB programmer always a VB programmer.. Size, Bloated code, Runtime Libraries No global exception handling OnError Resume Next Lack of proper threading support Lack of stability as a development platform A much higher percentage of incompetent programmers. I think that the VB language and mentality promotes this. Promotes the hack hack hack mentality rather than proper design Inability to determine the root causes of problems beneath the surface Poorly defined language in places and frustrating syntax around arrays and functions and subs: x = y(5) -- is y an array or a function? I would write x = y(5) if I want the return value of function y, but if I don't, I would write y 5 Poor project support for larger projects ( ie no support for more than one component in a VB project that I'm aware of ) The fact that VB hangs onto a reference count of a COM object is very annoying when writing a COM object in C++ and a test application in VB at the same time because I have to close down VB in order to rebuild the COM object.

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

                * No standard default size for controls when draging onto the workspace. Use something like VBMaximizer from VB-2-TheMax and you won't have this problem. * Mousewheel doesn't work in the editor. Does for me... What kind of mouse are you using? * Poor standard math speed. Crap. Poor string speed, maths ain't bad. * 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. * Size, Bloated code, Runtime Libraries Size? Really - are you sure? Bloated code - same thing. Runtime libraries - with .NET, join the club :) * No global exception handling AGREED * OnError Resume Next I actually like this and I would have thought that C programmers would love it too - it fits into the mentality of most C programs I've seen anyhow. * Lack of proper threading support AGREED. But haven't had a real problem with it yet. * Lack of stability as a development platform Huh? * 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... * 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. * Inability to determine the root causes of problems beneath the surface Kinda agree... Haven't had a real problem though. * 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 cmon, next you'll be saying is "x = y(5)" a comparison or assignment. C++ has its (more than) fair share of confusing syntax and don't try and disagree with that. * I would write x = y(5) if I want the return value of function y, but if I don't, I would write y 5 Yeah, that's SOOOO much clearer. * Poor project support for larger projects ( ie no support for more than one component in a VB project that I'm aware of ) Ummm. Visual Basic Project Groups do the job just fine. * The fact that VB hangs onto a reference count of a COM object is very annoying when writing a

                C L 2 Replies Last reply
                0
                • L Lost User

                  It's my religion of C++ that teaches this ...the same way your religion of VB teaches to hate C++. Isn't that true?

                  J Offline
                  J Offline
                  James Johnson
                  wrote on last edited by
                  #15

                  Why would a VB programmer hate C++? Hell, after working with VB for 2 years I took up C followed by C++! Don't get me wrong, I love C++, but there have only been a few instances where C++ has been the best choice for me to use in a program (I've done database work for several companies in Michigan) and even then I chose C++ & MFC because VB doesn't let me initialize arrays when I declare them, thus writing my lookup table would have been even more tedious (ie PercentBack(0, 0) = .012 : PercentBack(0, 1) = .02 : etc) Many times I've seen comments from some people here that say something along the lines of "If VB is so good, why do all of the VB programs you see on the web suck?". Here's a quick answer that it seems no one has thought of, because the main use [I have seen] for VB is as a database solution for private company use. I very much doubt that the programs I've written for my clients would be of any use to anyone else (especially since they were written specifically for my clients). Hmmm, now I think the next point someone is going to use to poke at VB Programmers is, "Your clients have obviously been too poor to afford a real programmer" (ie C++). Incorrect! One of the programs that was written at the company I worked, was written for the Kingdom of Saudi Arabia [It's just a shame I was working on another project at the time]. I've had one point that's been on my chest since the vote a while ago about whether a VB section or sister site would be welcome. Several of the comments posted were along the lines of that if that a VB section/site was added it would take away from the quality of the articles currently present on the codeproject site. I cannot think of any single reason for this to even be true. Think about it, why would the quality of the articles degrade? The truth is, there isn't any reason for that to happen. After all the the VB section/site would have been just that, a separate section/site, the quality of the articles for the rest of the site would be the same. In fact, I think the quality might actually have gotten better! After all, opening a VB section/site would attract more people to the site, more people generally means more people with some degree of intellect (such that they could write great articles). Come to think of it, while having a VB 6 section/site has been shut down (which I respect that), what about VB.NET? :rolleyes: After all, VB.NET does add some features that have made people choose C++ over VB6- such as threading, inheritance

                  1 Reply Last reply
                  0
                  • L Lost User

                    * No standard default size for controls when draging onto the workspace. Use something like VBMaximizer from VB-2-TheMax and you won't have this problem. * Mousewheel doesn't work in the editor. Does for me... What kind of mouse are you using? * Poor standard math speed. Crap. Poor string speed, maths ain't bad. * 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. * Size, Bloated code, Runtime Libraries Size? Really - are you sure? Bloated code - same thing. Runtime libraries - with .NET, join the club :) * No global exception handling AGREED * OnError Resume Next I actually like this and I would have thought that C programmers would love it too - it fits into the mentality of most C programs I've seen anyhow. * Lack of proper threading support AGREED. But haven't had a real problem with it yet. * Lack of stability as a development platform Huh? * 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... * 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. * Inability to determine the root causes of problems beneath the surface Kinda agree... Haven't had a real problem though. * 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 cmon, next you'll be saying is "x = y(5)" a comparison or assignment. C++ has its (more than) fair share of confusing syntax and don't try and disagree with that. * I would write x = y(5) if I want the return value of function y, but if I don't, I would write y 5 Yeah, that's SOOOO much clearer. * Poor project support for larger projects ( ie no support for more than one component in a VB project that I'm aware of ) Ummm. Visual Basic Project Groups do the job just fine. * The fact that VB hangs onto a reference count of a COM object is very annoying when writing a

                    C Offline
                    C Offline
                    Christian Graus
                    wrote on last edited by
                    #16

                    ** 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 1 Reply Last reply
                    0
                    • L Lost User

                      * No standard default size for controls when draging onto the workspace. Use something like VBMaximizer from VB-2-TheMax and you won't have this problem. * Mousewheel doesn't work in the editor. Does for me... What kind of mouse are you using? * Poor standard math speed. Crap. Poor string speed, maths ain't bad. * 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. * Size, Bloated code, Runtime Libraries Size? Really - are you sure? Bloated code - same thing. Runtime libraries - with .NET, join the club :) * No global exception handling AGREED * OnError Resume Next I actually like this and I would have thought that C programmers would love it too - it fits into the mentality of most C programs I've seen anyhow. * Lack of proper threading support AGREED. But haven't had a real problem with it yet. * Lack of stability as a development platform Huh? * 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... * 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. * Inability to determine the root causes of problems beneath the surface Kinda agree... Haven't had a real problem though. * 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 cmon, next you'll be saying is "x = y(5)" a comparison or assignment. C++ has its (more than) fair share of confusing syntax and don't try and disagree with that. * I would write x = y(5) if I want the return value of function y, but if I don't, I would write y 5 Yeah, that's SOOOO much clearer. * Poor project support for larger projects ( ie no support for more than one component in a VB project that I'm aware of ) Ummm. Visual Basic Project Groups do the job just fine. * The fact that VB hangs onto a reference count of a COM object is very annoying when writing a

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

                      * Mousewheel doesn't work in the editor. >>Does for me... What kind of mouse are you using? I've never seen a mousewheel work in VB.. Even if it does when you have "the right combo" of hardware/drivers installed, it should work with 100% of combinations just like VC's ide. * A much higher percentage of incompetent programmers. I think that the VB language and mentality promotes this. Could not agree more on this one, VB programmers are the absolute worst "cut & paste" coders that have ever existed! I've seen lots of cases where they have a collection of functions that they regularly glue into code because "it worked in the past..". They didn't have a clue as to how it worked or why, but they were simply too dense to to care. * Poor standard math speed. >>Crap. Poor string speed, maths ain't bad. Oh yeah.. Math speed is BAD.. I don't think we are talking adding a few numbers together.. serious math... * 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. It is the programmer, but a programmer that only knows VB doesn't seem to have a real concept of design. I've seen so many examples of this over the past few years. One of the best was just recently a VB coder estimated 1 day to design a complex password/security object. Napkin scratches does not make for a good design. * The fact that VB hangs onto a reference count of a COM object is very annoying when writing a COM object in C++ and a test application in VB at the same time because I have to close down VB in order to rebuild the COM object. >>Poor boy. I didn't intend to reply to this with sarcasm, but really, VB does stuff in a safe >>way and you whinge about it? Oh come on! Get real, having to exit the compiler to release reference counts does not make for a productive work environment.. Its just plain STUPID! The VB drones just accept this though..

                      1 Reply Last reply
                      0
                      • L Lost User

                        > 8. it's "BASIC", not "Basic", and the first letter stands for "Beginner's". That isn't true. The programming language is Basic, and the "backronym" BASIC was invented years later. So you'll need to find a new number 8.;P

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

                        BASIC Beginners All-purpose Symbolic Instruction Code Any 6th grade computer teacher could tell you this.

                        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..."

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

                          There is only one reason why I hate VB and it has nothing to do with VB as a language. It has everything to do with VB as a philosophy. The philosophy is that programming can be made easier with a language. Simple programs are simple, complex programs are complex. No language can change that. The philosophy of VB makes managers believer they can bring thier dreams to reality more cheaply. If they dream small, that may be true. If they dream big - no way, dude. When big dreams die, software engineering as a profession takes a very public hit, and that is bad for all of us. C++/VC++ makes no such promises. TO simply understand it is considered a major intellectual achievement. Anyone who can master it is probably at least a competent programmer and is more likely to design workable software than someone who subscribes to the philosophy of VB.

                          1 Reply 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

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

                            > 1. when you need something really fast, you end up having to ask a C person to write a DLL for you Really fast. Blazing. Yeah, like reading from a database over a network connection. You're missing the point on what VB is used for most of the time. > 2. completely unportable code It's not meant to be portable, it never was, it never will, nobody is interested in it being portable. This is a Microsoft tool for Microsoft OSes. If I want portability, I'll work in Perl or C (certainly not in C++, eh) > 3. completely unportable programmer skillset That's new. So COM is "unportable"? Unportable to what? And if you think that your skillset is tied to the language you use you've got worst problems than your pathological hate for one of them. > 4. the language is totally at the mercy of MS (MS can't go changing the way C's arrays are indexed, at least) Right. But then again, I didn't hear VC++ was being designed on SourceForge nowadays. Or Java, for that matter. > 5. ugly IDE (at least as of VB6) Gee. Looks to me very much like most other Microsoft products. You can always use Notepad, though. > 6. i can't run the IDE for more than an hour without it crashing Try not hitting the power button on your computer so often. Or stop using WindowsMe. I can run it for weeks without shutting it down without a single problem on Windows 2000. Send me a trace dump and I'll help you pinpoint the problem. Maybe it's your GNU screensaver. Don't worry, we'll work it out. > 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! Learn assembler and wait for everyone to implement full ANSI compliance, how's that? > 8. it's "BASIC", not "Basic", and the first letter stands for "Beginner's". Try another tactic. That's one been used too much already. BTW, I hope you're not suggesting that I'm a "begginer" because I use VB. That really, really pisses me off. > 9. ok. it does make it easy for beginners to do simple things. but why not encourage them to learn programming for real? I hope you weren't expecting anything higher than a simple "bite me" here. HTH! > 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. Gee.

                            C 1 Reply Last reply
                            0
                            • L Lost User

                              > 8. it's "BASIC", not "Basic", and the first letter stands for "Beginner's". That isn't true. The programming language is Basic, and the "backronym" BASIC was invented years later. So you'll need to find a new number 8.;P

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

                              http://info.astrian.net/jargon/terms/b/BASIC.html ok. you're right. 8a. VB is Logo for adults. Nice toy, bad tool. -c ------------------------------ Smaller Animals Software, Inc. http://www.smalleranimals.com

                              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..."

                                A Offline
                                A Offline
                                Alvaro Mendez
                                wrote on last edited by
                                #22

                                What is VB? It's a language, a class library, and a development environment for developing Windows apps and components. Comparing it to C++, which is considered just a language, is absurd IMHO. Part of the reason we have these VB vs. C++ wars is because Microsoft didn't make a C++ equivalent of VB. Instead Microsoft took the "wrap the Win32 API inside classes" route and we ended up with the UnVB-like class library, which we all know as MFC. Had they instead created a VB clone in C++, like CapitolSoft's add-in does, who knows where C++'s popularity would be today? If there is one thing I hate about VB is it's syntax. So again, I can't help but wonder what it'd been like to write programs as easily as with VB but using C++ syntax. Regards, Alvaro

                                1 Reply Last reply
                                0
                                • K Klaus Probst

                                  > 1. when you need something really fast, you end up having to ask a C person to write a DLL for you Really fast. Blazing. Yeah, like reading from a database over a network connection. You're missing the point on what VB is used for most of the time. > 2. completely unportable code It's not meant to be portable, it never was, it never will, nobody is interested in it being portable. This is a Microsoft tool for Microsoft OSes. If I want portability, I'll work in Perl or C (certainly not in C++, eh) > 3. completely unportable programmer skillset That's new. So COM is "unportable"? Unportable to what? And if you think that your skillset is tied to the language you use you've got worst problems than your pathological hate for one of them. > 4. the language is totally at the mercy of MS (MS can't go changing the way C's arrays are indexed, at least) Right. But then again, I didn't hear VC++ was being designed on SourceForge nowadays. Or Java, for that matter. > 5. ugly IDE (at least as of VB6) Gee. Looks to me very much like most other Microsoft products. You can always use Notepad, though. > 6. i can't run the IDE for more than an hour without it crashing Try not hitting the power button on your computer so often. Or stop using WindowsMe. I can run it for weeks without shutting it down without a single problem on Windows 2000. Send me a trace dump and I'll help you pinpoint the problem. Maybe it's your GNU screensaver. Don't worry, we'll work it out. > 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! Learn assembler and wait for everyone to implement full ANSI compliance, how's that? > 8. it's "BASIC", not "Basic", and the first letter stands for "Beginner's". Try another tactic. That's one been used too much already. BTW, I hope you're not suggesting that I'm a "begginer" because I use VB. That really, really pisses me off. > 9. ok. it does make it easy for beginners to do simple things. but why not encourage them to learn programming for real? I hope you weren't expecting anything higher than a simple "bite me" here. HTH! > 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. Gee.

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

                                  >Blazing. Yeah, like reading from a database over a network connection. You're missing the point on what VB is used for most of the time i don't pretend to know what every developer uses VB for. but, when speed is required, it's not VB that gets called on. >It's not meant to be portable, it never was, it never will, nobody is interested in it being portable. right, because Windows is the only OS that matters. >I didn't hear VC++ was being designed on SourceForge nowadays. Or Java, for that matter. i didn't say anything about VC++. VB is a language that MS controls entirely. MS can't change C++, no matter what they do to VC, C++ isn't changing. >Try not hitting the power button on your computer so often. Or stop using WindowsMe. what the fuck are you talking about? >I can run it for weeks without shutting it down without a single problem on Windows 2000. Send me a trace dump and I'll help you pinpoint the problem. Maybe it's your GNU screensaver. Don't worry, we'll work it out. now you're just grasping. WTF has GNU to do with this? >Gee. And I thought Java was programming down to the metal. the thread is C++ vs. VB, not C++ vs. Java. i have the same complaint about Java. someone is obviously a little touchy about his programming language preference. -c ------------------------------ Smaller Animals Software, Inc. http://www.smalleranimals.com

                                  K 1 Reply Last reply
                                  0
                                  • C Chris Losinger

                                    >Blazing. Yeah, like reading from a database over a network connection. You're missing the point on what VB is used for most of the time i don't pretend to know what every developer uses VB for. but, when speed is required, it's not VB that gets called on. >It's not meant to be portable, it never was, it never will, nobody is interested in it being portable. right, because Windows is the only OS that matters. >I didn't hear VC++ was being designed on SourceForge nowadays. Or Java, for that matter. i didn't say anything about VC++. VB is a language that MS controls entirely. MS can't change C++, no matter what they do to VC, C++ isn't changing. >Try not hitting the power button on your computer so often. Or stop using WindowsMe. what the fuck are you talking about? >I can run it for weeks without shutting it down without a single problem on Windows 2000. Send me a trace dump and I'll help you pinpoint the problem. Maybe it's your GNU screensaver. Don't worry, we'll work it out. now you're just grasping. WTF has GNU to do with this? >Gee. And I thought Java was programming down to the metal. the thread is C++ vs. VB, not C++ vs. Java. i have the same complaint about Java. someone is obviously a little touchy about his programming language preference. -c ------------------------------ Smaller Animals Software, Inc. http://www.smalleranimals.com

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

                                    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 L 2 Replies Last reply
                                    0
                                    • 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
                                          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