Search - Articles - Dev Forums - Favorites - Member Login  
DevASP.NET for ASP.NET, VB.NET, XML and C# (C-Sharp) Developers Friday, September 03, 2010

Dev Articles
Search Directory
ASP.NET
VB.Net
C-Sharp
SQL Server
 


An Interview with Billy Hollis and Rockford Lhotka, authors on Professional VB.NET.

Interview

Billy Hollis first learned BASIC over 25 years ago, and is co-author of the first book ever published on Visual Basic.NET, VB.NET Programming with the Public Beta, from Wrox Press. He is a frequent speaker at conferences, including Comdex and the Visual Basic Insiders Technical Summit (VBITS), often on the topics of software design and specification, object-based development in Visual Basic, and Microsoft.NET.

Billy is MSDN Regional Director of Developer Relations in Nashville, Tennessee for Microsoft, and has hosted Developer Days in Nashville for the last three years. He has his own consulting company in Nashville that focuses on training, consultation, and software development for the Microsoft.NET platform.

Rockford Lhotka is co-author of VB.NET Programming with the Public Beta, author of Professional Visual Basic 6 Distributed Objects and Visual Basic 6 Business Objects and is a columnist for Visual Basic Programmers Journal and MSDN Online. He speaks at several major conferences around the world. Rockford is the Principal Technology Evangelist for Magenic Technologies, one of the nation's premiere Microsoft Certified Solution Providers dedicated to solving today's most challenging business problems using 100% Microsoft tools and technology.

Q. How did you come to write on this Title?

Billy Hollis: After Rocky Lhotka and I finished “VB.NET Programming on the Public Beta” book, we understood that it would be obsolete in a fairly short period of time – say six months or so. It was natural to get us involved in writing this book since we already had a lot of exposure to VB.NET.

Rockford Lhotka: I have written or contributed to quite a few books with Wrox Press over the past few years. It was a great experience collaborating with Billy on “VB.NET Programming with the Public Beta”. It seemed natural to follow that up by contributing to the Professional VB.NET book.

There is a lot of talk about the relative merits of VB.NET and C#, why do you think developers should choose VB.NET over C#?

Billy Hollis: That’s an interesting question because the factors that we’ve used in the past to choose a language, namely performance, flexibility, and speed of development, are all about the same for every .NET language. So, I think the biggest factor left in what language to choose is where a programmer is coming from. If they already know VB, there’s no reason to learn C# - VB.NET will do virtually anything that C# will do. On the other hand, someone coming from C++ or Java probably should choose C#, because they will be more comfortable with it. Of course, if that’s the way decisions get made, VB.NET will do very well because there are something like 8 million users worldwide according to Microsoft.

Rockford Lhotka: I think developers should choose the tool that fits them best. As Billy said there is no dramatic difference in terms of performance or capability between VB.NET and C#, so it really comes down to preference, experience and the environment. Some people prefer C-style syntax, while some of us have never been fond of it. Computer science people have a propensity for foolish religious stands – this is an area where we really need to just get over it and move on.

People with substantial experience in VB are going to find it much easier to move into VB.NET than to switch to C#. People with substantial experience in C, C++, Java or other C-style languages will find it much easier to move into C#. Obviously there are about 3 times as many existing VB developers as there are C-style language developers, so VB.NET promises to continue to be a substantial language, and VB will probably continue to be the dominant programming language overall.

Q. What features of VB.NET do you think VB developers will particularly welcome?

Billy Hollis: Despite what some in the press have said, I think inheritance is useful and much appreciated. I think we’ll find lots of ways to use it, such as creating new visual controls via inheritance.

Next would be Web Forms. I detest writing Active Server Pages, and I suspect many VB developers feel the same way. So the ability to do web pages with drag-and-drop and code-behind is a great leap forward.

Web Services may take a while to catch on, but have the potential to change the application designs of VB systems tremendously.

The base classes in the .NET Framework should not be overlooked. They are the biggest library of pre-written functionality ever assembled. VB developers in general like to use stuff written by other developers, as long as it’s high quality. That’s why third party controls sold so well.

Rockford Lhotka: I think we really got our wishes answered with VB.NET. Unlike many people, I don’t think VB.NET is much harder to learn or use than VB6, and at the same time we’ve gained incredible power and capability for those developers who choose to tap into it.

We can create web applications in virtually the same way we’ve created Windows applications for a decade. Things that required guru-level expertise in VB6 are often now one or two lines of code in VB.NET – things such as monitoring a directory for file changes, or creating a Windows 2000 service are almost trivial now. For those of us who advocate object-oriented programming the world just opened up with inheritance and all the other new OO features.

Personally, I think VB.NET is awesome – it is the tool I’ve been waiting for, for several years and I love it!

There's a lot of excitement about Web Services and their role in the future of the Internet at the moment. How easy is it for a VB.NET developer to create a Web Service?

Billy Hollis: As I said above, I think Web Services will be important, though it will take time for them to catch on. That’s not because they are hard to create. To the contrary, they are easy as pie to create because they look just like a regular public function. But it will take time for developers to learn how best to design them into a system, and time for good ones to appear on the Internet to use. In addition, since Web Services can involve communication with other companies, it will take time for demand to appear.

