Live data from Hacker News

The Birth of Visual Basic (2006)

forestmoon.com

21–30 of 61 posts

Re: The Birth of Visual Basic (2006)

#21
post #9

It's an interesting story but it's told as a "person A did this, Person B did that, and Person C had this idea, etc." Maybe it's a consequence how my brain works but any time I read that type of recap, I forget everyone's name and the other trivia 5 minutes after I'm done reading it. When revisiting technology history, what tends to stick in my mind is the context and industry forces prevalent at the time and the sto…

I'm a corporate neckbeard. Probably the opposite of everyone here. And a lurker, so hello! I work for a company that ignored the industry trends, we picked a winner with "Petzold style" win32 as you put it. We have a 800kloc 20 year old codebase for a LOB product that hasn't had to be rewritten four times due to the abstraction of the hour being changed. No VB, MFC, no ATL, no Winforms, no C#, no WPF, no ASP, barely…

What's the learning curve like for a junior developer joining your company to work on this 800kloc product?

Re: The Birth of Visual Basic (2006)

#23

Earlier quoted context omitted.

I'm a corporate neckbeard. Probably the opposite of everyone here. And a lurker, so hello! I work for a company that ignored the industry trends, we picked a winner with "Petzold style" win32 as you put it. We have a 800kloc 20 year old codebase for a LOB product that hasn't had to be rewritten four times due to the abstraction of the hour being changed. No VB, MFC, no ATL, no Winforms, no C#, no WPF, no ASP, barely…

What's the learning curve like for a junior developer joining your company to work on this 800kloc product?

Well I was the last hire in 2004 and we don't have anyone junior in our 3 person team so I can't answer that really other than a ballpark figure.

A good win32 programmer with sector experience could probably jump straight in. Someone with no experience of win32 and the sector would probably be 6 months of work for them and us which isn't a problem.

We interviewed one guy in 2010 who was a "rockstar" win32 and C# programmer (apparently) who wanted a pile of cash and came well recommended. We dumped him on a machine with notepad and the windows SDK and documentation. No visual studio. He didn't even get a message box on the screen. We just paid the guy who was leaving a pile more cash and I suspect that was his ploy anyway.

That's our only problem!

Re: The Birth of Visual Basic (2006)

#24
This is the most complete and interesting account I've seen about the beginnings of VB from the Microsoft side. I don't know how I missed it until now, but I'm glad it was posted here.

Source and disclaimer: I'm the "Ruby development 'wizard'" mentioned in the article. Apparently I helped the VB team learn how to code for Windows! I didn't know that until now, but I'm glad I could help.

To amplify on a few points in the article...

The discussion of Custom Controls is right on. There was a myth that the reason Visual Basic was extensible through the VBX interface and custom controls is because Bill Gates insisted it. That's only partly true.

Bill's role wasn't in getting custom control support added to the product. It was to make sure that it wasn't dropped.

The support was always there. After all, when we coded the original set of controls, we needed some kind of interface for them, and it was obvious and planned all along that this interface would be open for others to build controls of their own.

Actually they weren't called "controls" originally. Alan was going to call them "waldos", named after these:

https://en.wikipedia.org/wiki/Remote_manipulator

I couldn't make sense out of that name, so I ended up calling them "gizmos" instead. And my little "Gizmo API" was what later became the VBX interface.

Scott also mentions the original "lines and arrows" Ruby interface, where you would drag an arrow to connect an event emitted by one object to an event target exposed by another object. He's right that this ended up not being a usable programming model for VB.

But recently I tried out Unreal Engine 4's Blueprints feature. It was very reminiscent of what we were doing back then! But of course the Unreal team put in all the additional work to actually make this a usable feature - we never took it that far.

Re: The Birth of Visual Basic (2006)

#25
post #9

It's an interesting story but it's told as a "person A did this, Person B did that, and Person C had this idea, etc." Maybe it's a consequence how my brain works but any time I read that type of recap, I forget everyone's name and the other trivia 5 minutes after I'm done reading it. When revisiting technology history, what tends to stick in my mind is the context and industry forces prevalent at the time and the sto…

> Visual Basic v1.0 hit that perfect sweet spot for a bunch of refugees from the DOS text mode 4GL languages to write Windows programs. They didn't have to learn the low-level C language or mess around for months with the Petzold book. Visual Basic had this ingenious abstraction called "forms" that hid the WndProc() monster and its messy switch case statements

