Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Microsoft Programming

The Rise and Fall of Visual Basic (medium.com) 217

Technology writer Matthew MacDonald began writing QuickBASIC code back in 1988 on the DOS operating system, sharing it on a 3.5-inch floppy disk. "I still remember writing code in white text on its cheery blue background..."

He tells his readers on Medium that "I have a confession to make. Before I became a respectable developer working with modern curly-bracket languages like C# and Java (and that hot mess of a platform we call JavaScript), I was a dedicated fan of the wildly popular misfit Visual Basic..."

At the same time that Microsoft released Windows 3.0 -- the first version that was truly successful -- they also launched Visual Basic 1.0. Here was something entirely new. You could create buttons for your programs by drawing them on the surface of a window, like it was some kind of art canvas. To make a button do something, all you had to do was double-click it in the design environment and write some code. And you didn't use cryptic C++ code, with piles of classes, complex memory management, and obscure calls into the Windows API. Instead, you wrote friendly-looking VB code, like a civilized person.

All the graphical pizzazz was impressive, but the real secret to VB's success was its practicality. There was simply no other tool that a developer could use to sketch out a complete user interface and get coding as quickly as VB... By the release of VB 6 -- the last version of classic Visual Basic -- it was estimated that there were ten times more coders writing in VB than in the unforgiving C++ language. And they weren't just mocking up toy applications. Visual Basic wormed its way into company offices and even onto the web through ASP (Active Server Pages), another monstrously popular technology. Now you could create web pages that talked to VB components, called databases, and wrote HTML on the fly...

Today, Visual Basic is in a strange position. It has roughly 0% of the mindshare among professional developers -- it doesn't even chart in professional developer surveys or show up in GitHub repositories. However, it's still out there in the wild, holding Office macros together, powering old Access databases and ancient ASP web pages, and attracting .NET newcomers. The TIOBE index, which attempts to gauge language popularity by looking at search results, still ranks VB in the top five most talked-about languages. But it seems that the momentum has shifted for the last time. In 2017, Microsoft announced that it would begin adding new language features to C# that might never appear in Visual Basic. The change doesn't return VB to ugly duckling status, but it does take away some of its .NET status....

Visual Basic has been threatened before. But this time feels different. It seems like the sun is finally setting on one of the world's most popular programming languages. Even if it's true, Visual Basic won't disappear for decades. Instead, it will become another legacy product, an overlooked tool without a passion or a future.

He remembers that the last versions of Visual Basic even supported object-oriented programming with interfaces, polymorphism, and class libraries, but argues that to create .NET, Microsoft "had to throw away almost all of classic VB."

For example, "Classic VB programmers had to change the way they counted array elements. No longer could they start at 1, like ordinary people. Now they had to start at 0, like official programmers."
This discussion has been archived. No new comments can be posted.

The Rise and Fall of Visual Basic

