Progress, far from consisting in change, depends on retentiveness. Those who cannot remember the past are condemned to repeat it.
George Santayana (1863–1952), U.S. philosopher, poet. Life of Reason, Reason in Common Sense, ch. 12 (1905-6).
Thus, just as applications are becoming increasingly programmable, programming languages are becoming generally more accessible. Soon we will have tools that make the creation of Windows applications easy and enjoyable.
Bill Gates, Chairman and CEO (Microsoft), "Gates on BASIC’s Future", BASICPro Magazine, February/March 1991
He got his programming start using Microsoft BASIC on the Apple II running CPM... When Microsoft BASIC was first released for the IBM PC, Mark was able to port his programs by changing only two lines of code in each module!
MVP Profile of Mark Novisoff, Microsoft MVP announcement, March 1993
Ours is an evolutionary approach, not a revolutionary approach that suddenly makes old software obsolete. We’re committed to making it as easy as possible to adapt current software, without losing anything in the process.
Tom Button, Group Product Manager for Applications Programmability Product Unit (Microsoft), "Debunking the Object Myth", BASICPro Magazine, May/June 1992
In September, I asked you how soon you’re planning to move to VB6. Your answer? As soon as possible.
Jeff Hadfield, Editor in Chief (VBPJ), Changes in VB6 and VBPJ, Editor's Note, VBPJ, October 1998.
Very important in the introduction of a new programming language standard is that old programs (at least those who obey the outgoing standard) can be used once again, with the new standard.
Fortran 90 for the Fortran 77 Programmer, APPENDIX 4, Backward and Forward compatibility
Recent studies list the number of VB developers at 6.1 million worldwide, making VB the most used programming language in the world. Used by corporate developers to implement mission critical applications and web development, usage of VB is projected to grow to 6.9 million users in 5 years.
Fawcette Technical Publications Press Release, VBPJ Celebrates its Ninth Anniversary, January 4, 2000.
Drop backward compatibility altogether. Do us a favor; haven’t you guys learned the lesson of DOS? Backward compatibility cost us so much money over the years. Break my code. Force me into getting rid of my old code if I want to add VB7 features into my product.
Bill Storage, VBPJ Author and Microsoft Visual Basic MVP (1996-2000), recalled in VBPJ
Do you guys realize what you’re telling us? I mean, we’re flabbergasted. We can’t believe what we’re hearing.
Yuval Neeman, Corporate Vice President/Developer Division (Microsoft), reaction in VBPJ
First, “we are breaking backward compatibility in VB.”
Federico Zoufaly, General Manager of Microsoft Technologies (ArtinSoft), summarizing Microsoft's "specification" for the migration wizard, Abandoning the Fantasy of VB Migration Wizardry, DevX Editorial
In order to move the Visual Basic language forward, it is necessary to introduce incompatibilities between the Visual Basic 7.0 language and previous versions of Visual Basic. Because of the potential impact of language incompatibilities on users, it is done so only when there is a clear justification.
Next Generation Windows Services docs, Guidelines for Language Changes, Beta 1, June 2000
The developer community is core to us. We need to make sure that all of you who bet on us so heavily, by applying your time and your energy to learn, to become productive in building VB applications, and building for Windows, we have to make sure that we don’t let you down. We give you the tools that will help you with what you were doing yesterday, today, and what’s going to be demanded of you tomorrow.
Steve Ballmer, Chief Executive Officer (Microsoft), at VBITS 2000, 15 February 2000
Inside Microsoft, the MSDN Magazine Camp has won the battle. The first big win was making Visual Basic.NET not backwards-compatible with VB 6.0. This was literally the first time in living memory that when you bought an upgrade to a Microsoft product, your old data (i.e. the code you had written in VB6) could not be imported perfectly and silently. It was the first time a Microsoft upgrade did not respect the work that users did using the previous version of a product.
Joel Spolsky, How Microsoft Lost the API War, Joel on Software, 13 June 2004
[Customers] were excited that we provided a tool for moving from Visual Basic 6 to Visual Basic.NET, but they were worried about the “knowledge upgrade.” Trained programmers with years of experience on earlier versions of the language might be confused. They want to be able to look at a single line of Visual Basic code and not have to ask whether it was created by VB 6 or VB.NET.
Ari Bixhorn, Product Manager for Visual Basic.NET (Microsoft), Microsoft Tweaks Visual Basic.NET, Software Development Times, 1 May 2001
If I wrote an app in VB 6.0, can it be moved? If it works, maybe I shouldn’t try.
Robert Green, Visual Studio Product Manager (Microsoft), "Developers cry foul over new Microsoft language", c|net, January 2001
I think Visual Basic .NET is not bad — it’s just different. In my opinion, it would have been far easier on everyone if they had just called it something else — anything else. Visual Fred would have been better. That way developers would know that it’s just another language.
About the only thing the two camps agree on: You’re unlikely to port applications of any complexity from VB6 to VB.NET, despite the promised migration tool. Even Microsoft acknowledges that the migration tool will simply mark a lot of code as “ToDo.”
James E. Fawcette, President and Founder (Fawcette Technical Publications), Running With Scissors.NET, VBPJ Guest Editorial, February 2001
There’s some really cool stuff in .NET. Of course, it’d be way cool if [Microsoft] decided to put VB in it, too.
Karl E. Peterson, VBPJ Contributing Editor and Editorial Advisory Board member, and Microsoft Visual Basic MVP (1994-), in VBPJ, February 2001, p.120
The problem isn’t that Microsoft can’t sell this version of VB to existing VB developers; it’s that it never seemed to realize it would need to. Microsoft appears to have thought that listing the new features would be explanation enough.
Patrick Meader, Editor in Chief (VBPJ), .NET Takes Shape, VBPJ Editor's Note, May 2001
The language is the container for code assets and those assets are considered to have high value. Faith in the safety of that container, and Trust in the vendor supplying it, are paramount.
Dan Barclay, Microsoft Visual Basic MVP (1993-2001), on Language Stability
.NET should enable all of this, the agility of development, the way that the components can fit together, the fact that it’s not rip and replace, the fact that it’s totally flexible in terms of what languages you’re using here, and so just like every new wave of programming development, our goal is pretty simple. We need to make literally tens of thousands of developers successful using this paradigm. That’s how our platform will thrive.
Bill Gates, Chairman of the Board and Chief Software Architect (Microsoft), Professional Developers Conference 2001, 23 October 2001
Nothing upsets [the VB dev team] more than when they see the negative things on the newsgroups and the negative people slamming their product. These guys just don’t sleep at night, they’re so bummed about it.
Dave Mendlen, Lead Product Manager for Visual Studio.NET (Microsoft), Love, VB Style, VBPJ, August 2001
If you’re familiar with Visual Basic but aren’t familiar with Visual Basic .NET, you may be wondering why we have written a book on upgrading. Surely Visual Basic .NET will open Visual Basic 6 projects as effortlessly as Visual Basic 6 opens Visual Basic 5 projects. “How different can Visual Basic .NET be?” you might ask. So before we start discussing the details of upgrading, let’s clear up any confusion: Visual Basic .NET, the latest version of Visual Basic, is not merely Visual Basic 6 with a few new features added on. Instead, Visual Basic has been thoroughly redesigned and restructured.
Ed Robinson, Visual Basic.Net Program Manager (Microsoft), Upgrading Microsoft Visual Basic 6.0 to Microsoft Visual Basic .NET, ISBN 0-7356-1587-X, 576 pages of upgrade details
Many developers will be working with both VB6 and VB.NET code bases. The ability for these developers to look at a single line of VB code and not think about whether that line represents VB6 vs. VB.NET semantics is a key element to making the knowledge upgrade to VB.NET.
Ari Bixhorn, Product Manager for Visual Basic.NET (Microsoft), MSNews Newsgroup Post, 6 April 2001
Visual C++ is unique among the .NET languages in that it supports the managed code model provided by the .NET Framework, as well as an unmanaged code model. By supporting both programming models, Visual C++ preserves and enhances your existing investment and provides the maximum possible choice for developers.
Microsoft Visual Studio.NET Reviewer’s Guide (p.58) and Product Overview for Visual C++ .NET
I can’t help but wonder at such a glaring double standard. Nor do I understand why VB developers can’t also preserve their existing investments and have the maximum possible choice. Why is it possible for VC++ enhancements to coexist with .NET, but not enhancements to VB6? A more cynical person might argue that Microsoft’s own developers use VC++ as their development tool of choice, so they are unlikely to make changes that would break their own code. Microsoft doesn’t make significant use of VB in its own products, so it has fewer qualms about tossing it overboard.
Rob Bovey, Microsoft Excel MVP (1995-), Don't Abandon "Classic" VB, VBPJ Guest Opinion, May 2001
It would have been nice if Microsoft had demonstrated its commitment to VB by making it as effortless to migrate “Classic” VB code to .NET as it did to migrate C++ code. The message seems clear: If your application is “mission-critical,” don't use VB.
Phil Weber, Microsoft Visual Basic MVP (1996-2004), blogging his latent disgust on philweber.net, January 14, 2003
For maintenance programmers, each incompatibility is yet another thing for the programmer to keep in mind and a source of errors. For library builders, differences require decisions about which language and dialect should be used for implementation and create a need for multiple interfaces (or a common interface using minimal features only) to support several languages and dialects. For tools builders, including compiler writers, each incompatible feature forces a special case in the implementation and often a compiler option for its control.
Bjarne Stroustrup, Designer and Original Implementer of C++, C and C++: A Case for Compatibility
However, as a Visual Basic guy, I also felt a bit grumpy about some of the changes to the Visual Basic .NET language. It wasn’t really the same thing, despite its name. The whole “true/false/-1/0” issue was a prime example. It’s one thing to make the break, but another thing entirely to make the break by shattering the original on the floor and slamming it with a hammer.
Joshua Trupin, Executive Editor (MSDN Magazine), MSDN Magazine has a Camp?, June 2004
We are providing tools in Visual Basic.NET that give developers the highest levels of flexibility in terms of upgrading and/or leveraging existing Visual Basic 6 applications. For developers who want to leverage the full power of Visual Basic.NET and the .NET Framework, we provide an Upgrade Tool that converts VB6 applications to Visual Basic.NET.
Ari Bixhorn, Product Manager for Visual Basic.NET (Microsoft), Visual Basic.NET Offers Developers New Levels of Power, Productivity, Scalability and Reliability, Microsoft PressPass, 19 January 2001
No matter how good [the migration wizard] is, I think it’s pretty clear that anyone who has thousands of lines of code invested in VB6 is probably not going to invest in porting. It simply isn’t worth it - pure cost, and probably no improved performance.
Daniel Appleman, Self-described "Former VB Guru", DevX Newsgroup Post, 17 October 2000
When you throw away code and start from scratch, you are throwing away all that knowledge. All those collected bug fixes. Years of programming work. You are throwing away your market leadership. You are giving a gift of two or three years to your competitors, and believe me, that is a long time in software years.
Joel Spolsky, Things You Should Never Do, Part I, Joel on Software, April 2000
Microsoft Visual FoxPro protects your investment in applications built with previous versions of FoxPro. In Visual FoxPro, you can run many applications that were written in earlier versions with little or no conversion. You can modify and enhance applications using the Visual FoxPro language, knowing that most extensions to the language do not affect backward compatibility.
When you’re a developer, it’s very important to connect to infrastructure and to people as well, and for developers it’s important to preserve their investments in existing code.
Eric Rudder, Senior Vice President/Developer and Platform Evangelism (Microsoft), .NET Briefing Day, 24 July 2002
We’re currently in the midst of a real-life experiment concerning code longevity and control. Microsoft has apparently decided that the lure of better languages and faster development is sufficient to attract and keep a profitable customer base even though the languages themselves may not be particularly stable. On the other hand, the open source community has decided that breaking changes may be made only by consensus of the programming community.
A. Russell Jones, Executive Editor (DevX), Backward Compatibility: How Long Is Long Enough?, DevX Editorial, 22 May 2002
I have a release build of Visual Studio.NET sitting on my desk. It’s been there for months. I don’t know if I will ever install it, but I can say with absolute certainty that I will never use Dot Net for serious development. You see, it would require rewriting from scratch nearly every piece of code that I’ve written for the past eight years. The problem is that by the time I have accumulated two or three years worth of Dot Net code, who is to say Dot Net will still be around? Perhaps I’ll write some Visual Fred code just in time to be forced to translate it into Visual George.
Ben Baird, Microsoft Visual Basic MVP (1997-2000), The Dot Net Dilemma, August 2002
Microsoft's ability to adapt and prosper hinges on meeting a third main challenge: creating trust. Even more than IBM in the 1980s, the firm must rebuild its reputation.
The Economist, The long shadow of Big Blue, 7 November 2002, pp. 63-64
This is sowing the seeds for breaking Microsoft’s monopoly, and for this reason alone we should move in .NET’s direction.
Alan Cooper, "Father of Visual Basic", Why We Don't Build Software for Users, VSM Interview, December 2002
It was incredibly ambitious and naive. As soon as you say you’re going to solve every problem, it’s a plan for failure.
Jim Allchin, Group Vice President/Platforms (Microsoft), on the precursor to .NET: Project 42, Microsoft's Big Bet, Business Week Online, October 2000
VB and VBA have become too important to Microsoft to be thought of as just a development tool. The future of Office—perhaps even the company—is riding on the decision about the future of VBA in Office.
Jonathan West, Microsoft Word MVP (1997-), Office and .NET: Better Together?, VSM Guest Opinion, August 2002
Just as developers who use Visual Basic have always been a fundamental component in the success of Windows, so too will they play a major role in influencing the adoption and success of Microsoft .NET.
Ari Bixhorn, Product Manager for Visual Basic.NET (Microsoft), Visual Basic .NET: 10 More RAD Years, MSDN News, May/June 2001
To prevent open standards and Linux from dethroning Microsoft in the way that the PC and Microsoft toppled IBM, the firm is trying to develop other strongholds. One attempt is the .NET platform and its related web-based information services, which have failed to take off so far.
The Economist, The long shadow of Big Blue, 7 November 2002, pp. 63-64
I know it's hard for all those Candidesque C# developers - who, by definition, do not have any legacy applications - to understand, but there are literally millions of VB programs out there today. More programs than all these C# coders are going to write for perhaps the next 10 to 20 years. And, gee, I know it's not a perfect solution, but wouldn't it be nice if these programs could be updated/upgraded/migrated to .NET without having to be re-engineered?
Keith Pleas, Industry Notable, Please save us from "professional" developers, blogged on 8 April 2003
It’s over. There’s nothing left for you here. Wake up. Go home. Your children are waiting.
Bruce McKinney, Noted Visual Basic Author, The End of
No, the transition to Visual Basic .NET 2002 was a one-time-only thing that allowed us to make the big leap from COM to .NET. If we’ve done things right with .NET, and I think we have, developers won’t have to experience that level of change again.
Paul Vick, Author of the Visual Basic .NET Language Specification, .NET Rock Star: Paul Vick, Ziff-Davis Interview, April 18, 2004
Once upon a time, Microsoft liked to boast that there were more lines of code written in Visual Basic than in Cobol. This boast highlighted both VB’s versatility and its broad appeal. I haven’t heard this boast recently from anyone at Microsoft. Microsoft is now more apt to cite studies and statistics that downplay classic VB’s overall reach and use.
Patrick Meader, Editor in Chief (VSM), VS.NET Needs a Novice Version, Editorial, June 2004
The dust has settled, and an uneasy peace lies across the land. Visual Basic .NET developers continue to struggle to remain loyal to VB. They know intellectually that VB is truly a first-class language in .NET — but somehow they still don’t quite believe it.
Dan Appleman, President (Desaware), Access the Power of VB.NET From C#, Getting Started, VSM, June 4, 2004
At the very least, Microsoft needs to find a way to convince customers that code written using Microsoft languages will not become obsolete as soon as Microsoft decides to market a new platform.
Jonathan Wood, Microsoft Visual Basic MVP (1994-), Microsoft MVPs Say They Want Old VB Back, eWeek, March 9, 2005
Customers are betting their livelihood on your software. If they don't trust you, it doesn’t matter what your technology is, though it’s a pretty fair bet that if you haven’t been talking with customers, what you build will not be a good fit for their needs.
Eric Gunnerson, Microsoft C# blogger, Make your customers the marketing department, blogs.msdn.com, May 9, 2005
In the 4 short years since we launched .NET, we have become the #1 trusted platform for customers to run their mission critical systems.
S. "Soma" Somasegar, Microsoft Corporate Vice President - Developer Division, A world of opportunities!, December 16, 2005
From a more philosophical (and personal) standpoint, there just seems to be something… I dunno, wrong about trying to standardize a variant of BASIC.
Paul Vick, Microsoft VB.NET blogger and author of the Visual Basic .NET Language Specification, Will VB ever be standardized?, December 30, 2005
We will not support Visual Studio .NET 2002 or Visual Studio .NET 2003 as development environments on Windows Vista.
S. "Soma" Somasegar, Microsoft Corporate Vice President - Developer Division, Visual Studio support for Vista, September 26, 2006
You need the new tools to take advantage of the new features.
Jay Roxe, Group Product Manager for Visual Studio, Vista won't support older Visual Studio versions, InfoWorld, September 26, 2006
If you haven't converted all your apps to .Net, shame on you.
Jeff Nuckolls, Microsoft Senior Technologist (Application Platform & Development), Visual Basic 6.0 IDE goes out of support, MSDN Blog, April 3, 2008, apparently said in jest while noting that the runtime would be supported for the life of Vista and Windows Server 2008.
I definitely hear your point that change needs to be gradual & incremental. It isn't cost effective to keep rewriting code to get back to functional equivalence.
Paul Yuknewicz, Program Manager for Visual Studio, Slow Chat with the MS Visual Basic Team, CodeGuru.com, August 8, 2008
VB6 is still the product to beat in performance.
Paul Yuknewicz, Program Manager for Visual Studio, What is Microsoft's Visual Basic 6 Support Strategy?, Channel 9, September 14, 2009
[.NET: It's About Trust!]