
Visual Basic Turns 25 - mikerg87
https://blogs.msdn.microsoft.com/dotnet/2016/05/20/happy-25th-birthday-vb/
======
ibdknox
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."

~~~
pc86
I 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.

~~~
sjm-lbm
I 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.

~~~
oldmanjay
That's sort of like applauding your neighbor for training his dog to always
shit on your lawn

~~~
untog
Of course it isn't. Some of the stuff people wrote in VB6 was (and still is)
enormously productive.

~~~
oldmanjay
Sure, and shit is productive in a biological sense. Doesn't mean I want to
work with it.

~~~
mistermann
You 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.

~~~
pc86
> _many people whose work doesn 't get their hands dirty seem to think they
> are subject to a different moral code_

Let's not try to turn this into some "workers unite!" nonsense. I don't think
how dirty someone's hands get have anything to do with what we're talking
about.

Using your extreme example, the the $2k option is wrapping half a roll of duct
tape around a leak. The $50k option is buying warrantied parts directly from
the factory (not OEM).

What both you and the parent ignore is that there's usually a perfectly valid
$20k option (OEM) that is a fair middle ground.

~~~
mistermann
> Using your extreme example, the the $2k option is wrapping half a roll of
> duct tape around a leak. The $50k option is buying warrantied parts directly
> from the factory (not OEM).

You haven't seen some of the things I have. There are some extremely dishonest
people in this industry that would literally be in prison if they pulled
financially comparable stunts in an industry that isn't so opaque.

------
openasocket
I first learned to program in VB6 when I was 14 in a high school class. I
remember being so excited by programming that I flipped to the back of the
book and trying to implement the advanced programming problems only a few
weeks in. An explanation of Conway's Game of Life caught my eye, and I tried
to implement it. Unfortunately, I hadn't yet learned about arrays _or_ loops,
so my implementation was just thousands of lines of if statements. It took me
hours of copying-pasting and modifying just to get a 5x5 board working, and I
remember balking when the book suggested trying to make a 50x50 or 100x100
board. It was at that point I realized all the content in the middle of the
textbook might be worth looking at after all!

------
giancarlostoro
In a few more days I'll be 26. I started programming with Visual Basic 6,
since then I have moved on. From time to time though, I can't help but try it
out again now and then. I've seen many programmers start out with it and move
on through the field into other languages. Many interesting projects have been
made in Visual Basic 6 alone. Everything from private server software, to game
cheating tools (packet injections), online rpg game engines, and so on and so
forth (and throw in malware in there somewhere too). I am grateful for Visual
Basic despite having moved from it, I know many despised it, and some of that
group once coded in it, but I have to appreciate my roots despite the good or
the bad I still learned programming through VB6. Thank you to whoever has ever
worked on Visual Basic 6. Happy belated birthday as well.

~~~
khedoros
I'm 5 years older. I started in Qbasic and moved to VB4 or 5 pretty soon after
that. I've left them behind, but I've got a similar feeling about those
languages.

These days, I guess I'd do some TK thing in Python if I was going for speed of
development, but that seems a few steps backwards from what I could do
(almost) 20 years, in a few ways.

------
walkingolof
Happy b-day VB, you where the node.js of the 90's, the starting point for many
successful carers.

~~~
sievebrain
Would be nice. Sadly node.js shares many of VB's warts, whilst having few of
its nicer features.

I'm not the only one who looks at what the industry had in the 1990's and
thinks we've gone backwards. All Microsoft had to do was build a non-crappy
online update and installation system, and our whole industry could look very
different. But MS failed, utterly, in fact they made it worse, and we've ended
up with the web - a pale imitation of real software development, but hey, you
can deploy it without being hamstrung by a dysfunctional IT department and
stuff updates silently.

------
canada_dry
Bill giving the first demo of VB 1.0