Comments Filter:
  • Get off my lawn! (Score:4, Informative)

    by Anonymous Coward on Sunday June 23, 2019 @03:41AM (#58807636)

    "For example, "Classic VB programmers had to change the way they counted array elements. No longer could they start at 1, like ordinary people. Now they had to start at 0, like official programmers.""

    OPTION BASE 0

    • by Entrope ( 68843 )

      FORTRAN laughs at your idea of official programmers. And Perl for a long time had $[ as a working thing.

    • You didn't even need Option Base for 0, it was the default. If you declared var(2) it was automatically 0 to 2, you have to declare as var(1 To 2) or use Option Base to change the default. 99.9% of the time, 0 was, and is, used.
    • Note that if you are not afraid to 'waste' a byte, you can start any array in any language at element 1. In C you can do it with negative numbers.
    • The only time I used VB it was to have a sample that used our API. I also did the exact same demo using Delphi (a similar Borland thing that used Pascal). I was a Unix guy, not a Windows guy in any way and had zero experience with Borland. But I was surprised at how amazingly better Delphi was. Not just the use of a better language, but the UI was so much simpler to learn and understand, with fewer mouse movements to get things done. VB felt like one of those products that was 95% done and they couldn'

    • last time I checked the default for ARRAY elements was 0 (and that was just now, as I still have to support a legacy application that's still gathering the bulk of the money in our company, but there's already a Cloud replacement), so the actual writer of the article doesn't know what he/she is talking about.
  • I liked VB (Score:5, Insightful)

    by lucasnate1 ( 4682951 ) on Sunday June 23, 2019 @03:49AM (#58807650) Homepage

    VB itself was pretty amazing. You could create an app very quickly. Surely, when things got more complicated it became a mess, but for simple applications it was king, kinda like python but for GUI.

    Because it was so good (fast to write in and easy) it gained a lot of traction with stupid and lazy devs, which is the reason why everybody else hated it. But still, as a tool, it was pretty cool.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      It was definitely great, in the days of VB3-VB6. You could make slick and beautiful UIs in a way which would take hours to do in other languages, and use nice basic code without too much syntax soup. It also had Microsoft's usual IDE and debugger so you could change code on the fly and step forward/back. It felt a bit like cheating compared with C. Maybe it was a slight pity VBA and VBScript existed, which were slightly annoying cut down versions of it. It wouldn't be a terrible thing if it made a retu

      • by raymorris ( 2726007 ) on Sunday June 23, 2019 @08:55AM (#58808288) Journal

        I've programmed in quite a few languages over the years. Declarative languages, imperative languages, object oriented languages, structured languages, functional languages.
        I've been not only programming professionally, but actively studying programming, for 20 years. I used VB 5 and 6 and liked it quite much. I can't be sure, but I suspect much of the dislike for VB is earlier versions.

        What VB did better than any other language I've used is it was the perfect language to show programmers what is great about object oriented programming, to help them fall in love with that concept. OOP is great when it's the right tool for the job. You could TELL a programmer about the benefits of OOP and have them use it I another language, but VB would give them that "aha" moment. It did for me, anyway.

        VB wasn't even perfectly object oriented, in the strict sense. That's probably one of its advantages. Too much object oriented, arbitrarily forcing the use of a method to add two integers, exemplifies the bad of OOP. VB had almost the perfect amount of OOP, in my opinion.

    • RAD allows you to whip up the entire program's apparent user interface in less than an hour. But when it comes to making that user interface actually work, you're in a worse position than if you had to start with some nice object-based non-WYSIWYG text.

      Then, it falls apart the moment user A has a 1366x768 laptop screen while user B has two proper 2560x1600 monitors. In portrait orientation. And one is half-blind while the other prefers lots of tiny-font windows on the screen at once. And, one wants ligh

      • by caseih ( 160668 )

        Why not? Surely a RAD system could handle layout widgets that can react to a changing window size. And why can't a RAD system transparently deal with different screen DPIs? Same for dark mode. Changing the color palette is not beyond the realm of RAD. I'm not sure what the button close button position has to do with an application at all.

        I'm hard pressed to think of any reason why the issues you mention can't be handled by a RAD system.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      ....Because it was so good (fast to write in and easy) it gained a lot of traction with stupid and lazy devs, which is the reason why everybody else hated it. But still, as a tool, it was pretty cool.

      not just stupid or lazy devs, also ordinary people who needed to do more than the GUI allowed. Like only pro devs deserve to code. What an elitist attitude. How many languages are needlessly complex just so some people can claim to be special. We need languages like VB and javascript to bridge the vast area between no code and hard core code, which is a lot of dev space.

    • by Mascot ( 120795 )

      I would argue it also gained a lot of traction with smart and productive devs. To paraphrase a friend of mine from back then (it's been 20-ish years, paraphrasing is as good as it gets): "People gave me a lot of flak for using VB when it was suitable, instead of C. They generally shut up once they realized I delivered projects at twice the pace they were able to."

      Bottom line, pick the language/tools for whichever job you are aiming to do, don't let snobbery get in your way.

      • by epine ( 68316 )

        They generally shut up once they realized I delivered projects at twice the pace they were able to.

        But that was the whole game: make it possible to deliver unmaintainable code at twice the normal pace, to managers who either didn't know better (most of them) or who weren't planning to stick around for much longer in their current post (many more).

        Correct me if I'm wrong, but all his apps were greenfield, weren't they? Oh, the joy of a new paradigm, as yet unspoiled by its own inevitable sequellae. And he wa

        • And VB was replaced with JavaScript, and lo...

          There has been no revolution in management understanding anything. And your description of how VB projects end up once again presupposes absence of architecture and code design, which can be done just as well in VB as in any other language.

          I worked on several large VB3/6 projects which went through major feature upgrades with very little pain, and created enormous value. The only reason some of them were rewritten in other languages was that Microsoft abandoned

    • part of the problem wasn't so much VB, but thew infrastructure that it used to do anything outside its remit - and that was pretty much COM's fault.

      All the errors and issues and "wtf is it doing"-ness came out of COMs massive complexity.

      As as tool, it was good for what it was designed to do - write desktop applications. When combined with C++ in a client-server model it showed its true power (ie of letting someone else design the GUI while us "proper" coders did the hard stuff on the back end :-)

    • I worked for a company that had a $10 billion dollar credit card portfolio. The entire call center ran on a combination of mainframes and VB including real-time transaction analysis and fraud detection. We only used C++ to develop a select few VBXs and OCXs but VB6 made even that mostly obsolete. It worked great and was easy to debug & support .

      • I currently write complex systems in both VBA and C++ (and Java and C#).

        VB has keyword named parameters. Type safety. Properties. Garbage Collection.

        Syntactically, 90% of statement end on a line, so it makes sense to type _ for the exception rather than ; for every damn statement. End If etc. is much better than { }s. Generally less typing and no weird stuff with an extra ;.

        Packaged up with Excel, a largely unskilled VBA programmer can build a simple application and deploy it in less time than a profes

        • The most evil thing about C/++ has introduced to the world is counting from 0. No sane programming language did that prior C.

          Well, except for assembly and machine language, of course, but who used those?

        • by PCM2 ( 4486 )

          AppleSoft Basic (which was Microsoft Basic) had 0-based arrays. In fact, it was kind of a hybrid. DIM A(10) gave you an array with 11 buckets -- you got the 0 index for free. Clear as mud, eh?

    • Because it was so good (fast to write in and easy) it gained a lot of traction with stupid and lazy devs, which is the reason why everybody else hated it.

      It's a tool that still has a place; in the toolbox of non-programers.

      I'm a sysadmin by profession, but occasionally (say, once every other year) I'm called upon to create something a little more complicated or graphical than a PowerShell/VBS/Kixtart script will manage. We're talking about things with less than a thousand lines of code, all-included. It doesn't matter if I follow best-practices in the coding world as long as I follow best-practices in an admin world. I don't write config files to system

      • by PCM2 ( 4486 )

        I'll agree with this. I in no way consider myself a Visual Basic programmer, but I've written VBA macros to do all sorts of things in Office and they've saved me a lot of time over the years. And if I wanted to write a new one I'd need to go right back to the documentation, because I don't remember how it's done, but my new macro would be up and running in an hour or two.

    • And yet, there was Delphi that did the same thing and was even easier to use while allowing for more complicated applications that weren't hot messes.

    • Because it was so good (fast to write in and easy) it gained a lot of traction with stupid and lazy devs, which is the reason why everybody else hated it

      Exactly. VB was the handyman tool in a world of professional plumbers, electricians, and framers. The "professionals" never liked the dumbed-down coding style or the limitations of its managed code.

    • by laffer1 ( 701823 )

      It was a great beginner language. Today that's python. I feel the same way about python, many people felt about VB. You can bind it to real languages. You can glue things together with it. It's terrible for some things. It doesn't scale. It doesn't support proper threading. Very much like Python.

  • What's next, "The Rise and Fall of Super Mario", because Nintendo has progressed beyond pixelated 2d sprites?

    VB is still around. It evolved into VB.NET, and is actually among the more popular [visualstudiomagazine.com] programming languages in use today.

    It still doesn't seem to have shaken the perception of not being a "real" programming language, but I've always kind of considered it to fill the same niche as Harbor Freight Tools. Sometimes a cheap, crappy tool is good enough to get the job done.

    • Re:Huh? (Score:4, Informative)

      by gbjbaanb ( 229885 ) on Sunday June 23, 2019 @09:10AM (#58808354)

      VB died.

      VB.NET is C# with a different syntatic sugar coating. If languages were candy, VB.NET would be a yellow M&M while C# is a brown M&M.

    • VB is still around. It evolved into VB.NET,

      Those are the same language the was Java and Javascript are the same language. The lack of backwards compatibility killed it.

  • I wasted too much of my life with this crap in school. It was VB2 in high school for the stupidest programs, then in college it was VB5 I wasted all my time and never had any use or interest in it. The same time we had to take cobol which was another big waste of time I still resent all of it. I never learned how to do anything in it, and never used it again. I never even wanted to be a programmer but that all they would ever allow you to take in school. Around that time Linux started taking off and I
  • Matthew wrote nice. Basic and VB are superb languages for beginners . I relate to those days in early 90s. Author skipped the small history. The disaster of trying to sell VBscript in IE. Maybe M$ laughed at the the handicapped "Javascript1.2". Netscape had it which could not do anything nice from a browser. So they invented a super VBScript with a new method CreateObject. And spent the whole decade, billion $$$ later, in the cleanup after that small method. CreateObject was M$ own Chernobyl. And they still
  • by dunkelfalke ( 91624 ) on Sunday June 23, 2019 @04:34AM (#58807756)

    Bullshit.
    There was Borland Delphi which did everything better than VB and also was a better language.

    • by Anonymous Coward

      For the time Delphi was just amazing.

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      It really pained me to watch Microsoft destroy Borland on better marketing alone. The Borland product line was far and away superior, and Borland innovated many techniques (such as integrating the editor and compiler into a single IDE, creating the first object windows library, and others). They were first and best, but they just didn't have the spin machine that Microsoft had and they could not compete against it.

      The death of Borland was a real bitter pill for me. In the real world, marketing is more im

    • by Pop69 ( 700500 )
      That's probably why MS hired the guy responsible for Turbo Pascal and Delhi away from Borland. I believe he was the head man for C# when it was developed.
      • by Memnos ( 937795 )

        Anders Hejlsberg - architect for Turbo Pascal, Delphi, C#, and participates in Typescript.

    • Let's face it, Pascal and VB both suck in that they're non-mainstream languages with no particular reason to exist. In that regard, Pascal is actually substantially worse than VB, because VB at least exists for historical reasons. Pascal has deliberate weirdnesses intended to make it a superior teaching language, though as it turns out, it's stupid to teach programming in a language you're not actually going to use.

      After doing Delphi, Borland did the same sort of RAD stuff for C, but by that time it was too

      • Pascal made Borland great in the first place. And as a language it is better than C in almost every way, despite all the C fanboyism. The main historical reason why both C and Basic were more successful was that they were American and Pascal wasn't.

        • Pascal made Borland great in the first place. And as a language it is better than C in almost every way, despite all the C fanboyism.

          Who cares if something is better if it dies out and the inferior thing is alive? The OP said

          They should have just done RAD with C to begin with, and what's more, this was obvious at the time as C was wholly dominating Pascal.

          OP is correct: if they had skipped Pascal altogether and just made a RAD tool for C, Borland might have stood a chance against MS' future Visual studio. If they had gone ahead and made it cross-platform, they would have grabbed all of that mindshare and marketshare early on and subsequent (poorer) offerings like VS and QT may never have even gained traction.

        • The main historical reason why both C and Basic were more successful was that they were American and Pascal wasn't.

          No. Pascal sucked and had no real place. C became popular because it was fairly low level, very flexible, high performance, and it's ties to Unix (and windows and OS/2) helped considerably. Pascal wasn't low enough level to able to do (easily) things like write device drivers, an OS, and it's performance was terrible in comparison. On the other hand, Basic became successful because of it's ease of use (didn't have complicated things like pointers, set logic, etc) and English-like (for the time) syntax w

      • RIP, Borland.

        There is Lazarus [lazarus-ide.org], which is more or less a Delphi clone. It's not as intuitive to newbies as VB-classic, though.

    • Depends on what kind of tool you needed, and what kind of tools you are allowed to have.

      I needed to process a bunch of CSV files and do some ETL work. This was in '98 and '99, so I was limited by work to Windows 95/NT4 only, the Office 95 suite, and whatever I could do with VB4.

      I'll admit that I even did some CGI programming using VB - a NT4 Workstation machine with Apache was all I could work with.... Maybe that is why I don't understand the hate on (modern, well written and using PDO, etc.) PHP ...

    • > There was Borland Delphi which did everything better than VB and also was a better language.

      But Delphi didn't come out until 1995, while Visual Basic was released in 1991. While both had the advantage of being a continuation of DOS-based programming language products, that 4 year gap kept them from truly going head-to-head.

      Shortly after the release of Delphi, Borland released C++ Builder, which was basically Delphi, but using C++ instead of Pascal as the underlying language.

      Many people don't know tha

  • I wrote Basic programs back in the 80's and 90's like a lot of other people. When I first got a chance to use a computer with Windows and the internet I started learning new languages and landed on C++. As such I learned to hate VB (I think it's a culture thing). In the last couple of years I got a job that resulted in me writing a lot of VB.NET code. In it's current state it and as long as a few language options are enable to force good programing styles it's really a likable language. I think it, especial
  • by ytene ( 4376651 ) on Sunday June 23, 2019 @05:03AM (#58807802)
    The OP quotes a Medium article by Matthew MacDonald , which includes the following statement:-

    "In 2017, Microsoft announced that it would begin adding new language features to C# that might never appear in Visual Basic. The change doesn't return VB to ugly duckling status, but it does take away some of its .NET status...."

    But if you go and read the Microsoft announcement (the OP provides the necessary link), you find the following statement that seems to be the origin of 's comment that VB will no longer receive all of C#'s "upgrades":-

    "However, VB 15 does not get features such as is-expressions, out-variables and local functions, which would probably do more harm than good to VB’s readability, and add significantly to its concept count."

    but wait a moment, here in the original Microsoft post, we find a more nuanced explanation of why the functionality is not being added to VB: because it "would probably do more harm than good". Indeed, you even find references to functionality being added to VB and not C#:-

    "In VS 2015, C# 6.0 and VB 14 were still largely co-evolved, and shared many new features: null-conditional operators ?., NameOf, etc. However, both C# and VB also each addressed a number of nuisances that were specific to the language; for instance VB added multi-line string literals, comments after implicit line continuation, and many more. C#, on the other hand, added expression-bodied members and other features that wouldn’t address a need or fit naturally in VB."

    In other words, reading the original Microsoft article a bit more closely suggests that Matthew MacDonald's piece might be a bit mistaken in a couple of places. But let's back up a bit...

    We would typically hope that a programming language is designed to perform a clearly-specified task or set of tasks. For instance, VB provided a simple and straightforward way to allow developers to get to grips working with a WIMP (Windows, Icons, Mouse, Pointer) based operating system. In the event that the underlying functionality of that windowed desktop was expanded, then it is reasonable to hope/assume that Microsoft would extend the functionality of VB to allow developers to access that new underlying OS capability.

    But that does not mean that its necessary - or even desirable - to continue to add more and more primitives to a language "just because you can". In some cases this is going to be because you want to keep your language, along with its compiled code and run-time libraries, down to a manageable size. In others, it might be because it makes more sense to just have freely available library code that extends the core functionality of the language (for example in the way that PEAR extends PHP or modules extend Python). As a developer, there is typically no overhead from using a library function over a language primitive, so the only decision/question boils down to the relative run-time performance of the two options. And in these cases - VB being one - if the resultant binary isn't performant enough for you, chances are you should be using assembler anyway.

    Back in 2017, slashdot posted an article that "ESR Sees Three Viable Alternatives to C" (as in the C Programming language), which prompted me to write this post [slashdot.org] on the topic of language design.

    One thing I do find incredibly useful - as a developer - is Eric Raymond's Rule of Simplicity [catb.org] (from "The Art of Unix Programming"), which states, "Design for simplicity; add complexity only where you must."

    If we take that approach to language design, it tells us that we should only be adding new language extensions when there is a legitimate and unavoidable need to do so. If our justification for adding extensions like tuples, is-expressions or out-variables to Visual B
    • Well,
      you seem to miss the point, too.

      Language designers are not into competing with each other. If I design a language I decide what features I want in it. And that has nothing to do with Pascal, C or Prolog.

      In the long run languages will converge to common principles anyway.

      We will basically have some categories that you can slap orthogonal on each other:

      a) Static typing versus dynamic typing.
      b) languages with an "interference machine" behind it, like SQL and Prolog or without (any imperative language)
      c) m

      • The rest is just syntax, like using spaces in Python and using braces in C like languages. C has no objects, and no closures, that is why I don't use it for hobby projects.

        One must not forget the mindset of early programmers, which was to write inner loops in assembler when you really care about performance, and otherwise use the right language for the job. Even as late as 2000, C compilers were still terrible performance-wise and easily beaten by even BAD assembly language programmers (hint: VB6 used the exact same VS98 C2 compiler as all other VS98 languages, so every time you attack VB6 performance...)

        The language bigots were already around then. The snobby C++ writers

    • I understand why people liked VB6 but VB on .NET is a canker sore. Between the bizarre OO terminology that doesn't correspond to anything else in the programming world to important compiler checks that are missed it is horrible.
      • by Anonymous Coward

        I don't know what "bizarre OO terminology" you're talking about, but it doesn't matter that VB isn't understandable by computer scientist. The whole point of VB is to be used by the rest of us -- people who program but aren't programmers. That's why VB is invisible in places where programmers hang out (like github or stackoverflow).

        In other words, VB uses keywords like "Shared" because it describes what the feature does instead of "static", which is only meaningful to C++ (and derived language) users.

        dom

        • LOL static means it isn't state dependent. Shared means what? Thank you for illustrating my point. And yes, someday someone is going to have to deal with the steaming pile of crap you made.
  • VB6 was great (Score:4, Insightful)

    by labnet ( 457441 ) on Sunday June 23, 2019 @05:13AM (#58807816)

    I loved VB6 back in the day, and never understood the /. hate.
    It was a very productive language for windows GUI solutions.
    Delphi was also a great choice in the mid 80s

    I wrote a commercial program that drove a scientific instrument.
    I could build forms that were dynamically built from a database, I could call C DLL's to do funky fast math.
    There wasn't really much it couldn't do.

    Fond memories.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      I loved VB6 back in the day, and never understood the /. hate.

      I think the hate comes from people who had to use it for things it wasn't suitable for.

      There are plenty of GUI applications with a very limited scope that are very easy to put together in VB6 and VB.NET.
      I wouldn't want to write something that needs to be maintained over a longer time but if you just need some small GUI for controlling something that is connected to the serial port or similar then basic languages are great.

      Sure, there are other languages that are easy to throw things together in but becomes

    • Eh... what?
      I distinctly remember the release of Delphi 1. It was just a few months before Windows 95. Not in the mid 80s.

      • by Anonymous Coward

        I had the same observation as you. Not sure if he messed up his dates, or it was his smartass way of saying Delphi was never a good choice (which I have to disagree with as a programmer, but from a management perspective may be true, since it never achieved mainstream acceptance)

      • by Memnos ( 937795 )

        Perhaps meant Turbo Pascal..

        • The problem of Pascal was its focus on re-inventing the "teaching language" and thus was overly verbose for no acceptable reason outside of education, which didnt even adopt the language.

          Pascal didnt fill any role outside of education, and education knew it.
          • Verbosity makes a program more readable.
            And now we have to live with the security holes thanks to the terse expression fanbois thinking that this is clever:

              return c * ((t = t / d - 1) * t * t + 1) + b;

    • by idji ( 984038 )
      and it's not going away because it still is the language today of Microsoft Excel macros - and that is why it will stay forever.
    • Re:VB6 was great (Score:4, Interesting)

      by SimonInOz ( 579741 ) on Sunday June 23, 2019 @08:59AM (#58808308)

      Indeed it was. VB was far, far faster than C++ - generally *months* faster. (Ok, old joke).

      You could get a reasonably simple working system into production in days, not weeks. Changes were quick and simple.
      It was not good for hugely complex stuff, it *was* really good at getting simple interfaces built, and handling business requirements.
      To build an application today seems to need multiple layers of languages, truly staggering levels of incomprehensible Javascript code, with quite disturbing levels of assumptions. And seemingly hundreds of libraries written by random people who update them on a whim.
      I really don't feel it's easier. Indeed, it's definitely not.

      This is not where I expected programming to go. I had hoped - indeed expected - it would become simpler, faster, easier to debug and understand.
      It hasn't. I had expected much higher level systems to appear (and take over). Systems like this do exist (eg LANSA, expensive but pretty good) but they have not been terribly successful.
      Today, to be a competent programmer, you are expected to understand several of the countless Javascript libraries. HTML, CSS, SQL, be familiar with the many weird libraries each site seems to require (every site is different, but insists the libraries are just standard, everyone uses them, cough). It seems to be driven by fashion, not sanity - what's new this week - oh, it's Vue.js, let's change everything (bye bye Angular, no more React) to that for the new systems. But leave the old ones. Maintenance nightmare.

      I admit I remember the days when all you needed to know was COBOL (ok, I hated it too), Pascal, or C, and you were done. Funnily enough, many of those systems are still running. Dig deep enough into the banking systems of practically anywhere, and eventually you'll find ... COBOL. The writers of those systems are not just retiring - they are actually dying. But the systems run on.

      Since I began working with computer (1970), they have become at least 10 million times faster. But system development seems to be all over the shop - is it faster? Not really. Some things are. The appearance can be better - but do they work? (How many times have you looked at a web page and thought "I'd actually like to buy something, but I just can't figure out how". Is it just me?)

      Yeah, ok. Get off my lawn. No, come and mow it, do something useful.

      • by Memnos ( 937795 )

        I think there are some languages that are more toward what you were expecting, but they are all domain-specific.

    • I wrote an entire accounts receivable program in VB6. It used OLEDB to hook in to a Mysql database. It was an enjoyable language, though sometimes it's lack of pure OOPness was a bit of a conceptual pain. At one point I considered rewriting it in Java, but it would have been a pretty monumental undertaking.

    • I loved VB6 back in the day, and never understood the /. hate

      It's not just Slashdot, the developer community in general seems to hate it. The feeling I always got from them was that it was a "toy language", and that purist only developed in C.

      Being that I'm a DBA and not a pure developer, I always loved VB. I've seen VB6 applications that supported thousands of users, and if I find myself needing to write an app for some purpose, VB.NET is still my go-to language.

  • I used VBA (its red-haired stepsibling) for cleaning/reformatting some data once. It was in Excel to start with, so I thought I'd give it a go. It wasn't too bad. Of course sometimes things are simple for simple things but don't scale well.

    • Indeed. I wrote loads of departmental database applications using VBA. A hazardous chemical lookup database, Tools for production planners to help plan production starts, A RMA database that later migrated into the company ERP after running the department for five years, An engineering database that pulled data from the semiconductor company CAM system to analyse measurement data. Tools to extract translate and load stock data in an ERP reimplimentation. So long as you designed the database correctly the in

      • I'd intended to add a last line but hit submit by accident, It was "But I wouldn't want to write a full-blown ERP in it". And you did!

  • I thought array elements could start at 1 or 0 depending if you clicked the little box?
  • If you like VisualBasic but would rather code on GNU/Linux, you should really try Gambas (http://gambas.sourceforge.net/en/main.html). It's syntax is somewhat similar and easy to use even if you don't know that much about programming. Also, as far as QuickBasic goes, you can use QB64 as an alternative to QB 4.5; however, it does include features that when used, it can only be coded on QB64.
    • by caseih ( 160668 )

      Another good alternative for QB 45 refugees is FreeBASIC. FreeBASIC is actively maintained and is a pretty good compiler for porting and extending QB 45 code. The main dialect of FB has moved well beyond QB, but there is still a compatibility mode that works pretty well and is well-used by FB programmers.

      FB has adopted a lot of C++-like features over the years, such as object-oriented programming, and is able to directly call and link to C code. Oddly, this has led to a kind of weird sort of existential

  • In 2010, we realized it was possible to write an IDE that was VB like, but produced Web Apps. The speed of JS on devices was fast enough to be usable and HTML elements could be made which worked like VB Controls. Having done similar IDEs for Newton, PalmOS and Windows CE, we got to work. Check out NSB/AppStudio. It has a BASIC to JavaScript transpiler built into an IDE with a drag and drop Design Screen, Project Explorer and other goodies VB developers are used to . It can make mobile apps, PWAs, Electron
    • In 2010, we realized it was possible to write an IDE that was VB like, but produced Web Apps.

      Filemaker figured it out in 1997 [wikipedia.org]. In 1998 I co-developed a Filemaker Pro application on Windows with a Linux/inetd/perl backend which configured VLANs on Catalyst switches. The perl script used Expect to communicate with CatOS, a logical choice since some of my prior admin experience had to do with UUCP, whose login scripts were very similar to using Expect in many respects. Because it was only early days of OSS, and Filemaker was wholly commercially-driven, you had to actually pay money for the component

  • VB3 was a fabulous prototyping tool, with enough logic to actually act as the final program.

    There are still applications I use to this day that I could probably rewrite quicker in VB3/4 than it would take to find a replacement if they ever stopped working.

    Then they added all the classes shite in, the focus on GUI/prototyping disappeared, and it all went to pot.

    I would kill for VB3/4 visual prototyping and GUI, with any decent language on the backend, and the simplicity originally imagined (drag-drop a datab

    • Then they added all the classes shite in, the focus on GUI/prototyping disappeared, and it all went to pot.

      Well at least at that point they realized they had to start writing a BASIC compiler again. Seriously the fact that the first versions of VB werent compilers kept the real BASIC professionals on QB4.5 and BASCOM PDS (both also by Microsoft) and then since they were developing VB for the current users instead of the ones they neglected, it went a bit retarded on the OOP as the real developers werent there to tell them how dumb they were being.

  • And without the worst idea in the history of programming: case-sensitive variable names.
  • by Anonymous Coward

    There is nothing about "curly brace" languages that somehow makes them more "proper". In more than forty years of coding, low level (hand coded machine language) to high level (scripting languages), VB has always been my tool of choice for being able to write a quick usable desktop application. Coding quality is measured on a much broader basis than just the platform you are using. Having a language that prevents a lot of common errors (shooting yourself in the foot/blowing your leg off) does not necessa

  • Zero is a number too!

  • Uncontrolled (Score:4, Insightful)

    by TJHook3r ( 4699685 ) on Sunday June 23, 2019 @09:04AM (#58808322)
    A lot of 'projects' were kicked off in Visual Basic that were not even recognised as projects. It was so easy for a domain expert to get started, that they often just did. Problems only happened when someone needed to change the code and the only expert was the original writer, now Director of Finance!
    • Re:Uncontrolled (Score:4, Insightful)

      by ToasterMonkey ( 467067 ) on Sunday June 23, 2019 @11:06AM (#58808854) Homepage

      A lot of 'projects' were kicked off in Visual Basic that were not even recognised as projects.
      It was so easy for a domain expert to get started, that they often just did.
      Problems only happened when someone needed to change the code and the only expert was the original writer, now Director of Finance!

      We still have the same problems today with other tools, Python, Perl, Ruby, windows batch files, Office macros, etc.

      "Ops, take over this manual file transfer process from Finance using the enterprise MFT... oh, and please run this undated, unowned, five page, filter_transform_validate.pl script afterwards." With god-only-knows how many untracked CPAN dependencies that are out of date or deprecated.

      I'm a crusty IT Ops guy, and we used to used to push back on that kind of stuff, go back to the parter and ask if they can send us the report in the format we want, often find that they also want to migrate the process to a newer system on their end, etc.

      Lately the trend is to fix _everything_ with more scripts... go devops...

    • by methano ( 519830 )
      What he said. As a domain expert in a large pharmaceutical company, it was far easier and quicker to write my own code in HyperCard, first and VB-5 or 6 later than it was to teach chemistry to the IT guy. If we waited on the IT organization to understand the problem, much less, see value, things just didn't happen.
  • Over the years, I've gotten a lot of $#!+ done in VB6, VB.Net and most especially VBA.

    It's been disappointing that Microsoft has not kept technology going on VBA - No real object orientation, no Try/Catch. Yes you can use C# in an Add-in, but you're not going to go through the steps of building an add-in for a one shot to process spreadsheet data or automate some documents that can't be done with a mail merge.

    So you say, if it's a one shot, what do you need those features for? Because good code makes more g

    • Security concerns killed VBA. Remember the "I Love You" virus? A simple VBA macro in a Word document. After that, everybody started disabling VBA in Office, to protect themselves.

      VBA was written for a much more trusting time.

  • "There was simply no other tool that a developer could use to sketch out a complete user interface and get coding as quickly as VB"

    Except for HyperCard, of course, which was even faster to use.

  • It is case insensitive AND the compiler is dumb. If either of those two were false, it would still be fine.

    Why was I forced to use c# in my latest project?

    so I try to use a library , OpenGL-Net, which are opengl32.dll bindings for .net.

    However, the class "Gl" has two members, Gl.CLEAR which is a const and Gl.Clear which is a method, between which the VB compiler can not distinguish, not even if you use parentheses after Gl.Clear() nor if you use the deprecated Call keyword. One would think that even with ca

  • The most wonderful development system with wonderful debugging and easy to use development and help. I had a lot of good memories in 1998-2000 with it. So easy to create an application and deploy the same. F5 was my friend. Wow.
  • For example, "Classic VB programmers had to change the way they counted array elements. No longer could they start at 1, like ordinary people. Now they had to start at 0, like official programmers."

    One day of programming at the machine level will teach everyone why indices are naturally zero based. You can give arrays any base you want (make it 151-based if you want to), but zero-based arrays are the most efficient and effective. No matter the base, the location of your data in the array is calculated as [(index - base) * structure_size]. With 0-based arrays, though, you can eliminate one operation. You save a few CPU cycles and simplify the math at the same time. This becomes significant as your

  • Ah, one based arrays. Every once in a while I convince myself that in somne particular case it's a good idea. Only to deeply regret it later...

    Always start at zero...

  • It's a shame they ditched Visual Basic 7 which was already feature complete (with real OO, not the fake VB6 has) when they decided .NET would be the next real platform. I still have to develop daily in VB6 (but also in other languages) and the syntax of VB6 is still the cleanest (I said SYNTAX, not what happens underneath and the 'OO' limitations of VB6).
  • Virtual Basic rose because anybody could use it. It fell because anybody could use it.

Anyone can make an omelet with eggs. The trick is to make one with none.

Working...