8 ms·
Despite much of the hate VB has gotten over the years, it served an insanely important purpose in the rise of internal business software. When I was at MSFT, me
by ibdknox 10y ago
Despite much of the hate VB has gotten over the years, it served an insanely important purpose in the rise of internal business software. When I was at MSFT, me and the PM who owned the compilers for VB.NET and C# did a usergroup tour through Florida and I was amazed at how much of their world still runs on VB6 applications. Something like 1/3 of insurance software still does. It was one of the biggest reasons that Microsoft had to keep extending support for XP.
The transition from VB6 to VB.NET was a really sad one as it lost a lot of people - .net is a lot more difficult than 6 was. The result is that an entire group of people simply stopped making software and now we have businesses running on applications that are more than 20 years old that some random person in the company threw together over a week. There's a huge gulf between building a VB6 app and throwing together a web app today and despite much of the progress that has been made, we've taken some big steps back in terms of accessibility.
The difference between VB.NET and C# is pretty superficial, but I sincerely hope that someday people can experience the magic that something like VB6 offered. A lot of people got their start in programming thanks to it (myself included) and it's sad that it fell by the wayside to make way for "real programming."
- wslh 10y agoI think we can apply basic lessons from VB6 now. 25 years later and we can't design Web UIs with the same simplicity.
- pc86 10y agoI am a huge fan of the Microsoft ecosystem, and I spent a great many hours developing VB.NET code at the beginning of my career. VB6 is a scourge. The fact that Joe in HR threw together an application in a weekend in a testament not to its accessibility but to its abject lack of maintainability.
- ergothus 10y agoI'm not sure I understand your position. I mean, yeah, unmaintainable code sucks. But I think this highlights the need for more accessible coding. The web became huge because it was so accessible. Yes, it generated a lot of crap code, but if 10% of projects add value to society, the more projects, the more valuable projects. > The fact that Joe in HR threw together an application in a weekend in a testament not to its accessibility but to its abject lack of maintainability. I don't see how "easy/fast to create" necessitates lack of maintainability, nor that it is a statement AGAINST accessibility. (without regard to the quality of VB6)
- sjm-lbm 10y agoI think the important part here is that (in your example), Joe in HR wrote an application that is important enough to be used but not important enough to be professionally rewritten in a "better" language. I don't really think that speaks to faults in VB6, but to a sizable and interesting market for a product that allows non-programmers to write simple programs.
- orionblastar 10y agoI have known people writing apps in MS-Office like Access, Word, or Excel using VBA, and I was assigned to convert it to VB 6.0 and SQL Server. Usually the over the weekend projects need debugging and error trapping and other things to it. I can't tell you how many Invalid Use of Null errors where avoided by using the trim function and adding a blank quote "" next to the variable that held data: result = trim("" & RS(index)) Just a simple modification that new programmers didn't know.
- oldmanjay 10y agoThat's sort of like applauding your neighbor for training his dog to always shit on your lawn
- untog 10y agoOf course it isn't. Some of the stuff people wrote in VB6 was (and still is) enormously productive.
- oldmanjay 10y agoSure, and shit is productive in a biological sense. Doesn't mean I want to work with it.
- deleted 10y ago[deleted]
- mistermann 10y agoYou remind me of programmers who will bill a client $50k for a $2k problem under the guise of it being done "properly"...oh, and keeping it a secret that an "improper" $2k implementation was an option. People heap scorn on auto mechanics (for example) that pad bills, but many people whose work doesn't get their hands dirty seem to think they are subject to a different moral code.
- cm2187 10y agoI think there is much to be said about Jack in IT who spent 6 months working on a program that doesn't even meet the business' needs in the end, for something Joe could have done over a week end.
- barking 10y agoWell if Joe in HR can throw it together in a weekend, surely a 'proper' programmer like you could replace it in one?
- pc86 10y agoYou seem to think that I'm making some sort of judgment against Joe, or that I think I'm better, or something of that sort. I didn't say or imply anything like that.
- mistermann 10y agoOh? > abject lack of maintainability
- sosborn 10y agoThe judgement is against the platform, not Joe.
- mistermann 10y agoImplying VB6 code is intrinsically unmaintainable, which is obviously false.
- zhte415 10y agoSir, you jest. However I have indeed seen Joe in HR throw stuff together in a weekend, and it worked, mainly because Joe knew his business intimately and Googleing VBA was easier than writing a business requirement.
- barking 10y agoYes and it does the job. If it's unmaintainable as alleged then that's a refactoring job which is a lot easier imo than starting from scratch. Joe from HR has given him his UI and undeniably laid out everything the code needs to do. Mr Real Programmer should just then get on, stick in his tests, refactor and quit whining about Joe's code. After all what's he there for, did he expect Joe to do everything?
- lxe 10y agoWhat is "real programming" anyways? What separates VB6 from the "real programming" languages? Try to answer this question not from the perspective of an opinionated programmer, but in the general framework of "what it takes to make a working product using VB6 versus other things out there"?
- murukesh_s 10y agoVB6 is basically as simple as a form builder to start with. You start with designing forms for every screen you need and then write logic for specific events, like a button click event etc. It was much more simpler than say a modern framework based on MVC.
- douche 10y agoI don't see why you couldn't still do this with WinForms in VB.NET or C#
- criddell 10y agoYou can, but it's not as simple. VB6 would spit out an exe that could often be installed by just copying it to the client machine. You could also generate DLLs that other applications could easily load and use. These days you can still do it, but it's much more complicated (i.e. registration-free COM).
- marvin 10y agoI'm pretty sure that Windows Forms in C# is still pretty lenient in this regard. It'll give you an .exe file that, if you only reference a single project in your solution, you can copy directly onto a target machine and run. If you're referencing multiple projects, it'll compile DLLs from them and you'll need to copy over those as well. I love Windows Forms for prototyping stuff for this reason. There's much less overhead and GUI prototyping is super fast. It falls apart if you have a complex application that needs to be maintained over time by multiple people, but it's great for just getting some simple task done. I think the current generation of web programmers miss out on some really useful tools by always thinking in terms of client/server. It's not always that you want or need a webapp to solve your problem.
- untog 10y agoAgreed. My start as a professional developer was an internal tracking tool that started as an Excel spreadsheet, which I turned into an Access database... added numerous VBA macros... once I'd hit that limit I created an entire frontend in VB.NET, which led me to C#... I've left it all long behind now, but those were some great building blocks. It was around a decade ago, and when I left the company they had announced plans to replace everything (my code included) with SAP. Last time I spoke to someone there (about three years ago) that plan has still not been completed.
- hitgeek 10y agoMy journey into programming is exactly the same. My first real desktop application written in VB .Net has been used once a month for 6 years, and is still going strong, even after I've left the company.
- elorant 10y agoVB was to the desktop what PHP was for the web. An accessible and easy to learn platform that got a lot of people into building shit quickly. Hopefully most moved on since.
- devopsproject 10y agoyeah, PHP is atrocious
- encoderer 10y agoLike a dead relative, when I think of VB6 I look back fondly on being able to edit live code at a breakpoint without having to restart the debugger, and ignore the traumas like the interface to the win32 API and the half-baked error handling.
- orionblastar 10y agoI did a lot of programming in Classic Visual BASIC and VB 6.0 was my favorite version of it. I was disapointed with the changes made in VB.Net because I had co-workers that didn't know how to program and VB 6.0 was easier for them to learn and be trained by me to use. If you want to convert some VB 6.0 code to another language consider Jabaco: http://www.jabaco.org/ http://www.jabaco.org/ It will compile to a JAR file and it is based on VB 6.0 syntax. People asked Microsoft to open source VB 6.0 but Jabaco is as close as you can get to that without being sued by Microsoft.
- barking 10y agoUnfortunately jabaco is both closed-source and dead http://www.jabaco.org/board/1411-jabaco-lifetime.html http://www.jabaco.org/board/1411-jabaco-lifetime.html
- HCIdivision17 10y agoI work in industrial automation, and you really don't want to know what an awesome impact VB6 had on manufacturing. As `sjm-lbm noted below [0], it fills that essential niche between stuff that's useful and stuff that's too important to kludge. And I think as programmers/engineers, we should all kinda grok that you can get away with a lot of kludge before the world ends. My favorite take on this idea is a guy in a forum replying about how vilified VBA is. I can't find the note for the life of me, but basically he said "You may work out and find the perfect tool for the job, but sometimes you just need a turbo-powered pneumatic nail gun to bang out something that mostly works." Skilled carpentry is a thing of beauty, but sometimes you just want the goddam floorboard held in place so the painter can get to work. [0] https://news.ycombinator.com/item?id=11756195 https://news.ycombinator.com/item?id=11756195 PS: I've perpetrated my own intellectual violence upon the world via VB, and generally it's what got me programming in my job. I learned C in high school, did some C++ in college, but I really got started in VB6. Eventually I escaped to Python, but man, I still appreciate how ubiquitous VB is. In Windows land, you can always fail back to some absurd version of VB (either in some VBA in a remnant Office installation, or VBscript, or the like - they're all a bit different, but not enough to stop an enterprising hacker).
- cm2187 10y agofail back?
- HCIdivision17 10y agoYup. You've heard of defense in layers? Well, VB is a leaky sieve that you can try from different angles as each layer fails. So... you didn't hear this from me. This certainly was from some other engineer tasked with getting $THING done in a corporate environment where everything was locked down and noone had admin. (Never mind that anything on the floor had to have the password taped under the keyboard - or to save time, monitor.) I mean, someone had admin, but it wasn't really obvious who in the plant did and the ones who supposedly did had bad privileges set. So you try to do something absurd like copy a log file automatically in the event of a line crash to a network store. But you can't run the nice application that shadow copies without admin. So you try a batch file, but no dice. Then you try VBA via Excel, and that sorta works, but now you've got to keep Excel running as a monitor, and that garfs up occasionally when the operator alt-tab-resets-power-to-everything. So you try a VBscript, and find that you can plonk that down in the Windows Startup folder and it sorta just works and thank god that's not an issue anymore we can just get back to fixing the line. Every time it fails you can try again from a slightly different vantage point, retreating further as it fails, perhaps appropriately, you need to spend a day on the phone with tech support and get the damn thing done right.
- wink 10y agoI only used VB5 in the late 90s, but yes, absolutely. When I was doing GUI stuff in Java (Netbeans and eclipse) in the mid 2000s... yes, all the OO stuff was better but boy did I miss that interface designer that just worked.
- discreteevent 10y agoI remember a byte magazine article (maybe it was even on the cover) around the time of VB3 about how OO had failed in terms of what it had promised: re-use, productivity etc. But VB had more than succeeded on these fronts. Millions of programme were re-using these black box components. Not just the Microsoft ones. There was a big third party market as well. But it wasn't as sexy as OO. I think the article was wise enough to point out that it was OO but better than most implementations because of what it left out.
- catnaroek 10y agoI'd kill to be able to use a form designer like VB6's, with a better language, like Haskell or Python. Present-day Visual Studio's form designer isn't good enough.
- cableshaft 10y agoI'd love a python-backed form designer. I've been wanting one for ages. I've experimented with making GUI's with wxPython before but it's pretty clunky. I would have loved a good form designer to help accelerate it and take care of the basics. But nowadays everyone wants to make all GUI's everywhere web-based, it seems like. Which is okay, but much more to learn.
- PostThisTooFast 10y agoIn the '90s, we were all supposed to look forward to a "marketplace of pre-built objects," which could be bolted together to build applications. That didn't materialize, because (as I understood it) of the industry's failure to standardize compiler output so that object libraries written in C++ could be binarily compatible with other software (someone can elaborate on this if they have more details). But there was one exception: VBXs. We did indeed write a lot of software for some very high-profile clients using drag-&-drop VBX controls, especially things like data grids. VBXs did largely deliver on the promises we all heard at the time. The other big hype at the time was how the newly unified UNIX camps were going to wrest the desktop from Microsoft. We all know how that turned out (except the people who are still saying the same about Linux...)
- naveen99 10y agoVb6 was before my time, but I think autohotkey has filled the vacuum pretty well. There are a bunch of alternatives still around, like autoit, quick macros...
- flik 10y agoVB6 is still used in Indian Schools to teach programming. And it definitely is simpler than VB.NET for newbies.