[https://www.youtube.com/watch?v=bMz2Mgs7UU0&t=2m8s](https://www.youtube.com/watch?v=bMz2Mgs7UU0&t=2m8s)

------
wangii
In 1996 a friend demonstrated to me how to write an calculator in VB 4.0, I
was immediately hooked. it opened the GUI world to me. at that time I couldn't
read English and all I could was trial-and-error. Couple of weeks later, I
coded a traffic simulation and show off to another friend who studied
chemistry. Guess what, the guy learnt programming and became CTO of a Chinese
internet giant.

~~~
xiaq
I am curious, which internet giant?

------
gambiting
I've actually learned programming when I was 12 with Visual Basic! I had a
little book called "programming for kids" and it had a trial version of VB6
attached to it(it was fully functional, except that it couldn't export exes).
The book had chapters on how to make a calculator, a simple notepad with
save/open functionality and then at the end a gem - pong game made in VB. It
was amazing. Now I work as a professional game programmer in C++, but I always
think fondly of VB.

------
nedsma
I quit programming VB 12 years ago after using it for two years. I still
vividly remember its syntax, patterns, forms, adodb/dao stuff. It's as if I
never stopped coding in it. I've been into many languages since, ending lately
with Golang. Nothing felt so easy and accessible as VB. Happy 25th birthday,
dear Visual Basic.

~~~
dragonbonheur
Try GAMBAS on Linux or AutoIt on Windows.

~~~
nedsma
Thanks for the kind reminder. At the same time when the VB was a popular tool,
I looked for similar platforms on Linux. Gambas provided very familiar, if not
identical syntax, however its Forms editor wasn't as nearly as powerful as
VB's. Anyway, I'm glad to hear that Gambas is still around, will certainly
play with it.

------
umanwizard
Actually VB is dead. VB.net isn't VB any more than JavaScript is Java, and we
shouldn't let Microsoft's marketing team pull the wool over our eyes by
pretending there's continuity between the two.

VB.net is (modulo a few unimportant exceptions) just C# transpiled to a more
annoying syntax.

~~~
codinghorror
I must regretfully agree with this.

------
zanethomas
The original Visual Basic was revolutionary. As a long time c programmer, at
the time, I saw the custom control market opportunity and jumped in as co-
founder of Mabry Software. Life was good, until vb.net.

I also wrote a bit, for example:

[http://www.amazon.com/Visual-Basic-How--Definitive-
Problem/d...](http://www.amazon.com/Visual-Basic-How--Definitive-
Problem/dp/1878739425/ref=sr_1_7?s=books&ie=UTF8&qid=1464042684&sr=1-7&refinements=p_27%3AZane+Thomas)

~~~
zanethomas
and:

[http://www.amazon.com/Visual-Basic-4-0-How-Problem-
Solver/dp...](http://www.amazon.com/Visual-Basic-4-0-How-Problem-
Solver/dp/1571690018)

------
carlesfe
Nowadays it's almost a meme to hate on VB, but I wrote my first desktop
application with VB6 when I was in high school, circa 2000.

I knew Basic and a bit of Pascal, but the GUI builder of VB captivated me. It
was so easy to create things with it! I quickly embraced it and developed many
applications, among which a Scalextric car controller (attached to the voltage
of a real car) and a math tutor for kids which got me a grant on my first year
of college. It was pretty crappy but I still hold VB6 in my heart :)

------
mkhpalm
Its interesting how much hatred there is for visual basic these days. I
understand, its the bane of my existence right now replacing thousands of
things written with it. But I never stop being amazed at how successful it
was. People who had no business programming were able to get stuff done with
it. Imagine if MS didn't corner itself and ultimately kill the language by
implementing only for windows?

~~~
AnimalMuppet
> People who had no business programming were able to get stuff done with it.

True, and that was good. But it became bad when businesses made that "stuff"
part of business-critical processes.

~~~
ern
This was often an argument I read in my Systems Analysis textbooks back in
that era: "Bob from Accounting threw together this app, now we need to replace
it with a staged CMMI-compliant development process that does things
properly". IRL: it resulted in an expensive and late waterfall project that
Bob, and the rest of his department hate.

I'm sure that the code quality was atrocious, but in many ways, it is the
ultimate Agile goal: Bob is solving his own problems, cutting through red
tape, and addressing real business needs. It's a pity that the idea was
abandoned, instead of finding ways to reduce the ways Bob could shoot himself
in the foot.

------
cordite
Still use VB6 at work. It says "Valued Microsoft Customer" since they
supposedly don't want to run the licensing servers anymore.

~~~
latenightcoding
if you don't mind me asking, how big is the company and what do you do with
vb6?

~~~
cordite
Developers? Over a thousand.

There is a migration, though slow, from VB6 to ASP.NET C# stuff.

We use VB6 because of the component-like nature of how it can integrate with
other parts of a larger application--and it usually doesn't have catastrophic
failure (like a segfault) which can be contained. Another aspect of why it is
used is because of the low-memory requirements, which by extension means one
server can host more application sessions for more users. (It is easier to
upgrade one server's software instance than thousands of individual
workstations)

~~~
barking
It's such a pity that microsoft did not provide a path forward for the
applications written in vb6.

Further, at a time when they are open-sourcing so much they still keep vb6
closed source so that no-one else can either.

It's almost sadistic.

~~~
WorldMaker
Microsoft produced several migration tools from VB6 to VB.NET over the years.
An "Upgrade Wizard" to do a first pass conversion. Some integration tools to
run VB6 COM components in VB.NET applications and vice versa (VB.NET code as
VB6 ActiveX components).

VB.NET was always meant to be the path forward, and VB.NET, at least, _is_
open source now.

~~~
VB6-Programming
The migration tool was next to useless. Even if, after a lot of effort, you
migrated your app it would typically run a lot slower than on VB6. The only
practical way to "migrate" was a complete re-write, that way you could have
something comparable in performance to the original app. And that is why there
are still so many VB6 applications around today, the cost of migrating (to an
app that was no better than the original) was rarely justified. Now that
Microsoft support VB6 until at least 2025 while VB.Net is falling in
popularity (only 12% of .Net developers use Vb.Net now) it looks like those
staying with VB6 made the right decision.

~~~
WorldMaker
«Now that Microsoft support VB6 until at least 2025»

Microsoft only supports the VB6 _runtime_. The VB6 IDE and editing tools are
no longer supported. Building new projects or new builds of VB6 applications
is dangerous and unsupported.

«VB.Net is falling in popularity (only 12% of .Net developers»

So what? C# and F# are both good languages, and it makes sense if VB.NET is a
good stepping stone to one or the other. VB.NET isn't going anywhere, it's
also a good language for those that want to use it.

«those staying with VB6 made the right decision»

Hah. I'm not sure I agree with "right" from your analysis. Those who have
stuck with VB6 in spite of all that has happened in language design and
platform changes since VB6 was discontinued have certainly decided to be their
generation's COBOL programmers. Certainly there will be money to be made there
in ridiculous contracting fees for companies that don't know any better, and
that's a possible definition of "right decision", I suppose.

------
latenightcoding
VB6 was amazing as a first language. When I learned to code for the first time
I was an impatient kid and I just wanted to see my programs compile and run on
a nice GUI, vb6 gave me that and I wish it was still around for my younger
brother to learn how to code with it.

------
russnewcomer
I have a lot of fond memories of VB6, as I started using it for an internship
in college, when then I got hired full-time after graduation to keep up the
app, as the sole developer/IT professional at the company. VB6 had its flaws,
certainly, but as a 21 year old kid figuring out how to architect a software
system, get projects done, and get the system working on the existing Novell
Netware infrastructure, I didn't need to fight with C++ or deal with the
vagaries of Delphi. VB6 was a great tool, VB.NET became a different tool, and
I wish for the sake of not-really-programmers everywhere, VB7 had existed.

------
cm2187
I find it quite interesting that 90% of the comments here associate VB to VB6.
It's a bit like if 90% of the comments on the anniversary of python would be
about python 2 and how people missed it (or not)...

~~~
smacktoward
This is because a _huge_ community of VB developers built up during the
VB1-VB6 era, and then Microsoft blew that community to smithereens with the
language and licensing changes that accompanied the move to .NET. VB still
exists in the form of VB.NET, but in terms of popularity it never recovered
from the diaspora of VB6 users who abandoned the platform and never looked
back.

So today you have two groups with an interest in talking about VB: a huge
community of VB expats who moved on to other languages when the crack-up came,
and a relatively tiny community of VB.NET users who either stuck with the
platform or came to it later on.

~~~
cm2187
What changed in the licensing? .net is pretty permissive, and has been free
for a few years now (with the express editions).

~~~
smacktoward
They stopped selling licenses for Visual Basic 6 through most channels when
VB.NET launched in 2002. Not "warned that they were going to stop selling
licenses," just... _stopped._

So you had all these companies who had built up enormous codebases in older
versions of VB, the last of which had been released only four years earlier,
who suddenly couldn't buy the software all that code depended on anymore. Many
of which were huge enterprises that were used to being able to phase out old
software extremely slowly; so having the plug pulled on "classic" VB so
abruptly was kind of terrifying for them.

Microsoft's official response to these customers was "VB.NET is much better,
just use that." But you couldn't take a VB6 code base and run it under VB.NET
without at least some modification to bring it in line with the new syntax.
And VB.NET felt less like a version of VB than like C# with a coat of VB-
colored paint on it, so the developers who would have to make those
modifications faced the prospect of having to learn what was more or less a
whole new language in a big hurry.

Since demand for client-server software (which is what you used VB to write)
was in decline by then anyway, and apps that ran on the Web were the New
Hotness, lots of VB developers decided that if they were going to have to
learn a new language it may as well be one that let you deploy to the Web. So
they didn't bother with VB.NET and moved to platforms like C#, ASP.NET, PHP,
Python, Ruby, etc. instead, all of which had a better story for developing Web
applications than VB.NET did. (Disclosure: I was one of these.)

Of those developers that didn't flee, most simply did the easy thing, which
was to refuse to do anything; they just hung on to their existing VB6 licenses
and kept on churning out VB6 code like nothing had changed. All that old VB6
code meant that you could actually make a good living for a surprisingly long
time this way, just tending old legacy apps and keeping them running as well
as possible.

------
jenscow
I'm now old.

VB actually got me into Windows development - coming from C & DOS, at the time
the message pump was difficult for me to grasp.

For LOB apps, VB1-6 was the most productive language by far.

------
abdulhaq
VB 1.0 was a revolution, really. I went on to buy Delphi and Paradox. Delphi
was really something but the nod has to go to VB for the massive leap it took.
It's not just 25 years for VB, it's 25yrs for all those GUI developers who
grew up starting with VB. Now we're on Qt, JavaFX and React but as I write
this I can't help but think - VB is more productive than React ;-)

------
r3bl
I had the most amazing experience learning how to program in VB6. It is, to
this day, still the most amazing experience of creating desktop applications I
ever had. Partially because I had a really awesome high school professor at
that time, but still...

In my final year of high school, I decided on my own to try using the latest
.NET version of Visual Basic for my graduation project. It wasn't hard, it was
just a little bit more complicated and a bit disappointing experience when
compared to VB6. My project was working, but not perfectly. I felt like I
could ace it in VB6, but it felt way too outdated to be usable in the long run
(turns out I was right, Microsoft killed XP, my high school switched to Office
365 and Windows 7, therefore, my VB6 project would be unusable now by the
school administration).

I still feel the nostalgia whenever I think about how easy was to program in
that thing.

------
zaighumrajput
I work at an investment bank and I have daily contact with VB. It's awful and
I wish it had some modern features like try catch blocks, but to automate
simple tasks in Excel or Outlook it seems to be the only option.

Though powershell shows promise it doesn't run inside the Excel runtime and
its a pain convincing others to use it.

------
ern
I started work at the tail-end of the VB6 (legacy systems were maintained with
VB6, new work was done in .NET). We lost a lot of good people in the
transition.

Unfortunately, many modern developers (including me) avoid VB, in all its
incarnations, and there is a fair amount of technical snobbery in the dev
world (there always was-even in the VB6 world). The RAD tools currently on the
market demo well, but don't seem to lend themselves to more complex use-cases.
In the absence of good evidence to the contrary, draggy-droppy RAD is looked
down upon, in favor of markup based approaches, and inappropriate complexity
is worn as a badge of honor (gross generalization, but I think valid for a
substantial chunk of the business development world).

An Agile development process, coupled with a solid RAD platform should yield
interesting results.

------
ryanmarsh
VB was the Rails of its day.

It wasn't perfect but you could make really useful apps really fast and
(relatively speaking) they didn't look like shit.

I guess I should say it was the Rails + Bootstrap of its day.

I got a ton done with VB. It was a nice start to my career. I'm grateful for
it.

------
protomyth
I did a few programs in VB in the early 90's. It was pretty easy to buy
components and get data out of our database. It was also quite nice for
writing a program that generated lesson plans from a score on the LAP / E-LAP
assessments.

I admit I was amazed at the ability to buy VBX components to do so many
amazing things. It was really easy to plug them into your programs and get
stuff running.

I did cheat a bit and use a module that made the GUI of the programs I wrote
look like the NeXTSTEP screen I was using at the time.

------
mathattack
An INSANE amount of Wall Street software (that moves billions, if not
trillions of dollars of money) is build on Visual Basic.

------
bsharitt
While HTML was the first kind of code I ever wrote, I never felt like I was
doing much more than I was when I typed up something in Microsoft Works. It
wasn't until I used VB when I was 13 or 14 that it hit me that I could
actually make computers do what I wanted.

------
digi_owl
I think the major benefit of VB was that they put the UI stuff front and
center.

This in that you first placed the button, and then wrote the code "inside"
that button.

Most dev tools seems to treat the UI thing as something you do in a parallel
track to the code, or create via code.

------
shraken
ByVal and ByRef forever haunt me.

------
everydaypanos
I loved VB.NET especially LINQ :) The syntax kind of made more sense than C#
for me

------
tn13
VB6 was magic during those days. VB6 played a great role in making computers
useful to small businesses and widespread adoption of computers. It also
reduced the cost of software development.

------
forgotAgain
Still the same clueless Microsoft PR: picking at scaled over wounds. Well I
guess we're all just grandpappies so WGAF.

------
TazeTSchnitzel
I wonder if some day Microsoft will stop being stubborn, and make Visual Basic
7. A lot of people would be very happy.

~~~
barking
A lot of the people have moved on from vb and also as vb6 applications have
continued to work in every release of windows there is less panic about having
to upgrade. However, I have heard that windows 10 is not proving quite as
trouble-free as 7 and 8 were.

------
ak39
On Error Resume Next

That feature alone was the reason for its strength. And its danger.

------
whatnotests
IIRC Microsoft killed Visual Basic with the introduction of VB.Net back around
2000.

Why are they celebrating its birthday?

~~~
giancarlostoro
I honestly wished they would of somehow open sourced Visual Basic 6, it was
quite interesting being able to create software rapidly and easily that
couldn't be "decompiled" the way .NET / Java applications can be reversed back
from bytecode. Unlike Delphi / Pascal which are a bit harder to just pick up
and learn by comparison (try just giving a child Delphi, and then give them
VB6 and see which one they could work quicker in). I think VB.NET had not much
of a point with a language like C# around. Maybe they should of redone some
parts of Visual Basic .NET to make it more adaptable by all programmers.
Multi-line comments is one thing I wished it had.

~~~
jarcane
There is Gambas, which while not a clone in the way FreeBASIC is of
QuickBASIC, is at least intended to provide a similar experience.
[https://en.wikipedia.org/wiki/Gambas](https://en.wikipedia.org/wiki/Gambas)

------
farcical_tinpot
I look back on Visual Basic with a mixture of trepidation and fondness. If you
were a programmer who had experience of building well structured applications
in C++, Python etc. then you could get a lot of stuff done and built on
Windows. If you inherited a bad application, however....it was really bad. You
can't deny its importance to desktop applications though.

The switch to VB.Net was the first time that you couldn't simply take your
existing code and recompile it in a new version and carry on adding new
features. That's where VB.Net, and .Net in general, simply didn't take off.
Most people found out they simply didn't need or even want the complexity of
full object oriented development either.

What Microsoft should have done was built a rapid development environment on
top of .Net, distinct from programming in C#, that allowed you to take classic
VB code and simply recompile it. The switch to .Net has never really happened
for Microsoft and if anyone has been rewriting applications they are as web
applications or mobile apps - which Microsoft are not a part of. It will be
seen as a pivotal moment where Microsoft simply lost developers. You see it
now with pandering to bringing Bash to Windows, amongst other things. No one
cares about Windows development.

