|
|
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.
|
|
|
|
|
|