I have ran into the above phrase many times (especially during classic VB days) and I have been wondering what it really mean and where it originated from. Any ideas?


Nowadays it refers to a shift from VB6 to the managed world of VB.NET. A shift so dramatic that most VB6 programs have to be converted to VB.NET by hand.

In the VB6 days, I imagine that it referred to the shift from text-based languages like GWBASIC to visual, event-driven languages. Visual Basic came along at a time when it was pretty difficult to do the simplest things in a GUI; making a simple interface with C++ required pages of code.

The phrase itself is derived from an old car commercial: "This is not your father's Oldsmobile," an attempt to move the car company away from its stodgy old image.

  • An attempt, it should be noted, that apparently failed -- Oldsmobile is no more. Personally, I suspect that may be prophetic, and VB may suffer a similar fate. – Jerry Coffin Jul 13 '11 at 14:54
  • 3
    @Jerry To be fair, the name "Oldsmobile" doesn't exactly scream, "I'm new and improved!" – Maxpm Jul 13 '11 at 15:18
  • 3
    Yes and like Oldsmobile they are starting on the defensive with a phrase like that. – Jeremy Jul 13 '11 at 15:30
  • nah VB will live on. Every year they keep saying COBOL is dead.. – Darknight Jul 13 '11 at 15:47
  • Thanks. The oldsmobile bit was particularly interesting and the origin I was looking for. – Ben Jul 13 '11 at 16:31

"Not your father's X" is a riff on an old car ad campaign. GM was trying to rebrand Oldsmobile so they came up with the slogan "This is not your father's Oldsmobile". The existing customer base for Oldsmobiles were predominantly old men, and they were trying to reposition the brand towards younger people. The rebranding didn't work and Oldsmobile died in 2004.

If you listen to the youtube commercial, you may notice the phrase "step up to..." which is a throwback to yet another car branding concept. Traditionally, younger people would purchase the cheapest brand from a car company (Ford, from Ford Motor Co, or Chevrolet from General Motors). As they became wealthier, or more successful, they would "step up" to a more expensive brand in the same car company, for example, going from Chevrolet to Pontiac, then to Oldsmobile, then Buick, then Cadillac. Someone owning a Buick was wealthy. That sort of thing died out in the 70s, but the folks who worked for car companies (disclaimer - I used to work for GM) tended to think in older ways about the idea of branding. Today, the idea of "stepping up" is close to ludicrous, although some companies have created a "premium" brand to appeal to similar sentiments: Honda to Acura, or Toyota to Lexus.

  • Should I feel old if I once owned an Oldsmobile older than the one in the commercial? – GrandmasterB Jul 13 '11 at 17:31

As someone who worked with the various versions of "Classic VB" (versions 3-6), I must concur that the change over to VB.NET was indeed a paradigm shift - FOR THE BETTER! In addition to the managed .NET framework, it changed over to an actual Object Oriented language. While before, VB was a nice little interpreted language that you could do some little tricks to gain some "separation of concerns" (using .bas files, etc.), but it was by no means object oriented.

Now that it is a fully supported member of the .NET family, it is object oriented and can take advantage of all of the other .NET capabilities.

If you had other OO language experiences, then the switch over was not too bad. However, for some, it could be a bit difficult. But, in the long run, as I said, it was a change for the better.

  • I don't know about earlier versions but VB 4 on up was an object oriented language. The only thing missing was inheritance but you could still achieve polymorphism through interfaces. .bas files...really? – Jeremy Jul 13 '11 at 15:32
  • Two down votes - come on folks - let's get real! What are the tennents for true Object Orientation? Inheritance, Polymorphism, encapsulation. Missing inheritance is HUGE, and the way you got polymorphism from interfaces was a kludge at best (yes...I've done it). Can you REALLY call it object oriented? Even the "Programming Microsoft Visual Basic 6" book agrees that it is not an Object oriented language. This debate has been going on for years (and I had many years on VBx) and I suspect it will go on for more, but I stand by my statements. – Catchops Jul 13 '11 at 16:29
  • 1
    You can implement every single GOF pattern in VB. Another idea: I could say that .NET is not OOP because it does not support multiple inheritance. Or that Ruby is not OOP because it supports mix-ins. Such unnuanced and general statements are so useless that they may as well be considered wrong and I stand by my downvote :) – Jeremy Jul 13 '11 at 16:49
  • 5
    @Catchops I think the downvotes might be because you haven't answered the question. At all. – Matt Ellen Jul 13 '11 at 17:40
  • 1
    @Catchops Actually OOP isn't the end all be all. Missing inheritance is NOT HUGE. I can get by all day by means of typeclasses and, if I need it, existentially qualified types. – alternative Jul 13 '11 at 23:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.