Gotcha!: .NET Services


Microsoft has been rolling out elements of its .NET Framework software strategy, such as the Visual Studio .NET development suite and the ASP .NET Web programming environment, since 2000. But many organizations have yet to embrace the platform. For all of its benefits-such as allowing programs written in different languages to work together better, and helping Web applications draw on each other to create more complex Web services-.Net makes changes that take some getting used to.

View the PDF — Turn off pop-up blockers!

Problem: The Visual Basic .NET programming language is much more object-oriented than past versions of Visual Basic.

Resolution: Invest in training of developers. The idea behind object-oriented programming is to organize logic and data-access functions into discrete units, called classes, that are templates for software modules, or objects, that will be loaded into memory when a program runs. The programming syntax is similar to VB, but there are differences. For example, in VB .NET the “string” data type for holding a bit of text in memory is associated with a new string class. As a result, functions such as search-and-replace work differently and have different implications for memory usage.

“One ‘gotcha’ for me was that I didn’t fully understand object-oriented programming-I thought I did, but I was wrong,” says Josh Baltzell, a Web developer for Xerox and his own consulting firm, Ectropic Interactive. He adapted, but suggests he would have come up to speed quicker with the benefit of a week of boot-camp training in the new technology.

Problem: The ASP .NET Web programming environment is significantly different from previous generations of Active Server Pages.

Resolution: Give developers time to adjust. Where the old ASP Web-page generation technology mostly revolved around VBScript (a scripting language derived from Visual Basic) embedded in HTML pages, ASP .NET applications are driven by software written in full-fledged programming languages such as VB .NET and C#. Web developers who have mastered VBScript will find themselves having to learn their way around more sophisticated programming languages.

Problem: Failure to fully understand some .NET programming automation features can lead to performance problems.

Resolution: Make sure developers still follow good programming and software management practices. The .NET runtime environment, which manages program execution, automates the management of software memory. On balance, automatic memory management is likely to be a benefit, eliminating “memory leaks” that occur when programmers manually assign memory to objects but forget to release that memory when those objects are no longer needed. Accumulated memory leaks can lead to performance lags and software crashes. However, creating too many memory-hungry objects, or forgetting to delete objects when they are no longer needed, will also lead to performance degradation.

Problem: Developers say the tools Microsoft supplies to turn VB and Java software into .NET programs convert only a fraction of the code.

Resolution: Plan to manually rewrite at least some code. If the Microsoft conversion tools give you a head start, be grateful. But plan on doing some hands-on work. One test engineer, who works with software for the pharmaceutical industry, says his firm investigated using Microsoft’s tools to convert some Java software to C# but concluded it wouldn’t convert enough of the code to be of practical use. However, he reports fairly good success converting a desktop Java application into J#, Microsoft’s Java-like language for the .NET platform.