On this May 20, 35 years ago, Visual Basic 1.0 was announced at Windows World
Posted by Distinct-Question-16@reddit | vintagecomputing | View on Reddit | 112 comments
tis1971@reddit
I miss those days. Can’t believe it’s been that long. Thanks for posting.
evert@reddit
Never knew there was a DOS version. So neat!
I never really got into VB. Got my start with Turbo Pascal, so Delphi was the natural path. I don't miss it in many ways, but I think we also lost something along the way.
evasiveswine@reddit
I did a lot of VB1 in almost certain there was no such thing
evert@reddit
An easy google search would clear up you're (confidently) wrong.
TheThiefMaster@reddit
Why was there a DOS version? Did VB1 support making graphical DOS apps?
CeldonShooper@reddit
There were DOS versions of a lot of things. There is e.g. a singular version of Acrobat Reader for DOS.
satsugene@reddit
Yeah, sometimes supporting DOS, even if just on paper is a requirement for large system RFPs.
NT4 supported POSIX even though it wasn’t used that often on it because POSIX support was essentially required by many large organizations such as the US Government who wanted to avoid vendor lock in as much as possible or expecting the programs would be unmodified as much as possible unless the law or circumstances forced a change.
sputwiler@reddit
NT6.1 did too; I had "Subsystem for Unix Applications" installed on my Windows 7 PC. It was interesting. WSL1 is similar, but also supports ELF binaries. SUA was POSIX for NT but you still compiled your software as COFF EXEs, but the API was definitely not Windows. The system also came with some weird wrapper around MSVC that would translate traditional unix compiler options to ones MSVC would understand.
therealelroy@reddit
I had that DOS version after using the Windows version. The DOS version had big time memory restrictions. The little DOS app I was making wouldn't run without a ton of hacking to make it fit within the memory allowed for my app.
Real_Mr_Foobar@reddit
The post subject is apparently conflating the VB for Windows and VB for DOS versions. VB for DOS was released a year later and only came in one version, minus some minor updates that I can't find now. Classic VB for Windows went from version 1 to 6 in its classic form, before MS punted it all to make the almost incompatible VB.Net versions.
VB/DOS was actually the program upgrade to MS Basic 7.x Professional, but also included a DOS form maker and certain other improvements. What was wild about it was pretty much any old MS GW-BASIC and Q/QuickBasic code would compile under it to a separate executable. Fun making Gorilla.bas into its own program running apart from the interpreter!
You can find both VB for Windows and DOS on WinWorldPC with a quick download. Throw all the installation files into a single directly and install in a DOS emulator (I like DOSBox-X for Linux) and have all sorts of fun.
mats_o42@reddit
I did write some apps in vb.dos. I do not want to think how long time ago that was but back then you could fit the boot files, network software and drivers for more than 20 cards on a 1.44 megabyte floppy. Will winPe load on a Gigabyte today?
bigbigdummie@reddit
Graphical-in-character-mode, yes.
-jp-@reddit
I never messed with it much, but it had a TUI. Archive.org has a VM for it if you want to try it out.
bruceleendo@reddit
So nice, they also have sample folder SRC.
itsasnowconemachine@reddit
To support Microsoft's previous BASIC customers, who had been using Microsoft's BASIC products for years, and weren't ready to transition to Windows.
They were text mode, but had controls - checkboxes and dialog boxes.
TheThiefMaster@reddit
Nice!
DeepDayze@reddit
I remember QBasic and QuickBasic for DOS so VB was a natural progression that carried from DOS to Windows,
gus_the_polar_bear@reddit
VB quite literally lives on in twinBASIC
MoistlyCompetent@reddit
What's Gambas? A programming language which is still in use? Wait...I'll Google it myself.
Gambas Almost Means BASic
zilog88@reddit
Same here:). That said, I should have skipped that and gone with C++ instead, as I had to move to C# and Java later on anyways. Going with C++ would have saved me a lot of time :)
rasteri@reddit
C++ doesn't have much in common with C#, really
zilog88@reddit
How about syntax? Technology-wise you're right of course. What I mean is that with C++ at that time one was paid better than with VB/Pascal/Delphi and one would more easily migrate towards Java/C# if ever needed. With Delphi I had no choice other than to migrate. Plus nowadays C/C++ developers with 20-30 year experience are paid very well.
-jp-@reddit
I mean only in the sense that they're both Agol languages. C# is more like Java than anything, and not for no reason.
gcc-O2@reddit
the obviously very technical and serious term is "curly bracket programming language"
RootHouston@reddit
C++ has a lot of dealing with memory management and pointers. Because C# is garbage collected, the paradigms are just quite different. There is a shared heritage of syntax from C, but you can say that about a ton of languages.
zilog88@reddit
Yes, if you look carefully in my post above, that is exactly what I wrote:). Garbage collection and CLI are technologies that make them different, and yes switching from Java to C# and back is easier than from C/C++.
khInstability@reddit
I learned C/C++ in school. But used VB for internal help desk tools I wrote as a night supervisor (lotsa downtime) until I tried Delphi. Really liked Delphi much more. Was sorry to watch it languish.
SpeedDaemon1969@reddit
I remember VB shareware in the '90s. To get it to run, you had to download a MASSIVE VB runtime separately, and then deal with all the crashes. With 16-bit Windows, a VB crash usually brought down the whole system.
VivienM7@reddit
I came very close to making VB shareware. If you wanted to bundle with the runtime, a pretty installer, etc, I think it added 1.something megs. Can't remember if it could fit on one 1.4M floppy or if it needed two.
The whole runtime thing was a huge problem in a dialup modem world...
SpeedDaemon1969@reddit
IIRC the runtime was always huge in comparison to the .exe file. It was a pain having to get that DLL separately, even with a T-1 at work.
fafalone@reddit
vbrun100.dll is 0.26mb. But yeah MS should have been including it with Windows a lot sooner than they did.
VivienM7@reddit
I was using VB4, I think between the installer, the runtime, OCX files, etc, you were in the low 1.x megs not including your actual application...
Mazur92@reddit
Version 6.0 used by my father was my introduction to programming at all, I still think about it very, very fondly. Actually, the whole AI thing with coding reminds me of it a little bit. I loved VB6.0.
American_Streamer@reddit
See https://winworldpc.com/product/microsoft-visual-bas/10
vip17@reddit
oh it has no syntax highlighting?
Distinct-Question-16@reddit (OP)
also you wont get a list of methods/vars when you type dot. you had to look documentation or the atributes page for an object (thats why i recall it well).
sputwiler@reddit
I recently went back to Metrowerks CodeWarrior for Macintosh for uh... reasons. It was the first system I used to learn programming C++ in school (those academic discounts meant most schools had Macintosh computers).
I totally forgot how professional code editors in IDEs back then really didn't have most of the features I take for granted now. I think if I want to make a classic Macintosh application I'll use one of the retro-dev-kit cross-compilers from modern Linux.
Ki1o@reddit
My first version was the ill-fated 6... Learned so much about development from that and planet source code 😁
Ok_Study3236@reddit
I still have an aversion to seeing timers used in code 30 years later as a result of VB6
fafalone@reddit
What's the issue with timers? It wasn't some unique to VB thing, the Windows API has several timer functions.
Ok_Study3236@reddit
Yes, and many walls feature clocks, but it doesn't mean you should stack a hundred of them in a pile and use them as an armchair, or frisbee them out the nearest window as a means of notifying those nearby you wish their attention, or manufacture a new one every time you wish to measure a time instant, or ... :P
it wasn't timers, it was how they were used. VB was first code experience for almost everyone and insane timer use was often how it manifested
Distinct-Question-16@reddit (OP)
I made my first true vb app back in '95 to count internet usage. It had an animated icon on the systray that would detect the internet connection, counting pulses and cost so you could anticipate the dialing cost for a month. Instead of using time differences, as a newbie I used timers, and they'd fail from 1 to 2 minutes, something like that.
NaoPb@reddit
Sounds like a neat little program for retro PC's. Do you still have that app and would you be willing to share it?
geekywarrior@reddit
Literally chasing an issue with multiple timers hitting a function in a vb6 project at this moment haha.
satsugene@reddit
Set and Reset the Interval to a random time less than the time to execute its routine for double the pleasure!
angryscientistjunior@reddit
Ill-fates?? VB6 was great, so many people used it to make apps with!
Distinct-Question-16@reddit (OP)
I recognize it now at my earlier times, copy pasta a bunch of internet code without really understanding it was pretty unprofessional.
fafalone@reddit
Isn't it worse today... 'oh this package has a function I need!'
satsugene@reddit
An alarming amount of VB6 code was still in production when I retired in 2011.
Even worse is the amount of crazy-ass VBA in Excel and Access written by folks who have zero clue what they are doing but ends up being shared and reused across the organization.
achbob84@reddit
That brings back terrible memories. I did small business support for a long time, the amount of crappy VB Macros in excel files that entire organisations balanced on was insane.
Probably hacked together by some bored office worker trying to save himself some time but forever revered as “extremely important” once the original procedure it replaced was thrown out.
hamburgler26@reddit
I had the pleasure of reverse engineering the deployment and build process for a VB6 application in 2018! I wouldn't be shocked if it is still chugging along!
Granted this place also had RHEL4 and Solaris 10 still in production so a little VB6 floating around was no biggie.
pm_me_triangles@reddit
At my current job we're plagued by giant spreadsheets that rely on messy, clunky VBA written by someone without much programming knowledge. Copy/paste code everywhere, no comments, nondescriptive variable names...
-jp-@reddit
The thing VB taught me above all else is that for most shops, if it works, don't worry about it. Sure, a wiz-bang Electron app would look pretty, but if that Excel spreadsheet is doing the job (even if just barely), that's what really matters.
Rey_Mezcalero@reddit
VB6 is still fantastic!
VB.Net broke what was simple and great about 6
achbob84@reddit
Absolutely agree.
ironsteam713@reddit
I still feel this is one of the very best acquisitions (Cooper Tools ??) Microsoft ever made! It was a great time. VB4 was a bit bumpy but we got thru it. Somewhere around VB6 it started to change. Felt like the larger MS marketing machine had ignored VB up to then and it was able to be its own thing, A good thing. Then it seemed to get assimilated into the larger MS collective.
fafalone@reddit
They completely squandered their achievement too. They forced .NET hard enough it wasn't a total disaster, but it never reached the success and market share VB had. Not to mention the reputational cost of their own "Most Valuable Professionals" protesting en masse the move of "you will trash millions of applications and rewrite them from scratch in a new language".
VB could have been where Python is now. It was great for things like being the front end for powerful C libraries.
Distinct-Question-16@reddit (OP)
That's great to hear! I always thought Microsoft built it, especially with their history with BASIC. So, they bought Tripod and it evolved into Ruby, I'm learning about it now.
mikegalos@reddit
Microsoft did make it. The stories out on the web aren't accurate. Some of Tripod got used but only a little. The Ruby engine was a Microsoft internally developed engine. It was adopted by the Thunder team for VB's language engine with changes.
mikegalos@reddit
The amount of his code that survived to ship was below the normal threshold for credit but Nevet and Adam and the rest of the team thought they'd be nice and credit him anyway.
YakumoFuji@reddit
mmm vb6 created a whole 'component/control' industry. and the whole Visual Basic Business Objects (rockford lhotka) movement.
memories
Distinct-Question-16@reddit (OP)
i think it came from the evolution object linking and embeding from windows , it even make its way to the web.
YakumoFuji@reddit
Yeah the ole OLE + COM intertwinning. OLE gave us OCX's which was the basis of an entire VB6 industry :)
mikegalos@reddit
VBX originally
YakumoFuji@reddit
sure, vbx's were around for vb4 from memory, but im talking vb6 which was all com/ocx etc. but I guess all this ms tech feeds into each other, probably all from dde or something.
horror memories coming back!
mikegalos@reddit
VBX was there from Visual Basic 1.0
finah1995@reddit
Hehe VB for DOS I knew existed for anyone trying to have similar experience in .net try the Terminal.Gui project
Lately they have been making huge strides and they even made something literally similar to VB for DOS - A TUI Form Designer for TUI.
mikegalos@reddit
A career highlight was taking a shift on the Comdex/Windows World show floor the week we launched VB. It had been so popular a second demo station was added and most of the team had flown back for a few needed days off. I got drafted because I wrote the Microsoft University course on Visual Basic and knew it well enough to handle demonstrations and questions.
EyeCanHearU@reddit
Made some good money with VB6 and later VBA, the only M$ products I am sentimental about.
ducon__lajoie@reddit
Nice, but my heart will always be for Borland.
Least_Equal_6081@reddit
Borland developer tools were amazing!
NullPointerJunkie@reddit
My intro to BASIC was C64 BASIC. My first program looked something like this:
10 PRINT "NULLPOINTERJUNKIE RULES!!!!!"
20 GOTO 10
As an adult looking at it now its lame. As a 10 year, I was a tech god
sabre31@reddit
I miss the good old days.
cchaven1965@reddit
The first version that shipped didn't even include file I/O! I had been using PowerBasic under DOS for years and when VB became available I jumped at it. I got the UI for a database working but then couldn't do anything without buying a 3rd party module for file I/O. This totally soured my view of it and I never used it again, nor ever did another Windows program.
inotocracy@reddit
Ah, this brings back memories of building apps to screw with AOL users.
FluffusMaximus@reddit
AOHell
satsugene@reddit
I loved the “PageFuckPlus” war-dialer, with the obligatory animated splash screen and R&B intro tune.
Kick your friend offline (which wasn’t hard) and then fire that up so their phone rang non-stop and would be in use whenever they tried to redial up.
Only second to NetBus. MyPic.jpg.exe with the Windows picture icon.
inotocracy@reddit
Ha! Your "prog" always had to come with a splash screen.
homerdulu@reddit
Oh god I remember this. And I still have to deal with this code every day 😂
CeldonShooper@reddit
I'm old and remember this nice article about Joel Spolsky having his first interview with Bill Gates. Back then Joel was the program manager for Excel.
My first BillG review
martijnonreddit@reddit
I only got on the Visual Basic train with version 3.0 (the edition with the new 3D controls), it was so freaking cool. Eventually I moved on to Delphi and C++ Builder which were even better, but I totally get why business relied on Visual Basic 6.0 applications as long as they did.
Distinct-Question-16@reddit (OP)
i had version 3.0 trial didnt had 3d controls i think they came with 4.0
martijnonreddit@reddit
Yeah 4.0 had the Appearance option on controls, But 3.0 Professional Edition included the custom 'Sheridan 3D controls' that contained things like panels with 3d borders and that coveted modern gray background.
BCProgramming@reddit
Those controls were also included in Visual Basic 2.0 Professional Edition.
RoboWeaver@reddit
I don't recall the Appearance version either. But version 3 (maybe it was 3.1) was my favorite because I could write stand-alone executables. Very important for my client.
Distinct-Question-16@reddit (OP)
ahh thats great. i didnt even recall that Appareance option
sarajevo81@reddit
The first version was crippled beyound belief. I don't understand how people were using it, it was suffering non-stop.
gcookman1106@reddit
I had a pirated version of vb4, I was a teenager at the time and it felt like witchcraft "drawing" a UI. Such a shame they dropped the visual side of things.
Jorpho@reddit
I dabbled in GTK a little somewhere around twenty years ago and it was downright distressing how difficult it was to manually mash UI elements into place.
djducat@reddit
I was working at Digital Equipment at the time, who was trying to get a desktop business off the ground. I was on a software help desk, and was supporting V 1.0, Funny thing was, we got a copy of it the same day we started supporting it.
fafalone@reddit
If you liked VB classic there's finally a real successor. There's plenty of other BASICs but now there's an actual VB6/VBA7 backwards compatible option that runs existing projects, and modernizes the language with tons of new syntax, full Unicode support, x64, multithreading without exotic hacks, etc.. twinBASIC.
Started with VB3 as a kid making AOL pr0gg13s, really got me into programming. And I never stopped using VB6... there's still businesses with VB6 apps that need to be maintained, and all my Windows utility hobby projects. It still works great; only slowed down on it once I found tB. I haven't been so excited about programming in a long time now that I can use tB to get everything I hoped for had MS never killed the line. vb.net usurping the name was a slap in the face I'm still salty about.
rictay44@reddit
I used VB for years. Wrote a number of free utilities for the shareware market, and many other progs. I miss VB.
retro_computr@reddit
Ho iniziato con Visual Basic DOS 1.0 la programmazione a oggetti. Era fantastico. Ammetto di aver iniziato parecchio tardi essendo io del 1994, ma già da bambino amavo il retro 😂.
psychohistorian8@reddit
pirating Visual Basic from an AOL chat room so I could create my own "Punter" is how I learned to program
CueAnon420@reddit
VB6 remains the best rapid development tool that MS ever created...
PiratesOfTheArctic@reddit
You've brought back some very fond memories, awesome 👍
Jance_Nemin@reddit
I'm still awaiting the "VB" version of building AI applications. I have sooo much data I want to analyze, but without an easy-to-use training and inference tool that I can use locally, I feel I can't build these solutions in my head.
geon@reddit
Did it run in msdos?
Scoth42@reddit
There was a separate Visual Basic for DOS that worked similarly, though it actually came out a bit after VB for Windows. It implemented a whole TUI that worked similarly to Windows, though I don't believe it actually shared any API code. The BASIC code was reasonably similarish and it wasn't completely impossible to port things between VB1 for Windows and DOS.
I have no idea if it really gained any traction or had much done with it. VB for Windows obviously went on to great success (for better or for worse) but VBDOS was kind of a dead end last gasp for DOS programming that was more of a followup to their past DOS BASIC environments.
-jp-@reddit
Yup.
chuckop@reddit
Visual Basic allowed anyone to write Windows programs.
That meant a lot of people created a bunch of crap programs.
Same thing is happening with AI; powerful tools allow anyone to create things that weren’t possible before.
-jp-@reddit
You did still at least have to have a vague idea of what you were doing. This was back before Stack Overflow was a thing—anything you wanted to do you got from a proper dead tree book.
Distinct-Question-16@reddit (OP)
That was especially true for people coming from DOS, I remember that to your programs to be sophisticated, you had to program everything yourself, like reading files, displaying images pixel by pixel, mouse interaction, etc. That is, if you didn't had access to libraries, which were rare back then. So this was easy to do in a minute, so the switch was like "vibe coding" today.
Frequent-Complaint-6@reddit
Loved it!
wenoc@reddit
And the world is still trying to recover.
Easy-History6553@reddit
Fake oop attempt but very intuitive, it still exists gambas for Linux if you liked it
DeepDayze@reddit
Gambas can still run your code albeit you'll have to tweak it some to run properly on Linux.
Distinct-Question-16@reddit (OP)
forms were intutive, object methods and atribution also, but the rest could be very unintuitive or verbose
Distinct-Question-16@reddit (OP)
you have thr object.method() or atribution so the rest is a bit a basic disguise
Distinct-Question-16@reddit (OP)
basic is ugly for oop
ecky--ptang-zooboing@reddit
Make your own calculator with just a few 100 lines of code 🔥
_Erin_@reddit
Seeing these screenshots brings back memories of a neighbour I once had in the mid-late 90's. He would sit in front of his PC late at night in his basement apartment kitchen coding VB into the wee hours. He once showed me what he was working on, but instead, I was struck by the ashtray mountain next to his keyboard and liquor & 2 litre Pepsi bottles scattered all over the floor.