
Why I am called "the Father of Visual Basic" (1996) - adamnemecek
http://www.cooper.com/alan/father_of_vb.html
======
dpweb
Kids today probably don't realize, but for its purpose, VB pre dot net 2001
was really really good. Especially compared to the c plus plus alternative
available at the time, atl, and so forth. I know the criticisms of basic as a
language, technical snobbery, etc.. But for building stuff quickly, it worked.
And for an ide, was really snappy and fast. That deteriorated when the VM was
introduced, dot net.

You start a project, a form appears. You drop controls on it. You set their
properties. You code their event procedures. Press the play button. Compile.
Exe. Done. It was a great product in that it abstracted the messy stuff well,
and presented a programming environment that was intuitive and powerful.

~~~
dguaraglia
Not only that. Compilation was super fast, the debugger was pretty damn good,
creating OLE objects was a breeze (every class had the full machinery to
become an OLE object just by flipping a flag in the properties editor),
writing networking code was super simple (VB's built in events would take care
of the asynchronous nature of receiving data), installation builder... I could
go on. It was light years ahead of the closest competitors (Visual C++ and
Delphi.) People love to hate Visual Basic, but for its time it was
revolutionary.

~~~
m0zzie
I agree with most of what you've said, except for it being light years ahead
of Delphi. I used both tools extensively in both a hobbyist and professional
capacity from 1997 onward (VB 5, Delphi 3) and I couldn't say that one tool
was significantly ahead of the other. They were both hugely similar and
fantastic for rapid development. In fact I'd go so far as to say I preferred
Delphi as its database capabilities were better (at least, in my experience)
and I liked not having to package my software with a set of run-times.
Although the latter was more important to the hobbyist side of me.
Commercially, demanding a client had the required VB run-time files was no
problem.

~~~
dguaraglia
Delphi was a great tool! The database support was way ahead of VB, specially
support of MySQL and other third party databases. I guess I always preferred
C/C++ over Pascal for low-level stuff though, so even though I played around
with it for quite a bit, I never became too proficient.

I hoped C++ Builder would close that gap with Delphi, but then .NET took over
and the rest is (kind of) history.

What's fascinating to me is that some countries (Brazil, for one) still have a
very active Delphi community, while in a lot of places it was more or less
forgotten.

~~~
m0zzie
That's right, Brazil, Russia and China still have huge amounts of Delphi
developers. To a lesser extent so do South Africa and Australia.

Would you believe me if I told you I currently work in a software house whose
main suite of desktop products is still in Delphi? We've been using .NET since
the mid-2000s (before I started here) for a few of our products, and all new
development for desktop products in the past few years has been .NET, but the
company's bread and butter and highly successful products are Delphi
applications through and through.

It's still a capable development tool but the language is showing its age. I
very rarely have to touch it any more but when I do I always get mixed
emotions of "argh, Delphi sucks ass, I wish it had <insert any .NET language
feature here>", and "oh man I forgot how awesome Delphi was, I wish it was
this straightforward in .NET!" Comments such as the latter are few and far
between, these days.

~~~
dguaraglia
That's not surprising! Some really good enterprise and POS software got
developed in Delphi (and other desktop frameworks/IDEs) back in the day. In
Brazil a lot of businesses were starting to adopt POS, and having someone
building a billing program for you was all the rage. There's little incentive
to update such systems as long as they work. Not everything needs to be a
website! (shakes walking stick and shouts to kids to get off his lawn)

I remember hating .NET in the beginning. Performance was abysmal and anything
mildly low-level took a lot of work. I made some good money as a freelancer
writing COM libraries or C++ libraries with a thin C# wrapper so that they
could be used by companies that had bought into the whole .NET thing.

Then C# introduced generics, and it started breaking away from the
similarities to Java. Things improved and in time .NET became a very capable
runtime/framework. I'm actually excited to see Microsoft finally opening it
up. As much as I love Python, the cloud and all the fancy new stuff we have
nowadays, I occasionally long for the good old days when desktop software
reigned supreme.

OK, better go to sleep now. I'm starting to sound like an old fogy :)

------
sytelus
Take a computer user who hasn't written a single line of code ever. Fire up
VB6-, drop a button, double click, write MessageBox "Hello Word" and press the
play button. I have often got looks with amazement "Wow! Is creating
applications that easy? I can do that!". I know of no other development tool
or languages that demands same response from complete non-programmers. The
minute people see angle/curly/curvy brackets, there is just too much
explaining to do that would eventually end up in talking about how stack
works.

