Visual Studio's (Dot) Net WorthNot just a new version; a new visionby Nelson King
In this Issue: Following a lengthy testing period, an enormous amount of hype, and its release in February, Microsoft Visual Studio .Net is no longer an unknown quantity. Still, it's such a massive product with so many implications for enterprise software development that it's difficult to judge. Now seems like a good time to step back a moment and review it from experience and a bit of distance. Because of the amount of material to cover and the impact of Visual Studio .Net, this review will come in two parts. This first part will review the high-level, architectural aspects; the second part, in the next issue, will cover details of the integrated development environment (IDE), the languages, and the other tools packaged in Visual Studio .Net Enterprise Architect Edition.
Previous versions of Visual Studio combined several independent programming languages in a package with some common elements. Visual Studio .Net provides a framework of common elements upon which several languages depend. For object-oriented programmers the change is obvious: Regardless of your choice of programming language and supporting tools, the result is a program compiled into a common object code that draws from the massive class library of the .Net Framework. Visual Studio .Net is also more Internet-centric than previous versions, with a great deal of attention given to Web services, XML, and distributed applications. As Microsoft promised, this Visual Studio has undergone a sea change, and programmers are still trying to come to a full understanding of what that means. One thing can be said: Visual Studio .Net works. With it you can produce applications and Web services that cover a gamut of features and that can scale. What developers don't know yet are the limits of those features and scalability. Visual Studio .Net can do many things well, for example dynamic Web pages and distributed applications. That is, it does them more easily and reliably. Of course, the key question is: Compared to what? Compared to older versions of Visual Studio? Compared to Java? Or more mysteriously, compared to where Visual Studio is headed into what appears to be a new world of Web services? However, before I jump off to review the newest aspects of Visual Studio .Net, let me emphasize that Visual Studio remains a suite of general-purpose tools for developing software client/server applications, stand-alone Windows applications, even low-level programs, as well as Web services and Web applications. Visual Studio can still do what it did in previous incarnations, but Microsoft has shifted the focus, a lot. The Architectural FellowshipIn a sort of collegiate approach to languages, Visual Studio .Net includes Visual Basic .Net (VB.Net), C# ("C-sharp"), C++, and J# ("J-sharp"). C# is a new language. J# is a bridge from or replacement for Microsoft's version of Java (J++). VB.Net is so changed as to almost constitute a new language. For the most part, the Visual Studio languages all use the revamped IDE and build program components and user interface elements using one or more of three formats: Windows Forms (the basic Windows window), Web forms (Web pages enabled by ASP.Net), and Web services. All the languages rely on the .Net Framework Classes the huge library of some 6,500 classes that provide the native features available to Visual Studio programming. Regardless of language, all code in Visual Studio .Net is run through a compiler that produces the Common Language Runtime (CLR) object code. The CLR also provides for memory management (such as garbage collection), debugging, management of common data types, and the just-in-time compilers that produce binary code for specific platforms. You can summarize the Visual Studio package in one paragraph, as I just did, and miss some very important implications. You can choose your language; pick your choice of target environment (LAN, intranet, Internet, PC, or mobile device); even take your choice of platform (Unix, Linux, or Windows) and Visual Studio .Net should be able to deliver the code. I say should because it can't do all this yet. The Wide World of .NetFrom the enterprise point of view, much of what will make Visual Studio .Net and the whole .Net concept viable (or desirable) is still to come. Visual Studio .Net is the programming component of the .Net Framework, the developer's tool, and in many ways it's a version one-oh. It needs fixes and enhancements; for example, enterprise development may need support of other languages and effective compilers for non-Windows platforms. It also needs the support of other announced elements of the .Net Framework. I'm thinking most specifically of servers: .Net Server (the server version of Windows XP) due later this year; the just-released Commerce Server 2002; a .Net Biz Talk Server (the .Net SDK has been released), the Host Integration Server, Exchange Server, and the SQL Server 2003 currently in beta testing. The current and eventual integration of these servers with the .Net Framework is crucial. I've had a taste of what it means by working with Commerce Server 2002, which (finally) makes the most intimate routines of the Pipeline Manager accessible through .Net Framework classes. In time, access through the tools in Visual Studio .Net should make it possible to stitch together many kinds of server functions (for example, database and business rules) without hiring an army of specialists.
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
|
|











