Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Microsoft

Visual Basic book author gives up the language 177

Norman Lorrain writes "Bruce McKinney, author of of Hardcore Visual Basic has announced that he's fed up with VB and won't be writing a 3rd edition of his book. The best quote is at the end: "I don't need a language designed by a focus group"."
This discussion has been archived. No new comments can be posted.

Visual Basic book author gives up the language

Comments Filter:
  • by Anonymous Coward
    VB is good for what it was designed to do, which is making fairly simple GUI applications that run under Windows. Trying to do exotic or complicated stuff is like trying to write a relational database in Forth from scratch. You could do it, but why? There are are a lot better tools that will do the job faster. McKinney's frustration isn't surprising, especially after you've read Hardcore Visual Basic v2. He has some pretty specific ideas of where he wanted the language to go, but it didn't go there, and looked like it was never going to go there. I've had the same frustrations about other products.

    -- Just Another Anonymous Coward
  • by Anonymous Coward
    How can they call a language Object Oriented if it doesn't support inheritence, or constructors?

    Don't all object oriented langes have to support, inheritence, polymorphism/dynamic binding object construction and destruction and other good stuff?

    VB is not a OO language, it is wannabe oo language just like the programmers of vb are wannabe programmers.
  • by Anonymous Coward
    I agree completely. Unlike languages such as C/C++ where it is assumed that the programmer knows what he/she is doing, VB assumes the programmer hasn't got a clue and hides as much from you as it can. In the case of most VB programmers, this assumption is valid. There are so many clueless jokers out there "programming" in VB, thinking that they're actual hAcK3r d00ds...

    The only disagreement I have with what this guy says is that I never regarded VB as a language -- it's a product.

    Next week I'm leaving VB behind (forever I hope!) and switching to Delphi. Those sacrifices I made to the gods must have worked... although finding the willing virgins was quite difficult.
  • IMHO VB is designed for the mundane stupid little things for offices or others with generic computer needs. A quick screen to tell you something finished, entering data into a tiny personal database etc. It seems that this guy fell far too in love with the tool and tried to make it general purpose.

    Reminds me of the old saying:
    If all you have is a hammer then all the world is a nail.

    Everyone seems to have to relearn this idea.

    Peace
    Ron Rangel
  • by Anonymous Coward
    "...they are just a monopoly with horrible products."

    Yes. When ATT had a monopoly on the phone system,
    people complained about their arrogance, but most of us were
    generally happy with the service. The phone system never
    went down, and the phones that they rented were over-
    engineered to last forever.

    Plus, if you did have ANY problems, they'd come out to
    your house and fix them for free.

  • by Anonymous Coward
    The problems he describes are not just isolated to the v5 to v6 upgrade. I was forced to write an extensive VB app a couple of years ago. As as both a C++ and Delphi programmer it didn't take me long to discover many of the shortcommings of Vb4. Like he said 95% of the time on that project was spend working around limitations in VB. The result was an incredibly slow and unreliable application. In particular there was 1 bug I isolated down to about 10 lines of simple code that caused a GPF in a windows system DLL. This particular bug was impossible to repeat since it only occoured about once every few weeks (application was running 24-7) the real problem was with 200 copies of the application running the numbers came down to 2 crashes a day. MS couldn't help even though we gave them an incredible amount of money. When vb5 came out I attemped to port it. There were about 5 issues of which after spending an incredible amount of time I fixed 3. Again MS wasn't any help.
    He is of course correct about the documentation as well.

    Delphi is the way to go for RAD developement for a windows only platform.
  • by Anonymous Coward
    For it's day, VB was pretty damn mighty at what it was supposed to be and it has an incredibly large user base. To say it's trash is only paritally true because it was pretty high tech when it was first introduced.


    It's easy to compare it to C++, Java, MFC, GTK+, etc.. but that isn't what VB was supposed to be. Delphi, VB, Visualage Smalltalk, etc.. are bread and butter application generators for big businesses. They allow you to build a GUI front end for accessing a database or something in remarkably small amounts of time with remarkably small amounts of skill, and that is a good thing. There needs to be tools like that. They are primarily used for one-time use disposable code or on internal projects. The problem is when you start losing sight of what VB really is, of course it isn't good for large applications.


    MS came dangerously close to hitting the nail on the head with VB, though. The idea is there, they just started delivering a shoddy product after a few revisions and never beefed it up enough to be what they claimed it was which is funny with BG's committment to BASIC. If they had made VB as good as its competitors and had the same userbase we'd have some project going on to copy it before big businesses even looked at linux.

  • by Anonymous Coward
    ..is that the entire programming language's existance is based on the whims of microsoft. The entire staffs of Metrowerks, Borland, and whoever writes GCC could die tomorrow, and C++ would still be a perfectly valid programming language to use.

    but if microsoft suddenly decides they don't like VB anymore, and decide to "stop supporting" it, or replace it with something they like better, like IE 7.0, VB is dead. Anyone who's made a living off of it no longer has any meaningful skills, since VB is the only basic language worth mentioning on any system.

    and microsoft is the sort of company who is likely to turn around tomorrow and professionally kill off a thousand clueless professional VB programmers.

    anyway,
    VB == Hypercard + color + legitimacy
  • by Anonymous Coward

    Delphi:

    (1) Single executable! installation of VB
    runtime and OCXes is a major problem.

    Can't count the number of OCX installation
    problems. Common OCXes being overwritten, etc.

    (2) Free and reasonably high quality VCLs are
    available because inheritance in Delphi is
    used for components much more than VB.
    Re-implementing methods and procedures in vcls
    is a snap. VCLs can be used with C++ Builder.
  • by Anonymous Coward
    The question I would ask is : does Linux offer anything (IDE,language,tools) better -- in same niche as VB (i.e. ease-of-use, learning curve, GUI form creation, etc.)and yet can function as a general, high-level language? I know Delphi does a better job than VB in the windows world but there is nothing equivalent in the Linux or even Open Source.

    Yes, I know we have emacs, or the Unix philosophy of small tools doing small things in combination, etc. and a lot of other things (transparency, access to system source code, etc.) -- but we all know the downsides of this environment too -- the long and difficult learning curve Unix programmers have to go through to become even marginally productive.

    So we still need to ask : Can Linux offer something better?
  • by Anonymous Coward
    It is all too easy to be prejudiced against that which you are ignorant.

    (By the way, the important letter in COM is not 'O', but rather 'C' for Component -- see below.)

    COM *has* inheritance, the good kind, interface inheritance, good for composing robust and evolvable systems from separately authored components.

    Implementation inheritance, on the other hand, the bad kind, leads to subtle dependences from derived classes upon their base classes, such that it is very difficult to correctly version the base classes. Sometimes called the brittle base class problem. Implementation inheritance is fine if you're simply writing the entirety of a 10,000 line utility, *and* if your class library vendor has sworn up and down they'll never change its implementation, but is deadly if you're writing a piece of a 100,000 line application or trying to implement version 3 of the latter.

    Another problem with implementation inheritance is that each language has its own subclassing and naming semantics, so in practice you are locked into one programming language. COM is nice and language neutral -- write in C++, C, Java, VB, COBOL, etc.

    A nice balanced (OMG, COM, Java) book about the concepts of component software and how it builds on OOP but delivers new benefits when building large applications from reusable components, is "Component Software: Beyond Object-Oriented Programming" by Clemens Szyperski, (Addison-Wesley).

    Give it a look.
  • by Anonymous Coward
    KDevelop [uni-potsdam.de] has made enormous progress during the last months, and it offers a very promising strategy: Offering templates and wizards for RAD. The advantage over a mere GUI builder (which will probably included as well) is that you have more abstraction, allowing e.g. for both Gnome and KDE versions of a programme (Shaman is offering that)

    For the moment, i'd suggest you take a look at Qt and QtArchitect [primenet.com] ot try PerlQt. With a little bit of knowledge of object oriented concepts (which you should have anyway) it is possible to write little programs *really* fast!
    And, you won't be locked into a crappy design if you want to enlarge them.
  • by Anonymous Coward
    GTK is not the right choice.
    C-based, poorly documented, and crazy for features, this is more of a geek tk.

    Either take some small XForms-like toolkit like fltk (as the aboe poster mentioned), or take QT, if you want to do real work.
    If anything, Qt can be an alternative for the usual VB programmer. Nice tutorial, clear structure, commercial vendor to throw money at (deep desire due to M$ assimilation :)

    PerlQt is cool, BasicQt would be as well, if there was a decent BASIC (contradiction?) on UNIX.
  • by Anonymous Coward

    This is one case where I'm glad AC exists. :) If I told this story using my real name, I'd get fired pretty quickly...

    A couple of years ago I went to work for a consulting company. I wasn't impressed with the techies there, but hey, it's a job. I was called in to do a web-based version of a Visual Basic program.

    The program had about 50 screens. I discovered that the Big Boss himself had written the VB program. I was surprised, as I had pegged him as a PHB windbag. I was very impressed up until I watched him coding.

    For anyone who's seen VB "programmers" in action, I don't have to tell you what a travesty the environment is. Click here, fill in some properties there, write five lines of code. That's a form! This is swell if you're just writing a single-form program, but the project he was working on very quickly became unmaintainable.

    He is a very sloppy coder. It took him three months to get it "just right", half a dozen buggy releases, hijacking the customers as beta-testers. If I were a manager, and someone like that were working for me, I would fire him. I guess the customers had been conditioned to expect this sort of thing in "software development", though.

    Anyway, I wrote the web-based version in two days. I was instructed to make it look good under the constraint that it had to work on Navigator 3.0+, and MSIE 3.0+; and it had to download in less than a minute on a 28.8K modem. As it was a highly data-driven program, I wrote about 20K of JavaScript code that automatically generated the rest of the pages; the page downloaded in 5 seconds at 28.8K.

    There was only one revision. The customer got in a conference call with me and my boss to discuss a couple of user-interface issues. I fixed the web pages during the call. The customer was very impressed. The boss was dazed.

    The ironic part is that my boss is a respected Visual Basic "expert". If this is the caliber of programmer who works with Visual Basic, I do not consider VB'ers to be programmers.

    BTW, I have skimmed through a famous VB book since then, and all I remember about it was that it was replete with errors and inefficiencies that clearly indicated the author didn't understand logic or modular programming.

  • by Anonymous Coward
    Java has destruction built into the language and hidden from programmers, but it is there.

    umm . . . java has garbage collection, which does destroy things, but for that very reason it doesn't have destructors in the c++ sense (c++ is the only OO language i know well other than ObjectPascal; i know java a bit). a destructor is a function which is called when a class instance is destroyed. f'rinstance, this is very handy for getting rid of any dynamically allocated storage that the object may have lying around. of course, in a garbage-collected language, you don't have to worry about that. i'm awfully tired right now, and i honestly can't think of any other necessary uses for destructors (e.g. streaming the object out to a file on destruction is dumb, because sometimes you won't want to store the thing) . . .

    oh, yeah: you might want an object to notify somebody that it's dying. another example is the MFC class CWaitCursor; when you instantiate it, all it does is change the mouse pointer to the little hourglass thing. its destructor changes the mouse pointer back to the normal one. so you just declare an instance at the beginning of a long loop, and then forget about it; when that object passes out of scope, the destructor will be called. that's pretty useless, but it's cute and it's another example. in fact, it's a very apposite example, because if that object were garbage collected, it would be destroyed at some point in the future. when? who knows! the implementation has a mind of its own.

    a garbage-collected language with destructors would wander along, doing its thing, and then suddenly decide to collect some garbage -- whereupon this whole raft of arbitrary functions would start getting called. with garbage collection (at least as it's implemented in java), the programmer has no control over when destructors will be called, because the programmer has no control over when objects will be destroyed. therefore in such a language destructors are useless at best, and most likely actively harmful.

    i don't think that you need destructors to be an OO language anyway. i'm a lot more entranced by inheritance and abstraction.


    all corrections welcome! if i'm wrong i'd much rather learn than get all resentful.

  • It's one small step for man, on giant leap for humanity? :)

    I was stuck learning VB for school, and what a pain it was, sure it's easy, but it screwed me up for when I started doing C and GTK..

    It's almost as if VB is there to block your state of mind: you are now stuck in MS mode. exit loop is irrelevant, you will be assimilated.
  • Ah, the memories. I can remember my first COBOL class, where adding was "simple" to the teacher:

    ADD A TO B RESULTING IN C

    Being a math/CS major, I was insulted (what's so hard about c=a+b in ?) and soon figured I could con other people to giving the assignments to me in exchange for C/C++ homework and the like.
  • Yes, Qt is easy to pick up, and the documentation on their site is decent. And then KDE isn't hard to pick up afterwards. Before you know it, you've got a spiffy little application going.
  • Delphi is pretty cool for dealing with Windows. Heck, in 15 minutes I had a spiffy little program put together as a joke, and got way out of hand... 1000 people or so still think an N64 emulator can be had in a 100k zip dated nearly 2 years ago.
  • Why should I have to crawl through manpages just to figure out how to quit a program? (vi, emacs)

    Pico, jed to name a couple. The sequences to exit are right there at the bottom. Not to mention the wide array of X editors, where it's as simple as File->Exit or something similar. Vi and the like were made by programmers to help them do geeky things. Because they do these geeky things, they aren't always so adept at typing an email or something other people do. So, use the right tool for the job.

    Why should I have to learn a bunch of esoteric commands to do even basic file management? (pick any shell, or any CLI at all for that matter)

    Again, X apps. KDE (and GNOME I guess, haven't gotten around to using it myself) have all the file management things to make it as simple as drag/drop.

    Why should I have to use three buttons on a mouse to do functions which can be performed with only one, or two at the most?

    Why only use two when there's three on the mouse? And who on earth can't double-click (what most Win mouse drivers use the middle button for)? It's been a while since I used xfig, but I'm sure there's other programs that do it better.

    Why should I have to search for hidden menus which should be right in plain view? (Gimp)

    Gimp isn't at all a marvel of user-interface design. It's good at what it does, but the UI is lacking. But not every program is like that. Here I sit in Netscape, things are quite straight forward. And along the lines of the first question above, Gimp is a mighty tool, but if you don't need/want to learn it, find something simpler.

    Why should I have to completely recompile almost every single piece of software I download from the Internet, rather than have at least a stock installation possible in something I can use right away? (Linux, *BSD, etc.)

    I'm building a 486 DX2/66 for my sister. RedHat 5.1 installation went very smoothely. Their X configure thing during the install was as simple as selecting the chipset (though I had to look at the video card to figure that out). After a reboot, I created a user account, did startx and voila, fvwm2 was up and running in X.

    On this 400mb hard drive, I've now got X, KDE, etc running quite well. And still 72mb to spare. There's no gcc et al. There are tons of RPMs and the like on sites all over the world, if you do a little looking. It is possible to have a system without compiling anything, but then you lose that bit of control. If you have RedHat and stick with RPMs from their ftps, you probably won't trash too much.

    The answer. I shouldn't.

    This is the Unix way: the way which makes everything unnecessarily difficult because it keeps the unwashed masses bowing at our feet, begging us to use what we have rendered them unable to. Could anything be more immoral?


    You aren't seeing it correctly. Unix was built by prorgammers and geeks to make THEIR lives easier. Things are just now coming around for the average user with KDE/GNOME. But it is because of those geeks that there is a solid foundation of an OS. KDE has a wide variety of applications now that I can give this 486 to my sister so she can play solitaire and email the rest of the family, as well as tons of other things. This is a usable system, and trust me, she won't need to learn vi. :)

    Give it a try again, keeping these points in mind. Or maybe once the 2.2 kernel is out, and KDE 1.1 is available.
  • Why should I have to crawl through manpages just to figure out how to quit a program? (vi, emacs)

    Pico, jed to name a couple. The sequences to exit are right there at the bottom. Not to mention the wide array of X editors, where it's as simple as File->Exit or something similar. Vi and the like were made by programmers to help them do geeky things. Because they do these geeky things, they aren't always so adept at typing an email or something other people do. So, use the right tool for the job.

    Why should I have to learn a bunch of esoteric commands to do even basic file management? (pick any shell, or any CLI at all for that matter)

    Again, X apps. KDE (and GNOME I guess, haven't gotten around to using it myself) have all the file management things to make it as simple as drag/drop.

    Why should I have to use three buttons on a mouse to do functions which can be performed with only one, or two at the most?

    Why only use two when there's three on the mouse? And who on earth can't double-click (what most Win mouse drivers use the middle button for)? It's been a while since I used xfig, but I'm sure there's other programs that do it better.

    Why should I have to search for hidden menus which should be right in plain view? (Gimp)

    Gimp isn't at all a marvel of user-interface design. It's good at what it does, but the UI is lacking. But not every program is like that. Here I sit in Netscape, things are quite straight forward. And along the lines of the first question above, Gimp is a mighty tool, but if you don't need/want to learn it, find something simpler.

    Why should I have to completely recompile almost every single piece of software I download from the Internet, rather than have at least a stock installation possible in something I can use right away? (Linux, *BSD, etc.)

    I'm building a 486 DX2/66 for my sister. RedHat 5.1 installation went very smoothely. Their X configure thing during the install was as simple as selecting the chipset (though I had to look at the video card to figure that out). After a reboot, I created a user account, did startx and voila, fvwm2 was up and running in X.

    On this 400mb hard drive, I've now got X, KDE, etc running quite well. And still 72mb to spare. There's no gcc et al. There are tons of RPMs and the like on sites all over the world, if you do a little looking. It is possible to have a system without compiling anything, but then you lose that bit of control. If you have RedHat and stick with RPMs from their ftps, you probably won't trash too much.

    The answer. I shouldn't.

    This is the Unix way: the way which makes everything unnecessarily difficult because it keeps the unwashed masses bowing at our feet, begging us to use what we have rendered them unable to. Could anything be more immoral?


    You aren't seeing it correctly. Unix was built by prorgammers and geeks to make THEIR lives easier. Things are just now coming around for the average user with KDE/GNOME. But it is because of those geeks that there is a solid foundation of an OS. KDE has a wide variety of applications now that I can give this 486 to my sister so she can play solitaire and email the rest of the family, as well as tons of other things. This is a usable system, and trust me, she won't need to learn vi. :)

    Give it a try again, keeping these points in mind. Or maybe once the 2.2 kernel is out, and KDE 1.1 is available.
  • oops, sorry about that double post...
  • An anonymous coward from another planet uttered what sounded like:
    xml will kill perl
    How do you supposed that will happen???
  • by drwiii ( 434 )
    VB is probably the only M$ products that's any good. (Well, good in theory, crappy in implementation..)
  • Bah...

    I used to remember when Visual Basic had a lot of promise, then the drugs began wearing off and I remembered it was owned by MicroSloth.

    But VB is still an OK enviroment, if you have to use Windows.

    Visual C++, and FWIW MFC, are huge and ugly to write even a simple program in. I'll take GTK any day over MFC.
  • REALbasic and FutureBASIC are _Mac_ only! I know because I _use_ REALbasic and _have_ a Mac. It's at http://www.realbasic.com/ [realbasic.com]. Yes, it's as good as you say it is. But you're not telling the whole story ;)
  • Plastic isn't a nice thing to burn ;)
  • Okay, then, Mr. Anonymous Coward.

    YOU go read the MFC API specs and then read GTK+. Tell me which is better.

    YOU go read Direct3D and then OpenGL.

    YOU go read the win32 API docs and then the POSIX spec. Tell me what you prefer.

    I've worked with all the Microsoft %@#$ before, and I know what I'm talking about when I say it stinks.
  • ...for making quick GUI-based apps if you know C. And (thanks to the GDK win32 port) it generates cross-platform code.
  • Gtk.org has decent docs, and examining code made by glade works well too.
  • I wasn't speaking for the development versions.

    I'm sure they'll have docs on migrating from 1.x to 2.x when it's completed, though.
  • Posted by djtobkin:

    While I was at the Microsoft Professional Developers Summit (Dec. 98) in Minneapolis, MN, during a talk about the (in)security of Windows2000, one of the speakers (whose name and email address is conveniently left out of all materials referring to the conference, though I do have the powerpoint presentations) started ranting about how commercial vendors' software installs .dll's into the windows system directories instead of into their own directories. Many people took offense to this and started pointing out that Microsoft's products were to blame as well as bad programmers and programming practices. All of their products install .dll's into the system directories when they don't need to (i.e. Internet Explorer, so much for leading by example) and that the tools that they provide for "easy development of applications" (such as the entire visual studio line) create this problem. The bad programming practices, bad software, etc. ARE products of the environment that MSFT has made (namely it's OS) and the tools made available to develop applications for its platform. When somone says that "xxxxxxx is a bad program because it doesn't handle xxxx and it inexplicably dies", I tend to believe that it's not only the programmers fault, but partially the fault of MSFT, providing low-grade tools to develop with to the general public. Simply put, from a programmer with years of experience, not a wannabe-programmer, VB is a nice tool, but the language itself and the platform suck ass. MSFT is using it to keep its products the preferred ones on the market. I'd love to see any one (or group) of microsoft's programmers write MS Word and all it's features in VB without having access to the operating system's source.. just the tools that a normal programmer would have.. (i.e. visual studio) while following all the programming practices that microsoft preaches about..
  • by Andy Dodd ( 701 )
    I agree...

    NetMeeting has a lot of potential... But it is DOG SLOW!

    FrontPage had great potential from what I hear. But it's been going downhill ever since being purchased from Vermeer.
  • Subject says all. CS100 was in Java.

    Very easy to learn, but you start hitting brick walls REALLY quickly.
  • I've seen people program Pascal in C. It doesn't translate exactly, but with a few #defines you can often compile pascal with gcc. (#define END } #define begin {, and so on) The syntax isn't exactly the same, but who cares.

    Pascal lacks some minor things that C has, but it is not a toy language. The orginial MacOS was written in Pascal back in 1984, which goes to show that you can write an OS with it. Just because C is the language of the decade doesn't make the other bad.

    Perhaps you should learn some languages. Once you learn one you know them all, and the differences are no different then going to a different english speaking area. Enough to slow you down, not enough to be a big deal after a week.

  • by adamsc ( 985 )
    People certainyl aren't using COBOL because it's trendy. They use COBOL because it's reliable, fast and maintainable. COBOL is actually the opposite of VB.

  • Nope. Mainframes are fast reliable and maintainable. COBOL is a braindead language invented in the 1950's.
    When you leave school and enter the real world, take a look at how much of the world economy runs on COBOL. It's still there because it works. The phone company here does their billing in COBOL. Some of the modules have been running since the '60s without modification! It may not be trendy enough for a k3wl d00d like yourself but it's got a rather impressive track record.

    Oh, and please RTFM before you post. COBOL was first used in the 50s, but it's no more out of date than C or Unix - the last standard was approved in 1985 and there will be another revision in 2000. It's kept pace with the times rather well.

  • COBOL is for morons.
    If you can't write good code in COBOL, you are the moron. Except for a few pathalogical cases (e.g. INTERCAL) a good programmer can write good code in any language.

    I've used a number of different languages (including x86 assembler, C, C++, Java, Pascal, REXX, COBOL) and while COBOL has certain pecularities so does every other language in that list. They all have their own strengths and a smart programmer picks the right language for the job.

  • by PHroD ( 1018 )
    Oh HELL yeah! VB bites except for like teaching 12 year olds how to program. One more person that realized that M$ is crap, and therefore must be flushed.
  • Thats rediculous! I was taught C as a freshmen.
    Now they are moving to Java, ewww. The problem
    with C as a first language is that strings/pointers are
    irrelevant to whatever problem/exercise you are trying
    to solve. The problem with Java: you shouldn't start
    with OO. Maybe Lisp is the answer.
  • I tried VB once, setting aside my prejudices about it being inspired by BASIC and only for Windows, and produced by Microsoft. The GUI form builder was sort of neat, but I had been spoiled by the 'pack' style tools of AWT, Tk and GTK+, so I was a bit dissapointed when there was no obvious or easy way to reflow the controls when the window size changes.

    I could like with this, I thought. The real problem was that I couldn't find a damn BNF of the language to save my life. The on-line docs didn't help at all, and when I went to my local book superstore, all I could find were books that either like "how to learn programming with VB" or "here is a bunch of man pages on the standard libraries". To this day, I'm still not sure how the syntax of VB really works.

    Nevertheless, it *is* nice to drag 'n drop GUI components on a form, and then edit properties of the components with immediate visual feedback. So there's something. But I couldn't figure out how to do any useful computations behind the UI code.

    I say give me Tcl or Python or Perl or Lisp as a RAD language anytime over VB. I think it's ironic that I had an easier time learning each of those languages that I had with my attempt at learning VB. Hell, I even think it was easier for me to learn C, C++ and various assembly languages that it was for me to learn VB. They actually had decent documentation.

  • you've completely missed the point. many rad-developed apps only have a lifespan of a few weeks between brand new versions, they change rapidly as the market moves, as new queries and functions are required. these aren't shrink-wrapped apps, they're forms for data entry, reports and suchlike. VB is an ideal language for this sort of usage - you can ship incredibly quickly, and the programmers are freed to concentrate on business logic.
  • Admittedly VBs gui layout tools spoiled me. I never seen something so nice. Unfortunately it follows the pattern of being pretty up front and ugly later. Ever try to code resize events to make your controls grow move easily? It isn't pretty. Layout managers are much nicer for this. It takes a bit more to understand up front but in the long run its more worth it.
    I've been learning C++ for the past few months and it was an eye opener as to what a real language is. I've also toyed with Java and find that to be just as interesting. Both offer more than VB can but VB is still nice to go back and do a quick and dirty.
    I used to maintain a VB4 app that suffered tremendously from the language's lack of inheritance. Until VB supports such a basic thing as inheritance it will never be more than dulled down hybrid C and C++ features. Not that that doesn't have its uses occasionally.
  • I don't particularly care for VB, only because it's not suited for my tasks.

    Just because a product or language isn't well suited for the things you want/need to do doesn't mean it's automatically inferior.
  • VB was written for Windows, which makes it very easy to write little GUI programs.

    While I love Perl to death, its GUI abilities are a bit more complex than VB's, and Perl isn't always the best solution for those that don't wish to give out their source code.
  • Probably so, but are they *as* easy as VB?

    With VB, you click on a button, drag it where you want it, double-click it to open a code window, and write a line of code that pops up a message box saying, "You've clicked the button!".

    That requires about one line of code.

    Can you do that with Python or Tkinter? I'm not complete familiar with either of them, but do they even HAVE a GUI builder where you can do these simple things? I don't think Perl does.

    That's what I meant by ease of use and suitability for the general (read: programming-dumb) population. It's pretty easy for someone who doesn't really know much BASIC to write a very simple program complete with a nice GUI interface.

    Most other languages like Perl and Python I think require you to do all of the GUI stuff using program code, which makes the task considerably more difficult for those that don't do much programming.
  • I know of Gtk, Tk, Qt and XForms bindings for Perl.

    Python is better, though.
  • From the declaration, it just read to me that this guy had too many high expectations from a language that should only be used for rapid prototyping or small limited applications. It shouldn't be used to develop anything complex.

    Unfortunately, there are many management types who don't understand that Rapid Application Development languages might help you get things rolling but the quality and robustness of the code and applications will not hold up in the long run with enhancements and other changes.

  • Man, that article was damned long indeed!

    I agree completely with him, though. I first started with Visual Basic 3.0 and now that Visual Basic 6 is going to force you to install that Internet Exploder rubbish, as well as the "language's" inherant flaws, you'd be stupid to keep using it!

    Visual Basic is really only useful if you're designing front-ends to database applications!

    Now, wouldn't Borland C++ Builder be nice for Linux????
  • >Also, what's wrong with automatic transmission >on a bicycle? The AutoBike has one, and it >appears to work great. I've been considering >getting one when I have enough money to spend on >such things. I hate shifting; it's not as hard >as the AutoBike infomercials make it out to be, >but it isn't the most pleasant part of >bicycling.

    Ha. Autobike. What a joke. Sure it's nice for Mom and Dad to ride around the block on nice level surface. Real biking requires sweet XTR Rapid Fire Shimanos with the handy thumb switches. Once you get off the road (or into the city) you'll be wishing for a little extra control.

    Kashani
  • Here Here on the IDE need... VI just is not the dev tool I lust after for perl.. While I love VI...
  • I progressed from TRS-80 Model II Basic (A early MS Basic - something like Level 2 basic for the model I and III, line based editor, etc.) to Z-80 assembler (on the same platform - it was a disk version of the cheap tape assembler, no macros, and it had line editor environment just like Basic one), and then we dumped TRS-Dos and got Pickels & Trout CP/M for it - and I learned C (Aztec C). C was easy to understand after dealing with assembler, I've built a career on it. C introduced me to Unix and all of it varied and specialized languages. More recently, after using many OO languages, and dallying with Java for a while, I've been sinfully enjoying myself with Perl.

    But when presented with the prospect of teaching programming to my son, with the rich variety of languages available to me on my Debian Linux system, it seems the simplest and most expedient to use the shell (Bash). After all, you can get pretty far with (unix) shell script programming, and it's just an extension of the basic concept of a command line. I plan to switch over to other languages later (AWK, Perl, then compiled languages), but shell script seems the best way to get his feet wet - the large result for a little work provides good reinforcement.

    The only thing that Basic had to recommend it for teaching in the old days was it's availability and it's interactive interpreter environment. Nowadays, there is no need to put up with all it's flaws anymore, since there are so many better alternatives.

  • I thought it was interesting to hear from "the other side." I don't mean MS, I mean the group of people who depend on tools like VB for their applications. Here in Unixland, we have the Perl et al hackers, but it's not the same. Even in Perl, Ptyhon, etc. you have to know a fair amount to get something done. You don't just start up a GUI and form a complete, threaded, GUI-based application in a day with Perl, or even Tcl/Tk (which, BTW, is not compiled, as VB can be).

    This guy isn't jumping ship from VB to GNU C++ or anything. It seems he's heading for Delphi, which touts the same idea as VB.

    All real coders may hold these folks in contempt, but if you think about the idea, it makes sense. Programming VB is not real programming as we all think of it. As an analogy, making a phone call is not really operating the phone system. While UNIX may have some tools that begin to try to accomplish what VB and Delphi are accomplishing, such as Tcl/Tk, Java BDK, etc, none really compare.

    Like it or not, VB is used alot, partly because of its appeal to all the non-programmers who need to draw up a little helper-app quickly. The idea behind VB is good; VB itself is just silly. But I think the Unix world would gain alot of non-programming types (especially in the corporate scene) if we had such tools, but which were better implemented. I think CORBA could be used as a foundation of this; choosing a single language like Perl or Tcl/Tk will rob you of the interoperability VB and Delphi can produce using COM.

    --
    Aaron Gaudio
    "The fool finds ignorance all around him.
  • For starters, what does he mean by "Visual Basic remains a 31-bit language"? It sounds cute to mean "it doesn't quite have all the 32-bit OS features" but what it ends up saying is that it's based on 31-bit datatypes.

    Also, what's wrong with automatic transmission on a bicycle? The AutoBike has one, and it appears to work great. I've been considering getting one when I have enough money to spend on such things. I hate shifting; it's not as hard as the AutoBike infomercials make it out to be, but it isn't the most pleasant part of bicycling.

    I also know that there *is* mouse wheel control stuff for VB. I used to have a crappy programming job which involved VB (no matter how much I protested to the contrary - I eventually ended up quitting) and as such, I got some Visual Basic magazine. One of the articles in it said "Here is how to add support for the mouse wheel to your applications." It detailed how to make an ActiveX-based control to get mousewheel events.

    I support ranting and raving about how bad VB is, but he doesn't choose all the right reasons, at least not completely. A good reason to rant about VB is because it's inconsistent in terms of syntax and implementation. It tries to be like some bastard child of C++ and BASIC, and ends up having an uncomfortable resting point inbetween.

    His quote about doodads is very, very true, and I agree with it immensely. That is how *all* M$ language products end up. Look at VC++ with MFC... they had a great opportunity to fix (or at least hide) all of the problems with the WinAPI, but instead they ended up making something even more incomprehensible -- but full of so many features. Yay. So tell me, how do you make a form which exhibits proper packing behavior with a minimum of work? Well, Delphi got it down pretty good even in v1.0.

    Now, a good language for general-purpose programming is PERL. It's consistent in that you can do anything in about any way you want; the syntax isn't a stumbling block. Are there any good GUI toolkit things for PERL, though? Like, are there GTK or TK bindings? TCL/TK is almost great, except that I could never figure out how to use that language; its syntax seemed inconsistent and unwieldy to me. IMNSHO, of course.
    ---
  • Try RealBASIC and FutureBASIC. Forget that bloatware...

    - Darchmare
    - Axis Mutatis, http://www.axismutatis.net
  • One of my problem with VB was its closeness. At least with Delphi, I got the source to the VCL objects, which I could look at, understand, and even modify if I so chose. This was true starting with Delphi 1. And, with the Delphi Super Page, developers were sharing their components, many times with the source.

    That's what kept me with Delphi, and turned me off of VB.
  • Hey, it was an easy way for me to write a small application for others in my office. I'm an environmental engineer, not a programmer. It got the job done, and was easy.

    Isn't that what matters?

    Sure, I wouldn't want to do anything CPU-intensive or mission-critical with it, but for little apps, I thought VB was great. I'm starting on C and C++ now that I have Linux, but don't blast VB because it's simple. A *lot* of people like the idea of a simple to use programming language. Maybe they'll graduate to something beter. Maybe they won't care. Not *everybody* wants to be a programmer.

    ;-)
  • I took it myself from Dexter Kozen in SP 96 :-)

    shane
  • "This is the Unix way: the way which makes everything unnecessarily difficult because it keeps the unwashed masses bowing at our feet, begging us to use what we have rendered them unable to. Could anything be more immoral?"

    This is ignorant. True, many things are more difficult to learn. This is not done to make others bow at our feet. This is done to make things easier to do once you know how. Vi and emacs are hard to learn, yes. A vi guru at work, however, is a marvel of efficiency and a sight to behold.

    --
  • Gui, Gui, Gui. The AWT is agravating, Swing is a mess.

    I'm so sick of beating my head against the sun.awt.motif.* packages (which are ENTIRELY undocumented) that I'm seriously considering building a JNI wrapper for GTK just to be done with it once and for all. To hell with platform-independance.

  • by tilly ( 7530 )
    Even if Delphi was ported as a tool which could only be compiled against WINE, it would serve an important niche...

    Regards,
    Ben
  • The above code-snippet DOES pop up a message box...

    Regards,
    Ben
  • VB makes it easier to create and use simple Automation objects. It does this by hiding the details. But once you move to more complex Automation problems, you may find those details aren't as irrelevant as they first seemed; you may want to see and control them. If you're clever enough, you can usually hack your way around VB limitations, but in Delphi you can usually solve the problems without arcane hacks.

    --
  • The point being that you can build a GUI on top of a command line, but you can't build a command line on top of a GUI. You can build features on top of reliability, but you can't build reliability on top of features.

    I use a GUI a lot, but when push comes to shove, it's the command line that gets the work done.

    --
  • It's free! You're supposed to help not whine...
  • What you are looking at is the disassociation between the developers of products/programs, and the presentation of those same products.

    Bubba can write the sweetest foozlebubber out there, and as soon as the foozlebubber is done, Bubba the programmer is basically doe with his job. He has satisfied the contract (with himself and the field) to produce a foozlebubber. There is next to nothing to motivate him to provide an install tool, or other hand-holding pre-use functionality. He is already done with his job.

    This reduces the definition of a product in an interesting fashion, especially when compared to standard western commercialism. Products, in this new pattern, are defined by their functionality, not by their presentation, market penetration, market demographics, marketting image, PR agencies, or other soft metrics, but by the simple and inelegant measure of, "What can they do?"

    Its a land of tools, of toolboxes, and of work done and things accomplished, not of feel-good, image, or hero worship.

  • I would like to write some soothing letter like that:

    Fruits of good do not grow on the tree of evil. You've chosen to affiliate with Microsoft Evil Empire and now you whine. Well, I guess Larry Wall does not have these problems - I wonder why?

    VB is a great idea - I admit. But Tcl/Tk is much better implementation of that idea. Since you live in the Gate's world, you probably don't know what Tcl/Tk is. Never mind. But just one final word - "Lust of money is root of all evil". So I think your sufferings are desrved.

    Apart from the idea - Basic itself is a piece of shit language, after the age of 12 you should not use it. Your references to "financial" reasons just make me sick. People that sell their principles for money deserve hell even before they die.

  • I recently returned to college (it's been 6 years since I got my B.A.) to pick up an Associate in Computer Science (nice thing about continuing education: the overall course load becomes smaller - I only need 15 credit hours to complete this program). As I was selecting which classes to take, I was stymied by the number of CS courses which had 'Microsoft' in the fscking COURSE TITLE - better than half!!! And that's not the half of of it!!! When I went into the course description of the ones that weren't MS-titled, most of these too had some sort of general Microsoft requirement (Intro to Operating Systems was basically a coverup for 'How to use Windows 98').

    I carefully selected two (the only two I was presently eligible for) courses which contained no immediate references to MS: 1) C Programming, and 2) Web Development and Design.

    It turns out (and I didn't find this out until the course syllabus was rewritten by the instructor during the first week of class) that the latter (Web Dev. and Design) was a coverup for 'Microsoft Front Page'.

    I found this out today. I've already emailed the instructor and my advisor that I'll be withdrawing from this class. Also, I sent email to my C instructor requesting immediate confirmation that Linux/gcc is an accepted platform for his course. If it is not, I'll be withdrawing from it, as well... and I'll post a message here debunking this 'University' as just another MS Sales Outlet.

    Anyone out there know of a University which offers online coursework and degree programs? It's already looking like I won't be able to find the 15 credit hours necessary to complete a degree program at this one without having to pay a 'Gates Tax'.

  • I like C, and Ada95 binded to GTK libs.
    It rocks! And the apps are robust as hell!
    Ada95 is used for all our apps and GTK makes it all the better....! :-)


    Nick
    LSG
  • I am in a similar situation, and I tend to agree that it has its place.

    From a business efficiency standpoint, you don't want to have to do REAL work... simply for a "quicky" program.

    As I get better with my Java and C++, sure... I will use them more. However, how good should someone who is not a programmer be at these things...?

  • It is all about design. If you design something as a prototype, it will not be maintainable or extensible. If you always do industrial strength design for prototypes, you will never get anything done.

    I worked in a well designed ObjC system where we could through up new apps in less than an hour, but we always rewrote them after getting buy in from the customer. We did NOT change languages, just designed them for the long haul, instead of as PROTOTYPES.

    With my limited VB experience, I do question how you would do industrial strength VB programming. The libraries are too big to find the "Right Way" to do things.
  • That should be "Wouldn't the result be the same in C/C++ if you used 'If (1 & !1)' in stead of 'If (1 && !1)'?"
    Opinions are MINE, not my employer's -- Hedengren, in Finland.
  • REALbasic [realsoftware.com] is far better than VB in every respect (better interface, more robust, object oriented). Its certainly not designed by a focus group, but by one person. And version 2, out soon, will compile for Window, Mac and even Palm Pilot!. (no, you don't have to buy three versions) And its easy to extend the language. And it can import VB projects. Incidently, the option to have REALbasic compile for Linux has been hotly debated on the User Group mailing list ....
  • I less than honest friend of mine puts that he can code in C, and visual basic because he owns a VB book, which sits on his shelf.
    The problem is people believe him.
  • Interesting. I had similar problems to him when I moved from Visual Basic 3 to Visual Basic 4. That move was so scarring that I didn't even consider moving to a newer version.

    The basic design of VB was much better in version 3 than version 4. In version 3, the original developer - not Microsoft - put a lot of nice touches in the design. Version 4 got rid of 'em all, probably so they wouldn't have to pay the original developer.

    If you have to use Windows, I think VB is quite well done for what it does. But once you have to go out of its shell (by using API functions, for instance), you rapidly learn how dismal is Windows.

    D
  • by TrentC ( 11023 )
    Fruits of good do not grow on the tree of evil. You've chosen to affiliate with Microsoft Evil Empire and now you whine.

    VB is a great idea - I admit. But Tcl/Tk is much better implementation of that idea. Since you live in the Gate's world, you probably don't know what Tcl/Tk is. Never mind. But just one final word - "Lust of money is root of all evil". So I think your sufferings are desrved.


    Wow -- who relieved their bladder in your Wheaties this morning?

    A person who was an MS advocate -- or at least an advocate of one of their products -- is admitting his displeasure with said product and refuses to continue affiliating himself with it, and your response is effectively "Too bad, you're still going to be one of the first against the wall when the revolution comes?"

    We're talking about a freaking software company, and not a particularly talented one at that. Well, talented at software, anyways...

    Jay (=
  • "Visual Basic makes the easy things easier; Delphi makes the hard things easier."
    Has anyone else noticed you can make the same generalization about all MS products?
  • The "I don't need a language designed by a focus group." comment comes at the end of page 1. There are several more pages with details about his painful process.


  • Hmmm... can't let that one go by. Borland's Turbo Pascal was object oriented before C. How's that for a toy language?

    So if Pascal is a "toy" language, you've got to throw stuff like Perl, Java and Tcl/Tk in there as well.

    Aw, your just jealous because you can't do RAD with the fastest native language compiler like I can. :-) (Now if I could just drop Win32, I'd be *really* happy!)
  • SCHEME (and even LISP) is one of my favorite programming languages. I've recently been growing angry w/ C/C++. They are flexible and powerful but lack an elegance I'm looking for. A good majority of my programming is w/ complex data types that C++ can handle but not in a way that looks nice or is intuitive. I've tried coding my own languages but none of them quite fit what I want either. Anybody know any other good languages? So far I know 30 or so not counting the ones I invented and none of them make me happy. Just to be fair though, VB makes me sick as do most the imitators. Coding through menus annoys me to no end. Code I could write in C++ in half an hour takes a week and still works badly. I don't know about others but I keep a base library of stuff I use often and just hook the parts needed into my new code. Sure the first time you code a function it can take a little longer but you can more easily reuse parts and build complex programs quickly!
  • sengan's intro says "The best quote is at the end...". That is just the end of the first page, if you click Next Page at the bottom of the article it carries on several more pages...
  • Excuse me but do you have any clue what you are talking about? Microsoft programming products are god awful and are not for real programmers. People who think point-n-click coding is real programming obviously have never done any real programming. There is a reason why most of us slam anything Microsoft realated, it's crap. And the fact that the entire win32 api is crap is made quite evident by the cygwin project.
  • Jack Ganssle, columnist for Embedded Systems magazine, had a great quote about VB. To paraphrase, "It's a good language because it encourages prototyping. You can slap something nice-looking together quickly, but your boss can't make you ship it!"
  • I wouldn't rule out all RAD languages...

    The majority are designed for RAD development only but there is one that stands out among the competition: Delphi. The reason is that the language is far more general purpose that its competitors. For example, Delphi, parts of C++Builder and JBuilder are actually written in Delphi - proving that you can produce commercial quality products using it. Another example is Allaire's HomeSite - the best web development tool I've encountered.

    If you do some Windows programming and haven't looked at it give it a try. It is the best RAD tool I've encountered so far. The language itself is very close to C++ in its power.

    It is just a pity there isn't anything quite like it for Linux.

    Cheers,
    Kevin.
  • Visual Basic may have its problems, but for corporate programming it is hard to find a substitute. I've evaluated Linux solutions and haven't found the right combination of tools.

    VB in combination with a bunch of other tools like SQL Server, IIS, COM, MTS, ADO and ASP allow you to develop n-tier systems. I haven't found that kind of integration in the software tools for Linux. Linux now needs tools that are mature and scalable.
  • That's just wrong!

    Try a starter language (Pascal?) or put 'em on BASIC at age 8.
  • Language: Yes, Java.
    IDE & tools: Sadly no. I'm still waiting for an Open Source equivalent of Visual Studio, which after several iterations had actually become a fairly decent Integrated Development Environment. Note that without preprocessor or header files, IDE's for Java should be easier to implement than C/C++... Is anybody out there working on a GNU IDE, or at least a free Java IDE?
  • by El ( 94934 )
    Actually, VisualCOBOL (See http://www.microfocus.com/visualcobol/) is the COBOL of the nineties...
  • I used to write VB books too. Its gets REALLY mundane. I'm so sick of VB. Actually, I'm sick of everything M$

If you want to put yourself on the map, publish your own map.

Working...