VB developers are eager to learn what .Net will mean for them. Who better to tell them, than a guy who's been digging...
deep to find out what changes are on the way.
Tom Barnaby is lead instructor at Intertech, Inc. in St. Paul, Minn. The company is a certified Microsoft Certified Solutions Provider and regularly delivers workshops to professional developers. He talked with SearchVB Assistant News Editor Eric B. Parizo about VB.Net and its impact on the developer community.
SearchVB: What exactly is a "Web Service"? And can Web Services be build directly with Visual Basic?
Barnaby: Yes, Web Service can be built directly with VB.Net. Now on a high level, a Web Service is simply a service that publishes its interface over the web, and is called via the Web. On a more granular level, some of the key technologies at work here are SOAP and XML. This is one of the areas where things are still in flux. They're still trying to nail down a few of the key specifications. Right now there's a quick and dirty demo version working and basically is a piece of cake to get doing, but it's limited to what types can get going and be used, and there's also a more robust version to use that's more difficult to get going but has fuller type support.
SearchVB: Will a knowledge of XML be necessary to create Web Services?
Barnaby: Will it be necessary to build your first one, to get up and going? No. Will it be necessary to do any real work and apply this, I'd say absolutely. The good news is XML is a lot more fun to look at than IDL. XML is not that difficult of a technology. It's all the other things that come along with it and that are being from it that makes the subject matter so gigantic. They're used to looking at HTML, they're used to looking at things with tags in them, so it wont' be that much of a leap.
SearchVB: There are conflicting reports of whether .NET actually replaces Windows COM (Component Object Model). Can you comment on this?
Barnaby: There is no COM in .NET. It's gone, replaced. Now the key thing to know though is that .NET and COM will play side by side for the next number of years due to the interoperability services, but eventually... everything is going to be melded into the common language run time. Initially, out of the box, there will be some COM-based services that we will only be able to access with COM, like transactions/MTS, but eventually it will all be brought under the common language run time. So COM is a legacy technology.
SearchVB: Can you briefly explain the purpose of the Common Language Run time (CLR)?
Barnaby: The common language run time is the heart and soul of .NET from a developers point of view. Because in there is the way we interact with the services, in there is where we find XML classes to just raw things like input/output. So you can kind of think of it as a highly structured of the windows API; now whereas with the Windows API, we basically had umpteen-thousands of functions to call without a whole lot of organization. With the common language rum time, we have the same functions, but it's all structured under the idea of namespaces. So it's much easier to find the things you need. If developers start to become more familiar With the CLR, rather than going against the Windows API that's when true operating system independent language can be developed. Right now, the CLR is relegating the OS to just another device driver.
I probably cannot stress how important that piece is. It's the key to OS independence. It's the key toward language independence because all the languages are calling the exact same services.
SearchVB: Will ASP (Active Server Pages) run unmodified or will changes have to be made when upgrading to ASP+?
Barnaby: My understanding is ASP will run under ASP+. However ASP+ is a far superior technology. Basically, you can use complied language like VB or C#, and they have they seem to have solved a whole lot of the issues web programmers have been dealing with like storing user sessions in Web farm environment, which in my experience has been a most pervasive Problem in building scalable Web-enabled applications.
SearchVB: .Net doesn't restrict developers to a particular language. What impact do you see that having on Visual Basic market share? Do you think this will drive users away from VB and toward C#?
Barnaby: My gut feeling is it is going to deplete the VB.Net market a bit, and the real reason is because C# will come up as another alternative for doing rapid application development. Development people will be attracted to it, especially individuals who started out with C++ and went to VB because they couldn't take the hassles of C++ anymore. C# has a nice middle feel to it, where I still get my curly brackets, and my semi-colons, and I don't have to worry about memory management to the same degree, or all the ugly COM business.
SearchVB: How do you think the developer community will respond to the .Net learning process?
Barnaby: I think it's going to be a slow process, to be honest. Probably as a community, VB developers are the most diverse, because you have developers who are formerly educated in computer science, who started out in languages like C++, and developers who have never gained any formal education in computer science and moved up from building office applications. With that type of diversity in the population and with this type of change coming, I see there's going to be probably a split. The people who have formal education will adopt these interface features quicker and ease into it, and it will take more time for the others to catch on. I think it's going to be up to that first tier to really do their best to educate the rest of the developers.
SearchVB: What's the coolest new feature in VB.Net?
Barnaby: I want to let readers know that if you look into implementing interfaces, you can now map a complexly different function. When you're implementing the interface, you can call that method whatever you like, and map it to the method in the interface. If I had a computer pay method, but in the class I'm implementing it I can call it 'pay me' or 'just do it', or whatever I like. It brings a whole new level to the idea of what polymorphism, and it's something you can't do in C#.
For more information on the differences between VB6 and VB.Net, what's new, what's different, and how you can prepare now, join us for a Live Expert Q&A on Friday October 6th at 3:00 PM EDT (19:00 GMT) with Tom Barnaby to discuss Previewing VB.Net. The focus will be on the changes specific to Visual Basic, but Tom will also take your .NET architecture questions.