Remarks by Steve Ballmer
Feb. 15, 2000
San Francisco, Calif.
MR. BALLMER: Thanks very much for the opportunity to come speak today.Steve works better, Jim, than Mr. Ballmer, I still think that’s my dad.
It’s a real honor for me to have a chance to be here with you today, and to have a chance not only to talk a little bit about where we are with Visual Basic, where we are in terms of interesting and exciting opportunities that we see for developers, but to speak very specifically to the leading edge group of the largest software developer community in the world, which is the Visual Basic community.And to have a chance to be here and just revel in some of the incredible success folks have had building applications with the tool set is very exciting for me. I’m sure you’ll agree by the end of the presentation, we remain hard core 100 percent committed to developers as the core audience for Microsoft.Developers have really been the key to all success that we’ve had with Windows, particularly our commitment to the VB community.
More applications get developed and produced and deployed in VB, and we have very exciting plans to help the developer community, and the VB community in particular, take advantage of not only the PC but the Internet.
And I want to start today by talking a little bit about where we all came together.Microsoft, of course, as a company, grew up in some senses on the back of the personal computer, and Visual Basic, if I could say this way, grew up as the penultimate tool for the developer targeting the personal computer.And, as excited as I’ll be about a lot of things, I don’t want anybody to think for even half a nanosecond that there’s not an exciting future in front of the PC.There will be new devices, there will be Internet connections, there will be new services that run server side.But the PC has been this amazing device that because of its local intelligence, because of its local storage, has allowed it to help both at work and in homes in an array of scenarios that nobody would really have dreamed possible even 15 years or so ago.
I think it’s very important for you to understand that we’re committed in our development tool set to continue to give you tools that help you with local applications that execute on the PC, applications that run partly on a PC and partly on a server, or Internet service, and applications that will run entirely on a service and perhaps even new devices, telephones, television sets that play and communicate in this world.But the backbone of the PC and its central importance — that’s not going to go away.And as we talk about innovation, we’ll talk about innovation that just makes VB a better VB for all of the kinds of things that people use it for today.
As we look to the next four or five years, we think that there will be an opportunity for transformation in the way that users gain access to information — perhaps as important as the transformation that occurred about 15 years ago, when the world moved to graphical user interface.The introduction of the Macintosh, and the introduction of Microsoft Windows, brought with it a whole new way of computing.It brought with it the notion of the graphical user interface, of multiple applications cooperating, of applications and users sharing data between applications.It brought with it the notion of virtualization, of hardware, those were all important phenomena that transformed the computing experience in a very dramatic way, and Windows was a quantum step forward from what preceded it, DOS, character mode, minicomputer type systems.
As we think about where we are today in terms of people taking advantage of the Internet, I think we can talk about this generation of browser essentially as about the equivalence of DOS. There will be this kind of quantum leap forward in the way people use the Internet over the next several years.There will be ushered in a next generation Internet user experience.That will be marked not only by the introduction of additional devices that take advantage of the Internet, but it will be marked by a whole new set of ways for programs to work together, for users to share data with one another and with programs, and basically, almost a whole new user interface model of the world.In this world, it should be easy for me to tell my travel agent Web site to make sure to update my calendar with my trip and to page my mother if my flight is going to be more than an hour late.
In this world, it should be very easy for me, the end user, to have a program that runs on my PC that tells my bank and my insurance company and my broker to all put their financial information about me in my virtual safety deposit box on the Web, and let me view my information under my control.If there’s a new user interface paradigm, a new paradigm for how Web sites get built and interact with one another.I could say Web site, I could say application, I could say program, because in the next five years there will be no difference between a program, a Web site, and an application.We’ll think about those three notions as all merging.And you’ll certainly see that in some of what we’ll show you in Visual Studio 7 later today.
So, there will be a new set of user paradigms, developer paradigms, application, integration and storage paradigms.Literally, quite a revolution to support this next generation user experience.XML is the core technology that is at the backbone of everything that’s going on, and that’s the way TCP/IP brought in the first generation of the Internet, and HTML really ushered in the browser generation of the Internet, so will XML usher in this next generation of Web services.And in this generation, as I say, programs, our Web sites, our applications, and every Web site will become programmable, and every software product of the past becomes a Web service of the future.
I think that the days and age of standalone software products will go away.We were even sort of speculating a little bit on email the other day of what the developer versions of the future should look like.How do we provide a richer online experience, even in something like Visual Studio to make it not just based in the pure premises, but also able to share important services, repository services, and other services that come out of central Web sites.So, XML will usher in this next generation of the programmable Web.
Today, we’re announcing a little step in that direction that we’ll make in March when we bring out what we call a Web Services Tool Kit for VB 6, VS 6.This will allow you to start the process of writing code that can live anywhere in the Internet, yet be invoked by any other program running someplace else in the Internet, on a client, on another server, some place else out in the Internet.And this Web services tool kit for VS 6 will be available starting in March, and it will be your first chance to really get in and dig in and play around a little bit with this concept of the programmable Web and Web services.
Windows 2000, which I would be terribly remiss not to mention in gory detail the week of its launch, but Windows 2000 is an important transition product from the world in which it was just the PC to this new world in which it’s the PC participating in this Internet user experience.Windows 2000 is quite simply the best-ever version of Windows.And, yes, we need to do some more work for next year to get it to be more compatible with today’s consumer applications, but I cannot imagine anybody who uses their PC for any business or productivity purpose not moving to Windows 2000 instantly for its reliability, for its manageability, and a variety of other things, I think it’s a simple proposition.
So, it represents the best of the PC generation.But it also provides the core facility to start preparing the operating system for this transition to the Internet user experience.It has built into it core services for the Web.It has an integrated high performance XML parser.It has a rich application server built around Windows DNA built into it.And it has built-in reliable message delivery, and the backbone of the way in which programs will work with other programs on the Web is this kind of XML message passing.
But Windows 2000 is also appropriate in the sense that from an operations perspective it really attacks the issues which I think have pained both at the client and at the server many of us who are trying to deploy applications.The reliability is improved, and with clustering, you can get an absolutely rock solid system at the server.From a deployment perspective, the work that we’ve done in the management infrastructure, the Active Directory, in IntelliMirror, in letting programs run side-by-side to avoid so-called “.dll hell” problems, we take a distinct step forward.
The security infrastructure, the performance infrastructure, and the scalability infrastructure is really, I think, quite amazing.With all of this done, with this real concrete instantiation in Windows 2000, we have the infrastructure that we need for Visual Studio 7 in our so-called Windows DNA 2000 architecture.There will be a lot more to come, but we have the platform that will allow Windows 2000 to play with much more facility in business-to-business scenarios where you want to exchange XML messages between programs, play more seamlessly in the issues which many of you face as you try to integrate Visual Basic applications in with other enterprise applications.As we start the process of supporting new form factors, television sets, pocket devices, cellular phones — Windows 2000 has the infrastructure to support these kinds of rich scenarios.And it all starts with the embedded Windows DNA technology.
Windows DNA, we refer to the architecture and a specific set of technologies that allows a three-tier application to be built, the client, a set of application logic, and the data tier.And the goal here is to move to support a variety of protocols, TCP/IP, HTTP, but also increasingly both the DAB and SOAP protocols for communications amongst the three layers, to build into Windows 2000 the application services.A new version of COM, new ASP services, the directory, the transaction services, the queuing services, are all built into Windows 2000.The connection and database access architecture for the third tier is built into Windows 2000.And we provide an architecture that lets you support at the presentation or client end either a very thin client with just a browser, or a rich client in which you’ll have code running on the client and on the server or on the Web site, and have those two things really be able to connect in the richest way.
People say to me, don’t you think over time, though, we’re just going to have dumb clients talking to rich servers?I don’t think that’s the model at all.If you look at the most sophisticated end user applications on the Web today, many of them actually call for a client download.There will be reasons why services want to talk to services, and clients will want to talk to services in a richer way than just presentation.And you’ll see that in a wide number of scenarios.And the target for Windows DNA 2000, the target for Visual Studio and Visual Basic 7 is to facilitate the development and deployment of that style application.
In conjunction with the release of Windows 2000, we’ll have a range of other pieces.Later this year we bring out the next version of Microsoft Exchange that leverages Windows 2000.We have a new version of our SQL Server product the middle of this year that I think. you’ll hear a little bit about this on our launch date, will blow people away in terms of the scalability that it provides.Tools to help you manage groups of Web servers that are built to this architecture.A new set of tools that help you with XML workflows in the form of our BizTalk server which will be out the end of this year.A new Commerce Server to help people doing business-to-consumer style Web sites.And, finally, Visual Studio 7 around the end of this year, which will provide a tools infrastructure that really lets you bring these things together in just an amazing way.
The scalability out of that platform, I think, will be unbelievable.Here are some numbers with today’s infrastructure, today’s Windows NT, today’s Visual Basic, and we’re showing you pages per second served versus number of concurrent users, the box on the top is $177,000 Compaq box running SQL 7 and VB code, and you can see the performance, for example, of a $340,000 Sun box running Oracle and a variety of application servers.Today we provide exceptional scalability for VB-based Web sites, and that only improves with Windows 2000, with SQL 2000, and of course with Visual Studio Version 7.
Our approach to scalability is really to focus on two different aspects, but really with a priority on the latter.The first is scale-up.We’re going to work to make sure you can get bigger and bigger and higher and higher performance PC servers running Windows 2000, 32 processors in a box, 64-bit processing, more memory, better clustering.Boxes like the Unisys ES-7000 box that have incredible individual scale.
But I think in the long run, the real answer to both scalability and availability isn’t just bigger hardware, it’s software scale.It’s making it easy to write applications that can actually live on a number of different boxes, can load balance, and it gives you sort of more continuous scalability and more built in reliability than you would get otherwise.And the Visual Studio 7 architecture squarely focuses itself on helping people build and manage these scale-out applications.
Build a Web site that has very big Web sites, lots of users, might have 200 inexpensive PC servers in it, but all nicely and easily managed centrally, and with better and more continuous scalability than you would get by buying one big, honking, expensive Sun box, or one big, expensive now NT box from somebody like Unisys.So, we’ll support both this sort of scale-up and scale-out approach.
As we look to the horizon beyond the next year-and-a-half or so, and we say, what do we need to do with Windows and the rest of our platform to address this opportunity in the Internet user experience, we actually think we will wind up changing many aspects of the system.We talk about our, showing we’re not very good marketing guys, NGWS, which stands for Next Generation Windows Services, but probably just is a code name for all the work we have to do.We talk about really revolutionary change to the user interface, a standard set of XML schema for a variety of the objects that we and you work with, a whole new file system that’s built form the ground up around storing XML objects and XML schema, and an extension of the Windows DNA programming approach to further facilitate many of the things we start with Visual Studio 7.
I think that Visual Studio adds the first major step after Windows 2000 down this path, because it really helps fully instantiates this next generation programming model.And we know we’re going to have to take these new technologies and we’re going to have to instantiate them not only on PCs and servers, we’re going to have to instantiate them on devices, low end devices, and we’re going to have to instantiate them for you to an increasing degree in the Internet cloud.I think one of the most exciting parts of the future of Visual Studio will be the notion of, well, I might have thought of it in the old days as VB controls.But, VB controls that are now hosted and run by third parties on your behalf out in the Internet.
We’ve already launched one such service; it’s called Passport.It’s a wallet and identification and authentication service that’s available to Web sites out on the Internet.And you call it as a service from within your Web site, and it does work on your behalf and returns that to you.It’s kind of like a control, in the sense that any third party over the course of the next year will be able to call it and use it as a service.And we will see more and more of this development, so that the kinds of people who are adding third party libraries in the past will add third party services to the array of things that you as VB programmers can use out on the Internet.We will certainly host a number of these services and build a number of these services ourselves.So in some senses our platform is now not only client and server, but we will actually run a Windows service, or I don’t know if we’ll call it NGWS service out on the Internet.
Okay.That’s the framework.Now, let’s really get to I think the meat of the matter.What does this next generation of Visual Studio, Visual Studio 7, which could be renamed by the time we ship it, who knows, but what does this next generation of Visual Studio really look like?It’s designed to help with the whole theme, the whole metamorphosis that I’ve been describing.And specifically its’ designed the help people build Web sites/PC style applications, based around COM Plus and XML.It will facilitate your not only building Web services, which others can use, it will also facilitate your building services or Web sites which use services that come from third party applications or Web sites.It’s designed to give you to the tools you need to quickly build these application tier logic, and take advantage of the services that are built into Windows 2000, and as I said, it’s just a better Visual Studio.
We tried to address many of the issues, the enterprise requirements, scalability, interop, manageability, improved programmer productivity that our customers have been asking for out of Visual Studio.Here’s a want ad somebody saw: 3.2 million expert Web developers, people who can build Web applications very fast, people who have proficiency to write the newest and greatest in Web applications and services, and people who are ready, and willing, and able to build large projects that deploy an enterprise or Internet scale, where would you find 3.2 million expert Web developers?Answer: every Visual Basic developer armed with Visual Studio 7, of course.And that’s why we’re here today.We want to make sure that the Visual Basic crowd is at the forefront of taking advantage of this metamorphosis that I’ve described.And that’s what Visual Studio 7 is all about.
The first thing in Visual Studio 7 that I want to sort of announce and give you a sneak peak on today is a new version of our ASP technologies, which we call ASP-plus, and a new forms technology, both of which are built in and available in Visual Studio 7.And the goal is quite simply to give you the ability to create VB forms, or VB-lite forms, and publish them to the Web.And so all of the knowledge and capability that you have on how to build form-style applications you can apply, you can apply in an Internet scenario, you can apply in a way where the user interface and the code is separate.We give you compiled code options, which are not available today in the ways most people build Web sites, and we give you a tool that will let you target absolutely any browser from any of the Visual Studio languages, including Visual Basic.And with that I’d like to invite Dave Mendlen from Microsoft, one of the Visual Basic product planners, to come up and give you a little bit of a sneak peak at some of the ASP-plus Web forms.
MR. MENDLEN: You know, with Web forms you can build broad reach Web applications that run on any browser, on any platform and on any device.You get the enhanced scalability and maintainability, enhanced over what you have today in ASP.And the best part is you already know how to build Web form applications, you just don’t know it yet.You know, a lot of people don’t know that Steve is a Visual Basic programmer, and he spends his weekends moonlighting.He makes most of his money doing that, actually.And the Web site we’re looking at here is a Web site for Metropolis Delivery.And I think he’s done a nice job here.
Metropolis Delivery is a package delivery company.So what you can see here is all the packages that are being delivered for Market Florist.We’re going to take this Web site that Steve’s built and extend it by adding a Web form.And the Web form will let a customer schedule a package pick up.So let’s show you how easy this is.I’m just dragging and dropping objects.This is a Web form, and I’m just going to simply drag and drop objects from the toolbox right onto the form.And this looks like an ActiveX control, but it’s not, it’s actually just pure HTML.I’ll drop a calendar and I’ll put a button down.Now, of course, in Visual Basic to get to the event handler you just double click and you’re brought to the full Visual Basic language.This is not script.And you can see that we separated the code from the user interface, this is going to make maintenance a lot easier.Today when you build an ASP application you’ve got HTML commingled with your script.So this is going to make maintenance significantly easier.
One of the biggest benefits of this is it’s compiled Visual Basic code that executes on the Web server, and that HTML is broad reach HTML that will run on any browser.So I’ve got a little snippet of code, and what this code does is it takes the current selected date out of the calendar, fires it off to a SQL Server database and creates the request.So let’s run the application, and VB will automatically compile my VB code, deploy it to my Web server, take my HTML page, put that up to my Web server, seamlessly for me.
MR. BALLMER: So it’s doing the deployment as well?
MR. MENDLEN: Yes, it’s doing the deployment and the compilation.So now let’s go schedule that pick up, and here is the page we just created.And this is just pure HTML, it will run on any browser, on any platform and any device.So I’ll just pick a date, and I actually want to pick this thing up immediately, so I’m just going to click on this button and fire that request.What we’ve just seen, you can build broad reach Web applications in Visual Basic.You get the scalability and the performance of compiled Visual Basic, the full language, running on the Web server.And the best part, you guys already know how to do it.
MR. BALLMER: That was my Web site, though, that you touched.
MR. MENDLEN: I know, I’ll put it back.
MR. BALLMER: I charge a lot of money for that.
MR. MENDLEN: I know you do.I’ll put it back.
MR. BALLMER: All right.Good.
Now, I think it is important to understand that what we’re trying to show you is just straightforward translation of the skills and understanding that you have, but to really bring that together with, essentially, the way Web applications get built today.Today, roughly 50 percent or so of all Web sites that do commerce are built around Windows NT.And something like 40 percent of those, I guess, are built on Visual Basic.Mostly VBScript, frankly, the way things have worked today.What we hope to do is be able to drive the productivity of people building Web sites up dramatically by letting you use the full tool set that you know, and deploy and run so conveniently from Windows 2000 Servers.
Let’s talk a little bit about what is this notion of Web services, how do you take any function that you’ve created in Visual Basic and let other Web sites have access to it across the Internet or Intranet, how do we package that up and make it easy for you?The underlying mechanism will be XML running around everywhere, but how do we make it so that this is sort of an easy transformation for you, particularly for libraries of functions you may already have built up.Now, I want to make sure the scenario here is really well-understood.So I’ll give you the case of supply chain management.You have businesses, maybe a manufacturer, a freight company, a distributor, a retailer, they all need to share information, back and forth.If the manufacturer and his suppliers are going to correctly decide how much inventory to build.I really want my Web site, if I’m the manufacturer, to be able to call functions that are on my distributor’s Web site, the freight company’s Web site, the retailer’s Web site, my supplier’s Web site.This is not hara-kiri pie in the sky stuff.It will happen in the consumer scenario, but in the business market it’s so easy to see how this will happen.
We’ve got to let you take your ability to create functions today, package those up for accessibility across the Web.We have to make that as easy to do, essentially, as grabbing a URL and plunking it into an application, and we’ve got to let Visual Studio do the work of really handling the XML.So Dave is going to give us a little bit of a demonstration of how Visual Studio 7 and Visual Basic 7 will attack some of these opportunities.
MR. MENDLEN: Thanks, Steve.
The benefits of Web services are really profound.What we’re talking about here is you as a VB developer building code that can be executed by other developers running on other platforms, programming in other languages.Moreover, you’ll be able to take the components that they build on their platforms, running in their programming languages, and make them part of your application, as well.And it’s actually relatively easy to do.And the best part, they already know how to do it.
MR. BALLMER: So show them what they already know how to do.
MR. MENDLEN: Let’s bring it up on the screen.
MR. BALLMER: It’s a tough job when you want to demonstrate to somebody something they already know how to do.But, we’ll do it anyway.
MR. MENDLEN: This is a tough demo.
MR. MENDLEN: So what you’re looking at is better VB code, it probably looks much like the VB code you guys have back at the office, and this function, basically you path in a tracking ID to this function, and it will return back the location of a package.And in order to make this a Web service, I’ve got to do a lot of code.Watch.I’ve just created a Web service; I’m done.It’s that easy.
I’m going to go ahead and compile this, and when I compile, Visual Basic will automatically compile this component, and it will publish it to my Web server.Secondarily, it will create that XML file that describes what this function does, the name of the function, and the parameters that need to get passed in.It will do all that automatically.It’s created those files, and it automatically puts them on the Web server.
So now that we’ve built this thing, let’s use it.
MR. BALLMER: Go ahead.
MR. MENDLEN: So, I’ve got another Web site that I’ve been working on, and this is the Market Florist Web site, and it’s an e-commerce Web site where you can, of course, go up and order flowers, very timely given that we’re a day after Valentine’s Day.
MR. BALLMER: Very timely.
MR. MENDLEN: I’m going to go ahead and log into Market Florist, and today customers can see their orders, but they don’t get
but I want to know exactly where my flowers are at a given time.Have they been delivered?If not, where are they?So, I’m able to take advantage of the Web service that we just built, and throwing it into this application and use it, and make it seem to the user of this Web site as though it’s a part of my application.
MR. BALLMER: So, for example, I’m a florist, and I want to be able to have a constant connection, if you will, with FTD represented on my Web site.So, I’m going to use code, or logic that FTD might run, for example, and but I’m going to expose it through functions and services on my Web site.
MR. MENDLEN: That’s right.So, we just created that Web service with the dim Web Public.Let me show you how easy it is to use the Web service.We’ve created one, let’s use one.
So, let’s go back to VB.What I’m going to do is add to that grid a column for our location or our status.So, now I’ve added a column called Status, and I need to write a little code to interact with my Web service, but I need to get access to that Web service in some easy way.And so, Visual Studio makes it really easy.All you need to do is select the Web service you want to use, and I’ve just pointed it at a Web server.
MR. BALLMER: So this is like a little Explorer that I point at a Web site, and it shows me which services I have access to out on that Web site.
MR. MENDLEN: That’s absolutely correct.So, Visual Basic is doing the work of finding the Web services that are exposed on a Web server, and now I can just simply add it to my project.And what happened, if you look at the project, over here I’ve added this file, component1.mml.It’s really an XML file, and that’s the XML file that VB created on my behalf when I compiled that Web service on the Metropolis Web site.
So, now that I’ve got this object, let’s wire it together with the grid, and interact with it.So, I’m going to go ahead and define a new interest of my XML file.So Visual Basic interrogates this XML file, and that XML file, of course, describes the functions that’s there, and it understands the parameters and the data types that are required.So, now, imagine if I had built that Web service in C++ on, say, a Linux box.
MR. BALLMER: Just say.
MR. MENDLEN: Of course, we recommend VB and Windows 2000, but there are some renegades out there that prefer C++.
MR. BALLMER: Just say.
MR. MENDLEN: Let’s just say.So that XML file is the same, regardless of whether we’re programming in Visual Basic or another programming language on another platform.And so the thing that I’m about to do, type in WS, I’ll get full IntelliSense and statement completion against that C++/Linux component.
I’ve actually got a code snippet already that takes each of the individual tracking IDs in that grid, passes it over to the Web service, and then returns in that grid the current location of all of the flowers.So, let’s go ahead and run the app, and test that.
MR. BALLMER: Okay.
MR. MENDLEN: Let me log in.
MR. MENDLEN: So, we have added the XML.I think it will probably work.Let’s try it again.We’ll add the column, and now we’ll go write the code.I already added mine.
MR. MENDLEN: So, what you’re seeing is a customized, unified, personalized view for a customer.Now, the customer that’s looking at this site doesn’t really understand that we’re getting this information from that Web service.All they know is that they’re getting more information.Ultimately this means they’re going to keep coming back to my site, again and again.
MR. BALLMER: So, I’m writing a Web site that can call arbitrary other Web sites, represent that information to me, and do it dynamically.I can script it, I can write code against it, I can decide what I want to do and then make it part of my own.
MR. MENDLEN: Absolutely.
MR. BALLMER: Not just some link or frame for them to paint into — under programmable control.
MR. MENDLEN: Yes, we’re programming this.We’re programming objects that exist on another machine, programs that are written by other developers on other platforms with other programming languages that we’re using in our applications, and vice versa.We can build components in Visual Basic that can be used by any developer on any platform.And, again, you already know how to do it, you just create a public function.
MR. BALLMER: Great.Thanks, Dave.
MR. MENDLEN: Thank you.
MR. BALLMER: There’s a lot more to Visual Studio 7 that will come out over the course of the next several months, but the last thing that we want to give you a little bit of a preview on today is some of the updates to the Visual Basic language.We’ve had a lot of feedback from a number of you over time that you want to see Visual Basic become a more object-oriented language, that you want to get better scalability by being able to build free-threaded applications in Visual Basic.You want complete inheritance.You want structured exception handling.You want type safety.Visual Studio 7, Visual Basic 7 delivers, and we’re going to let Dave show you that now.
MR. MENDLEN: What Steve has just outlined are revolutionary changes to the Visual Basic languages, advances that improve scalability with reuse and maintainability.And what this means is that you’ll be able to build applications that power the Internet.Before we get into the specifics of the language stuff, let’s take a look at a Windows application that I’ve built.Windows applications can also interact with Web services, so we show how you can use a Web service in a Web application, you can also use them in your Visual Basic Windows applications.
Now, the issue with Web service is that you never know how long it’s going to take for that process to occur.There may be a long running query or some calculation.
MR. BALLMER: Or just Internet latency.
MR. MENDLEN: Or just Internet latency, you just never know.But customers don’t like to wait, right, so we’re going to provide the ability for you, through free-threading to let multiple things occur at the same time.That’s what free-threading is all about, scalability and concurrent processing.
So, here, I’ve got an application that’s basically a call center application, and when I click on this “get status” button, I will automatically fire off a new thread that will call a Web service.That Web service will then return that information, and the whole time I’ll be able to continue to enter orders in Visual Basic.So, let’s go ahead and do that.Watch the yellow column as I work.
So, as you can see, free-threading right in the application.And what this means is the ability to continue processing when you’re working with Windows applications.Let’s show you how easy it is to add free-threading into the application that you built.
So this is what it looks like, new thread, thread start, it’s that easy.You can build free-threaded applications immediately in Visual Basic.
MR. MENDLEN: Now, we’ve just shown you using free-threading in a Windows application.This is obviously more important as you work in the middle tier, you need massive concurrency and massive scalability, this gives you that.Let’s take a look at maintainability, maintaining your applications.
I’ve got a function here called “get customer” and I’m using structured exception handling.You can see I’m using try/catch.And what this means to VB developers is, you never have to type another on error goto.
MR. MENDLEN: You can centralize your error handling in a single place.This is going to reduce the complexity and the size of your applications immensely.
Now, let’s talk about the big one.
MR. BALLMER: You’re not going to talk about inheritance.
MR. MENDLEN: I’m going to talk about inheritance.We finally have inheritance in the language.
MR. MENDLEN: So, I’ve got this base object, this thing called Class1, my customer object, and it’s got a function called “get customer,” that does some simple ADO.What I want to do is take this application further, and I’m going to create a new class, and you’re waiting for it, here we go.
MR. BALLMER: Good.
MR. MENDLEN: Inherits Class1.I’ve just inherited a base class, and now what I can do is extend this function.So I want to create a premier customer object.So, I’ll simply type in public function “get premier customer,” and in order to get access to the base object, I simply type in “mybase.getcustomer.”That’s inheritance, it’s code inheritance, it’s about reuse, it’s about reliability, using time tested code again and again.
MR. MENDLEN: That’s not enough.
MR. BALLMER: Good, he’s on a roll.
MR. MENDLEN: That’s not enough.Not only do we have code inheritance, we also have visual inheritance.This is a form that derived from a base form.The graphic that you see at the top, this little greyed out [one], and the buttons that you see across, the navigation buttons, they’re on another form.So, you can imagine when you’re building these Windows applications where you have hundreds of forms, you want to centralize the user interface and the navigation logic in a single place, right, so that when Market Florist gets acquired by FTD, it’s a very trivial process to replace the graphics and the navigation code in a single place and all the forms that inherit from this will ripple down.All those changes ripple down.And every application that uses that base form gets those benefits as well.Rippling change, you’re centralizing your code, you’re centralizing your user interface, incredible reuse.
So, what we have shown over the course of these three demonstrations, Web forms, building broad reach Web applications that will run on any browser, on any platform, on any device.Web services, you can build them in Visual Basic, and you can extend them, you can let other developers use them as part of their application regardless of the programming language that they have and the platform that they run on, and you can use those Web services that are all over the Web to build your applications more quickly.And you already know how to build Web forms and Web services.Finally, the advances we’ve made to the language, scalability, reusability, maintainability.
Those three things, Web forms, Web services and the language advancements mean that you’ll have all the tools that you need that you and the rest of the 3.2 million VB developers out there will need to build the applications that power the Internet.
Take us home, Steve.
MR. BALLMER: I’m getting so charged up listening to him I could barely break away.I think there’s three different places to look.You look at the things we’ve all been doing, and we’ll continue to do that have grown up around the PC, and I’ll talk about both Windows 2000 and Visual Basic 7.Windows 2000 addresses and helps improve our lives, Visual Basic 7 helps address and improve our programmer productivity.If you look at the things which are red-hot right now, building Web sites that are scalable, that are robust, that handle the kind of commerce scenarios that people are really focused in on.Windows 2000 and Visual Basic 7 give us tools that help improve our mutual ability to pay out on those scenarios.And as we look to the future, we look at what will be possible in this next generation Internet experience, where Web sites are programs and vice versa, where users expect a whole different kind of interaction between Web sites and their data, we think we give you the foundation tools in Windows 2000 and Visual Studio 7 to go attack that next generation opportunity, as well.
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.We think we’ve got exactly the right line up, and it will allow us to all go forward, and continue to do incredible things for the people we serve.I hope you agree with us that Visual Studio 7 is pretty exciting, and I certainly hope you enjoy the rest of VBITS.
Thanks very much.
(End of presentation.)