Many of us thrive on complexities and are wired to handle large hierarchies of
concepts that is required to make sense of things, but large majority
apparently wants things to be simple and VB of an excellent way for them to
experience the joy of programming. Professionally VB6- was however too
limiting and its purpose seemed to be mostly churning out CRUD data entry
screens faster than ever. So it's best used as introduction/launchpad in to
programming with clear plan to weaning off after you had enough fun.

~~~
TsomArp
Borland Delphi was capable of the same feat.

~~~
martinrame
(and the resulting executable is smaller and WAY FASTER then VB).

------
Stratoscope
We were all a lot younger when that photo was taken 25 years ago! :-)

Happy to answer any questions about the early days of VB. Gary and Frank and
Mark and I built most of the "visual" side of VB based on Alan's Tripod
prototype. It was called Ruby at the time (no relation to the programming
language) and was originally going to be a programmable shell for Windows 3.0
but turned into VB instead.

If you want something specific to blame me for, that would be the VBX
interface...

Here's an article with more of the story of how Microsoft turned Ruby into VB:

[http://www.forestmoon.com/birthofvb/birthofvb.html](http://www.forestmoon.com/birthofvb/birthofvb.html)

~~~
pfraze
Hi! I'll bite. Two questions for you.

VB and Hypercard get a lot of nostalgic love these days, and a lot of people
(including ITT) maintain there aren't any real successors to them.

What would you consider to be the standout merits to Ruby/VB that ought to be
reproduced now?

Second question, since plugins and dynamic extension are never out of style:
in the VBX interface, what did you think worked well, and what did you think
was a tremendous disaster?

Thanks!

~~~
Stratoscope
Ah, if you're looking for _insights_ , I may not have too many of those. It
was a long time ago! But let me see what I can remember.

The big thing about VB is the obvious one: it was really easy to get started
using it, and despite the flaws in the visual environment and the language
itself, it was good enough to get things done.

In fact, Basic was a lot better than the language we were originally going to
put in, which was barely more than a glorified batch language (and not even as
powerful as .bat).

The idea we had at the beginning was that you'd drag an arrow on the screen
from one component to another, signifying that an event triggered on the first
component would make an action happen on the other. This is where the phrase
"fire an event" came from: I was looking for a verb for this, and "trigger"
didn't sound right. I was frustrated and had a bunch of rubber bands on the
table, so I started firing them at the screen. That didn't help. So I fired up
a doobie, and between flicking the lighter and firing the rubber bands, "fire
an event" seemed like the phrase to use.

What worked well in VBX? Well again it was fairly simple to use and easy for
people to make extensions with. The big disaster was that it was pretty much
tied into the Win16 programming model, so when Windows moved to 32 bits, VBX
wasn't going to cut it and Microsoft developed OCX to replace it.

~~~
m0zzie
_So I fired up a doobie, and between flicking the lighter and firing the
rubber bands, "fire an event" seemed like the phrase to use._

There's something strangely surreal and downright awesome about reading this
comment from you, over 25 years later. Huge amounts of respect for what you
and the team achieved.

~~~
Stratoscope
Thank you! We always tried to have fun with the names.

Alas, my other favorite name didn't make it into the final product. VB
Controls were called Gizmos in Ruby, and VBX was the Gizmo Interface.

I don't know what happened there - I think Gizmo was just not a serious enough
name for the Microsoft of the day. But really, Control instead of Gizmo?
Boring!

------
jasim
\- A programming language with rudimentary OO

\- A complete IDE

\- A relational database with multi-user access and transactions

\- A visual form editor

\- Drag-and-droppable Components

\- A debugger that lets you mutate code and even the instruction pointer,
while running.

\- A compiler that generates distributable EXEs in a single click

\- All of this inside 2mb.

vb3.exe, released in 1993, 22 whole years ago. We're still playing catch up.

~~~
jawngee
And all of this existed in 1988 with NeXT Project Builder/Interface Builder.
Which was used to write the first web browser.

~~~
teh_klev
Sure, but you needed several thousand dollars ($10k?) own a NeXT box or by a
stroke of luck your college or university might have such a machine.

I'm sure there are many other great things that existed to do the same thing
but VB was the tool that brought this type of capability to the masses on
plain old PC hardware.

------
jacquesm
If you want to make the 'next big thing' then make a VB like environment for
the web. It's going to make you rich, famous and hated in pretty much equal
measures.

~~~
mooreds
See Stamplay: [https://stamplay.com/](https://stamplay.com/) which is taking
steps toward this.

~~~
nostrademons
There are about a zillion drag & drop web designer tools out there, all with
varying angles and subtly different markets. The ones I know of are:

[https://divshot.com/features](https://divshot.com/features)

[http://www.appgyver.com/composer](http://www.appgyver.com/composer)

[https://polymer-designer.appspot.com/](https://polymer-designer.appspot.com/)

[http://www.weebly.com/](http://www.weebly.com/)

[https://webflow.com/](https://webflow.com/)

[http://froont.com/](http://froont.com/)

[http://www.google.com/webdesigner/](http://www.google.com/webdesigner/)

[http://sparkle.cx/](http://sparkle.cx/)

There's also a bunch of desktop software that does this too - remember
FrontPage and DreamWeaver?

I thought about getting into this market but it is so crowded that it's
unlikely there'll be one clear winner. Instead, every designer seems to have
their favorite tool.

~~~
adamnemecek
All of the products you listed just help with design. None of them let you add
functionality using drag and drop.

~~~
nostrademons
They do, actually - all of the Polymer-based ones (the first three) let you
drop full web components onto the page and wire up bindings. It very much is
analogous to Visual Basic + COM.

~~~
adamnemecek
Fair enough.

------
mhomde
There's an interesting interview with Alan Cooper about the subject up on
Channel 9 (and a lot of other stuff, Alan pulls no punches :).

I did find it odd that "Ruby" (what became VB) was suppose to be the "shell
for windows " and allow user to "design their os". Maybe I misunderstood that
part because it sounds like a recipe for disaster :)

[http://channel9.msdn.com/Series/VisualStudioDocumentary/The-...](http://channel9.msdn.com/Series/VisualStudioDocumentary/The-
Visual-Studio-Documentary-Alan-Cooper-the-Father-of-Visual-Basic)

I give great kudos to Alan Cooper, his book "The Inmates are running the
asylum" was a paradigm shift for me. Once you've read it you have a little
Alan inside your head for the rest of your life, telling you how stupid,
impolite and lazy most software is. It's annoying but highly effective.

Really recommend it for anyone who hasn't read it. He's a bit rabid in his
aversion to developers designing, but if you can look past that it contains
many gems

------
wanda
I've been working with somebody else's .NET web application recently, written
entirely in VB.NET. It works just fine and VB hardly seems like a toy. An
interesting quirk I discovered, however, was that, with a VB.NET application,
you can add individual classes as namespaces in web.config

This basically allows you to import classes from App_Code globally--something
which my predecessor on the project had made significant use of. And it all
worked, despite the fact that it's not technically "allowed" and C# naturally
prevents you from doing it. I only noticed something was amiss when I tried
creating a simple Web Service and the app kept falling over.

------
brudgers
I came across Visual Basic when Access 1.0 hit Office Depot for $99. Of course
in the preWeb trying to learn VB on top of Database design in my spare time
wasn't all that successful. But I still remember my wonderment at the ease
with which the pieces went together. The drag and drop design paradigm for
interfaces is near ubiquitous.

Reading an article like this and hitting the comment link and anticipating
meeting one of the developers is, for me, what makes HN so amazing.

~~~
Spearchucker
Access 1.0 was the first piece of software I paid for out of my own pocket.
I'd been doing BASIC, VB, Pascal and Assembly for a few years then, so getting
into JET and Access was easy. And the ease blew my mind. Before Access there
was Borland Paradox, which was (if memory serves) the only database engine you
could call from VB. It was really brittle though, which made the ease of using
the JET engine all the more amazing.

~~~
nereye
Access's 1.0 code name was Cirrus, in the About box's easter egg you can see a
bolt of thunder coming from a cloud striking two ducks in a pond. A pair of
ducks...

------
dmacvicar
There is a project called Gambas
([http://gambas.sourceforge.net](http://gambas.sourceforge.net)) that has
tried to replicate what VB was. The project has been well maintained over the
years and the latest release was 14.03.2015.

It support designing GUI applications visually just like VB, but the
implementation of the runtime component exists for both Gtk and Qt. Same with
database access (MySQL, Postgres, Sqlite). There are other components too like
SDL.

The language is not 100% the VB language, but similar (with some modern
features).

Not very different to the Delphi side. The Lazarus project is active and last
update was also on March, 2015: [http://www.lazarus-
ide.org](http://www.lazarus-ide.org)

------
rshaban
"Last updated April 22, 1996."

------
djyde
I think Delphi most like Visual Basic.