I think it makes sense for a company to expose things like order status and product shipping information as Web Services right away, but it will be a while before customers and vendors learn how to use that information in their own systems. I think many of the first uses of Web Services will be primarily within single organization.

Rockford Lhotka: VB.NET makes creation of web services a truly trivial exercise. In fact, creating a web service is one of the easiest things you can do in VB.NET. Fortunately it is also easy to use web services in our applications – whether they be web applications or intelligent client applications. This level of simplicity will help spur interest in the use of web services, though I think it is of critical importance that people also realize that web services are not the replacement for DCOM, as that is the role of .NET Remoting.

However, the concept of SOAP and web services is going to do to our industry what ODBC did over a decade ago. ODBC leveled the playing field across all the database vendors, forcing them to compete on performance and features rather than on protocol lock-in. SOAP and web services do the same thing for objects and distributed applications, so vendors will have to create middle-tier servers that compete on performance and features rather than locking us into DCOM or RMI or IIOP. We’re in for a fun ride over the next few years, no doubt about it!

Q. Will VB.NET programmers be able to continue using components they wrote in VB6, or will they have to upgrade everything?

Billy Hollis: They can interoperate transparently with COM objects, so they can keep using what they have. While a migration path is available, it’s a fair amount of work to get VB6 code to work in VB.NET, so that should only be done if the code will be carried forward with a lot of changes into the future.

Rockford Lhotka: I’ve heard that there are more lines of VB code in the world than COBOL code today. I used to work for a company that supported PDP-11 software long after the PDP-11 was a ‘dead’ machine and customers were buying parts on the used market to keep them running.

There’s no doubt in my mind that we’ll be using, maintaining and possibly even creating VB6 code for many, many years to come – probably even decades. Fortunately since the .NET platform has good support for interoperability with COM, it is quite practical for .NET applications to interact with existing VB6 components without forcing those components to be rewritten into VB.NET.

Q. Do you think the .NET framework will change the way developers design and write applications?

Billy Hollis: You bet! In fact, I think that’s one of the two biggest challenges in moving to .NET. (The other is learning the .NET Framework classes.) With Web Services, we’re moving into an era in which applications may not reside within a single organization, as virtually all do today. That will be a big adjustment. Plus learning to use inheritance means additional architectural changes for VB developers.

Rockford Lhotka: I think one of the most overlooked features of VB.NET is the ability to invoke applications and/or components via URL. Once people start to explore and make use of this capability I think we’ll see a dramatic resurgence in the creation of intelligent client applications within organizations.

The majority of the pressure to use web technologies inside organizations over the past few years has come from the incredible difficulty and expense of deploying COM-based intelligent client applications. .NET tackles this issue head-on and virtually eliminates the complexity and thus the expense of deploying intelligent clients.

There has never been any doubt in my mind that eventually users will push to get the level of interactivity and control that they enjoyed in the heyday of PCs – between the days of mainframe terminals and today’s browser terminals. I think .NET provides us with the tools and technologies we need to create truly distributed applications that not only exploit the power of centralized servers, but also exploit the power of the machines sitting on user’s desks.

Q. What did you find most challenging writing on this book, and is there anything you are particularly proud of?

Billy Hollis: The chapter on controls was easily the most challenging one I wrote. The documentation on that is quite sketchy, so it was necessary to figure out a lot on my own. Also, I’m pretty happy with the examples that I came up with in that chapter. They have a “real-world” feel to them, but they are as simple as possible while illustrating the concepts.

Rockford Lhotka: The biggest challenge was writing the book against a moving target. Each incremental build of the beta changed something, and so it was a constant struggle to ensure everything was done the way it should be.

I am pretty pleased with my discussion about the Overrides and Shadows keywords. These are not trivial to explain, and I liked the result – but of course the true test is whether people reading the book get value out of it, so I hope they do.

Q. What are you up to at the moment, any exciting projects lined up for the next 6 months?

Billy Hollis: I’m involved in training all the presenters for Microsoft’s .NET Developer Tour, which happens this fall. I’ll also be giving several of those events myself. I’m also working on some .NET prototypes for a couple of local companies. And Rocky and I just began writing a regular column for MSDN called “Adventures in VB.NET”. I’ve been very busy this summer, and I think it’s just going to get more intense as more people get excited about .NET.

Rockford Lhotka: I am working on another collaborative book project with Billy Hollis for Wrox Press that is due out at the end of the year, and that is turning out to be a lot of fun. Not surprisingly it is another VB.NET book that should have a great deal of relevance to almost any existing professional developers.

I’ve also recently started a bi-monthly column in Visual Studio Magazine titled ‘Best Practices’, where I am discussing issues around design, architecture, design patterns and other higher-level best practices for developers.

As Billy said we are co-authoring an MSDN Online Voices column that debuted in August. We’re each writing a monthly column, so there’ll be something new to read every two weeks.

I’ve also been involved, to varying degrees, with the .NET projects that Magenic Technologies is doing for our clients. Magenic is a premier .NET organization, having been part of the .NET joint development and early adopter programs, as well as employing a number of authors and speakers who are working on .NET projects.

DevASP.Net - Disclaimer - Privacy
© 2002-2010 DevASP.net