VB also hit that sweet spot with me. I had no prior advanced programming experience (beyond silly "What is your name?" QBasic and VicBasic). It was a bridge to the OOP landscape we have today, it catered for zero-OOP (modules) but at the same time did actually have those OOP concepts that you could eventually transition to.

My nephew is much the same as me, he just "gets" computers and logic in general. I struggle to find a recent language that he can pick up and start having a rewarding experience, like I did with VB.

Re: The Birth of Visual Basic (2006)

#26
post #7

Interesting that the name Ruby was already claimed (like Go). I guess no one in Ruby On Rails thought to check.

"Ruby on Rails" isn't the Ruby programming language, they are two different things.

But no, Matz had nothing to worry about when he named his programming language Ruby. The Ruby that I worked on had long since become part of Visual Basic.

Re: The Birth of Visual Basic (2006)

#27
Visual BASIC 1.0 for DOS was the first one I learned. I was working for a community college and they had a BBS for Tradewars and other stuff. My supervisor and I tried to write a Tradewars game in Visual BASIC.

Later on we got the Windows version and it was fun writing Windows applications with it.

I got a job later on because I knew Visual BASIC and MS-Access 1.0 had just come out with Access BASIC that was like Visual BASIC and in 15 minutes I made a database in MS-Access to keep track of a record collection to get the job.

Visual BASIC really peaked at 6.0 after that Visual C# killed it, Visual BASIC.Net isn't as good as the Classic Visual BASIC.

I still work on VB 6.0 projects from time to time. I owned all Visual BASIC versions from 1.0 to 6.0 and I have the 2002 and 2003 etc versions on DVD that I barely used.

I find Python and Ruby to be replacements for Visual BASIC.

Re: The Birth of Visual Basic (2006)

#28
VB was about getting stuff done. Ugly, awkward, convoluted, nowhere near a real programming language. But, the things you could build. Fast. In no time, you had something that worked, installed anywhere, no approvals, no app-stores, no complicated deployments. Microsoft miserably failed to scale it to the web, and with some efforts - to mobile. They just drove developers away, and till today we do not have a similar tool for the semi-developers, the hobbyists, the lawyer who wants to make some app for his office.

Re: The Birth of Visual Basic (2006)

#29

This is the most complete and interesting account I've seen about the beginnings of VB from the Microsoft side. I don't know how I missed it until now, but I'm glad it was posted here. Source and disclaimer: I'm the "Ruby development 'wizard'" mentioned in the article. Apparently I helped the VB team learn how to code for Windows! I didn't know that until now, but I'm glad I could help. To amplify on a few points in…

>"lines and arrows" Ruby interface, where you would drag an arrow to connect an event emitted by one object to an event target exposed by another object. He's right that this ended up not being a usable programming model for VB.

Fascinating. It's interesting that the modern Qt Creator IDE (for C++) has something similar for its signals & slots mechanism. It has the ability to draw a line from the "signal" (event) of one control to the "slot" (event handler) of another.

I've seen several demos[1] highlight this operation but I don't know anybody that actually follows that procedure. They'd rather just type in the text editor: connect(src,SIGNAL,dst,SLOT);

[1]http://www.youtube.com/watch?v=JtyCM4BTbYo

Re: The Birth of Visual Basic (2006)

#30

Earlier quoted context omitted.

I'm a corporate neckbeard. Probably the opposite of everyone here. And a lurker, so hello! I work for a company that ignored the industry trends, we picked a winner with "Petzold style" win32 as you put it. We have a 800kloc 20 year old codebase for a LOB product that hasn't had to be rewritten four times due to the abstraction of the hour being changed. No VB, MFC, no ATL, no Winforms, no C#, no WPF, no ASP, barely…

What's the learning curve like for a junior developer joining your company to work on this 800kloc product?

10mloc product here, about 1 month for a university rookie.

Once you get over, I guess, 500kloc you start having teams with extremely distinct responsibilities (50kloc to 800kloc depending on the complexity of each team's responsibility). This means that you only need to care about your slice of the product. Knowing what's going on with the other systems makes you immensely more productive, but you can actually get places with just knowing your slice.

In terms of mastering the entire codebase? Most likely 6 years: that's about how long it took me.

It's a very strange place to say this, but working on a massive codebase (as opposed to a startup) gives you a very rewarding skillset. I would definitely recommend it if you are considering diving into a massive existing codebase. At the end of the day, the more you know [how to do]...

Post reply on HN