In-Depth
Early .NET returns: So far, so good
- By Lana Gates
- August 1, 2002
After two years of buildup for its new development suite, Microsoft's Visual
Studio .NET hit the streets in February amid great fanfare. Promising simpler
multilanguage development and a learning curve of nearly zero, .NET was expected
to give Java a run for its money. Now that the dust has settled on its highly
publicized debut, we can evaluate a little more fairly and accurately whether or
not the development environment is all it is cracked up to be.
Visual Studio .NET lured developers into its fold by positioning itself as a
customizable open tools platform. It boasted improved development productivity;
improved cross-team, cross-community collaboration; and had the ability to
utilize hundreds of third-party resources. But is it living up to its
pre-release promises?
The indications are that Visual Studio .NET is a strong environment, as well
as an improvement over Visual Studio 6.0, ''which in many ways is still quite
strong compared to most Java environments,'' noted Thomas Murphy, senior program
director in Application Delivery Strategies at Meta Group Inc., Stamford, Conn.
Although Visual Studio .NET lacks the richness of object-oriented development
found in IBM's Eclipse/WebSphere Application Developer, Murphy believes it is
well suited for its audience, which consists of mostly Microsoft developers.
''This is one of the reasons that people tend to be more productive in Microsoft
than in Java,'' he added.
Developers I spoke with found the adoption of Visual Studio .NET to be fairly
easy, perhaps partly because they were already in the Microsoft fold. But like
most things, change can have its share of drawbacks. Nationwide Building Society
(NBS), a mortgage lender in Swindon, England, took part in beta testing Visual
Studio .NET and encountered the traditional shortcomings that play a role in the
beta process.
''The Visual Studio .NET user interface is largely a compound of familiar
Visual Basic and Visual C++ features,'' noted Dave Green, a software architect
at NBS. ''Some things are buried a little strangely -- for example, material off
the Properties window you get by right-clicking on a project in the Explorer
window -- but by and large there was no problem.'' American Electric Power
(AEP), a multinational energy company based in Tulsa, Okla., found the initial
adoption of Visual Studio .NET a little painful but ''looking back, the
transition was relatively easy,'' commented Joel Zinn, senior IT architect in
West IT Services. ''And the payback has been worth the pain many times over.''
What about Microsoft's promise of a learning curve of nearly zero? NBS found
that claim to be true. ''The Visual Basic .NET or C# learning curve is bigger,''
the company's Green asserted, ''but not major. The real learning curve with .NET
is the .NET Framework. That takes a while to learn your way around.''
The .NET Framework is the infrastructure for the overall .NET Platform, upon
which Visual Studio .NET was built. It combines common language runtime and
class libraries (including Windows Forms, ADO.NET and ASP.NET) to provide
services and solutions that can be easily integrated within and across a variety
of systems.
Developers at AEP contend that the learning curve for Visual Studio .NET will
vary widely depending on the base experience level of those making the
transition. As experienced ASP/Visual Basic programmers, AEP's developers found
that ''our learning curve consisted mainly of finding out how to do things
differently and getting used to the new syntax. We felt we were actually
productive almost immediately and within a couple of weeks, we felt very
comfortable in the new environment,'' Zinn said.
Typically, it takes a couple of weeks before a developer feels comfortable
using Visual Studio .NET. That is what it took for experienced developers at
Xerox Global Services, said Robert Gerardi, manager of Xerox office services
operations in Rochester, N.Y. For developers unfamiliar with Visual Studio
altogether, he noted, it took about three weeks before they were really
comfortable developing in .NET.
''My feeling is that you are looking at a three- to six-month time period to
be up to speed on .NET [which includes time to put something in production],''
Meta Group's Murphy acknowledged. ''If, instead, a developer was to jump from
Microsoft to Java at this juncture, they would be looking at six to 12 months.''
Visual Studio .NET vs. Java
And just how different is
Visual Studio .NET from Java? The .NET technology is much more integrated,
according to Xerox's Gerardi. AEP used Java previously, but the development team
decided a couple years ago to move away from it because it was difficult to
maintain and not very intuitive in its development, the firm's Zinn said.
''Plus,'' he added, ''it was extremely slow in execution.''
With the release of .NET, Microsoft drops its COM+ technology and moves
everything to Web services, which are not as rich and robust as Java's
distributed technologies and have not been put to the test. Regardless, Meta
Group's Murphy believes the stateless message-oriented paradigm of Web services
will yield a better success rate.
''In Web services, Java is a bit behind .NET in that .NET really integrates
the support into the framework,'' he said. ''With Java, there are frameworks to
work with XML but it is not a standard part of the language or the J2EE spec
yet,'' although it will be part of the J2EE 1.4 spec due in early 2003.
In an effort to ease the transition of Java-language developers to the world
of XML Web services, Microsoft created Visual J# .NET, which integrates with
Visual Studio .NET and the .NET Framework. Visual J# .NET includes technology
that allows users to migrate Java-language investments to the .NET Framework.
Existing applications developed with Visual J++ can also be modified to execute
on the .NET Framework, to interoperate with other .NET-based languages and
applications, and to incorporate new .NET functionality such as ASP.NET, ADO.NET
and Windows Forms.
In addition, for developers who want to move their existing applications to
the .NET Framework, Microsoft offers the Java Language Conversion Assistant tool
that automatically converts existing Java-language source code into C#.
Promises, promises
Visual Studio .NET is living up to
its promise of simpler development by offering fewer lines of code, richer APIs
and clean semantics. It also makes standard things, ''like building and
consuming Web services very easy to do,'' noted NBS's Green. ''It doesn't have
much impact on system design, which is much more affected by the .NET
Framework.''
The implementation of Visual Studio .NET made it easy for AEP to transition
to Visual Basic .NET, which is more object-oriented than ever, the company's
Zinn said. ''It led us in that direction [object-oriented programming] and
because of the intuitive nature of the IDE, helped move us to the OOP paradigm
very easily.''
What truly helps Visual Studio .NET simplify development is its strong user
interface foundation for both thick- and thin-client applications. ''In
addition, the ability to work in a managed code world [like Java] creates a huge
productivity boost for developers,'' Meta Group's Murphy said.
Because the product is still new and developers have not had a great deal of
time to deploy applications using it, the full extent of Visual Studio .NET's
scalability remains a mystery. Be that as it may, Xerox found .NET technology to
be very scalable because of features such as ViewState, Distributed Session
State, Compiled ASP.NET and SQL Managed Provider. AEP also found the product
very scalable mostly because of the nature of the implementation of OOP in both
Visual Basic .NET and Visual Studio .NET.
NBS had a different view on scalability, however. ''Our experience is that
this doesn't scale well beyond a few projects,'' explained the firm's Green.
''Compilation to start debugging then becomes intrusive, and the copying around
of versions has some counter-intuitive results. For our larger projects, we had
better results with command-line compilation and attaching Visual Studio .NET as
a debugger to a running process.''
Meta Group's Murphy pointed out that Visual Studio .NET is basically the same
architecture as Java. ''And the only real scalability issues are design
practices for creating apps that scale,'' he explained. ''There are apps in
testing now that have worked with very high loads without problems and basic Web
services apps with very high transaction figures.'' Time will be the judge of
how scalability plays out.
And what about those Web services? How advantageous is the inherent Web
services enablement users get with Visual Studio .NET? As with anything, that
depends on who you talk to.
''We feel Web services will be one of the most important shifts that will be
made over the next few years,'' AEP's Zinn said. ''Being able to share or allow
subscription of information not only with other environments in our
organization, but outside as well, will be critical to operating and competing
in the world of business.''
NBS found Visual Studio .NET's integration with the .NET Framework to be more
advantageous than Web services enablement. ''The .NET Framework is, for us, the
best single thing about .NET. And Visual Studio .NET is an effective means of
building applications that exploit that framework.''
As can be expected, Visual Studio .NET has not reached perfection in its
initial release. AEP would like to see a few coding changes. And NBS would have
liked a configuration management approach uprated from Visual SourceSafe with
support for the accurate management of multiple, parallel versions of a
component or Web service.
What Microsoft needs to concentrate on, according to Meta Group's Murphy, is
support for collaboration and seamless life-cycle integration. In addition, he
said, integrated development environments need to evolve to become development
portals that support different personalized views for say, analysts, developers,
architects, QA, production and so on. ''No one is good here yet,'' he said,
''but they are all getting closer.''
That is the important thing to remember about Visual Studio .NET. Although it
has room for improvement, it is a step in the right direction. As a result of
adopting .NET, Xerox Global Services has realized quicker time to market and
easier enterprise application integration using fewer resources. And AEP has
seen improved productivity.
''We feel we can be between 30% and 50% more productive now than we were with
Visual Studio 6.0, which was a great development environment in its day,'' AEP's
Zinn said. ''Using Visual Studio .NET will allow us to deliver quicker and
cheaper, and be more competitive than we have ever been before.''
Indeed, Visual Studio .NET is living up to the promises it made more than two
years ago. ''Visual Studio .NET is as good as advertised and has exceeded our
initial expectations,'' Xerox's Gerardi said. ''The development suite provides
simpler development, multilanguage development, increased productivity and a low
learning curve, among other things. Most developers who have adopted it are very
pleased.''
''With a change as major as this one, you can expect some glitches,'' AEP's
Zinn stated. ''But the ones we have encountered have all been pretty minor in
nature, such as certain desires and how a control reacts. The major items --
such as debugging, implementation of cross-language and cross-project tracing,
and the overall implementation of the various languages and project types -- has
all been outstanding.''
''I would have to say the .NET Framework itself is a quantum leap ahead of
anything on the Microsoft platform before it -- 98% perfect,'' NBS's Green
added. ''Visual Studio .NET clearly started later and hasn't had quite the same
degree of tuning. They've done a good job of picking up desirable features from
predecessor environments -- like Visual Interdev, Visual C++ and Visual Basic --
and dealing with things like cross-language issues, and the stability is fine.
They're still short, though, on things like Edit and Continue, which was in some
of the Betas. So Visual Studio .NET probably rates, say, 85%.''
However, Green was quick to add that ''none of our developers who have
experienced .NET wants to go back.''
See related story, ''.NET finds a home on the
range.''