CMP -- United Business Media

Intelligent Enterprise

Better Insight for Business Decisions

UBM
Intelligent Enterprise - Better Insight for Business Decisions
Part of the TechWeb Network
Intelligent Enterprise
search Intelligent Enterprise





July 26, 2002

Visual Studio's (Dot) Net Worth, Part 2

Not just a new version; a new vision

by Nelson King

In this Issue:

  • Visual Studio's (Dot) Net Worth, Part 2
  • Pipeline

    It comes as no surprise that Microsoft Visual Studio .Net is a massive and important software development environment. IT shops everywhere are still learning and evaluating Visual Studio .Net — even those that began using it in beta more than a year ago. In this second part of the Visual Studio .Net Enterprise Architect Edition review, I hope to support this evaluation by briefly pulling into focus some of the crucial elements and details of the development environment. (For Part 1, see "Visual Studio's (Dot) Net Worth," June 28, 2002.)

    Product Spec Sheet

    Visual Studio .Net

    Microsoft Corp.
    One Microsoft Way
    Redmond, WA 98052-6399
    800-426-9400
    www.microsoft.com

    PRICING: Professional Edition $1,079; Enterprise Developer Edition $1,799; Enterprise Architect Edition $2,499.

    MINIMUM REQUIREMENTS: Development — Windows XP, 2000, 98 or ME.

    Previous versions of Visual Studio were, at best, loosely integrated. Visual Studio .Net is a genuine integrated development environment (IDE), regardless of the choice of language or target application. It has an overarching structure (the .Net Framework, described in Part 1). It's thoroughly object oriented. It's relatively consistent in the look and feel of the tools. It shares an enormous amount of code and most of the development tools (designing, editing, and debugging, for example). This integration is no small achievement.

    Visual Studio .Net also represents Microsoft's attempt to influence (some would say dominate) the future of Web services and the general software development market. The company made an all-out effort to provide tools that make Web services practical for average programmers; at the same time, it didn't neglect features in the total package for server-side, Web application, mobile, and LAN development. To achieve the desired level of integration and consistency, Microsoft built much of Visual Studio .Net from scratch, using XML, the .Net Framework, and the .Net Framework Class Library as core elements. It contains some approaches familiar to the Java camp, but Visual Studio .Net is unique. It's also in many ways a "one-oh" version, which means there are rough edges to be fixed and features to be added, but this is a remarkably stable and competitive product.

    The Framework Class Library

    As an object-oriented system, the heart of Visual Studio .Net is the .Net Framework Class Library. Although it has its roots in the Microsoft Foundation Classes, COM/DCOM related routines, and various elements of the Windows API, this library is a reorganized, consolidated, and expanded class system. In some respects it's a treasure-trove of functionality, in other respects it's a vast haystack in which to look for needles. Though the library is well organized and there are several ways to get to it, familiarity will take time and effort — especially if Microsoft plans to modify or augment the classes. Mastery of any .Net language or the .Net approach itself will require considerable knowledge of the library, which in this version contains around 6,500 classes.

    The Languages

    Visual Studio .Net includes four languages: Visual C# .Net, which is a new language (although at least in part an amalgam of Java and C++); Visual J# .Net, a new and controversial approach to Java; Visual Basic (VB) .Net, which might as well be a new language; and Visual C++ .Net, which remains largely familiar although placed in a different framework (literally). All languages draw upon the common classes in the Class Library; conform to its use of data types (called the Common Type System); and follow object-oriented rules such as those for inheritance, namespaces (new in .Net but not new to Java), and interfaces.

    Because Visual Studio .Net forces VB .Net to be more rigorously object oriented than older versions of VB, a large percentage of VB code will need to be rewritten to fit in the .Net framework. Worse (or better, depending on how you look at it), VB programmers face a steep and unforgiving learning curve to a more disciplined — and frankly, Javalike — language. In fact, at the moment a consensus seems to be forming that most VB and C++ programmers should consider learning and using C#.

    If there's a "native" language in Visual Studio .Net, it's C#. It was created specifically to work within the .Net Framework and in many ways represents the crux of Microsoft's expertise with languages. It has many Javalike elements and also many C++ elements, but programmers will find that it has its own behavior and characteristics, most of them good.

    J# was a late addition to Visual Studio .Net and represents something of an olive branch to the Java camp, although many people in that group view it as quite something else. I view it as the first of many languages that are being adapted to fit the .Net environment. Microsoft claims that more than 20 languages are in the works, with many coming from third parties. Whatever the merits of the languages in Visual Studio .Net (too complex to argue here), the whole package represents a huge shift in coding practice with wide impact on existing code, programmer training, and even the organization of IT shops.

    The Visual Development Environment

    The visual environment of Visual Studio .Net has been likened to a Web portal. Not only does it access a flotilla of tool windows (13 by my count) but it also connects to numerous Web-based services such as Online Concierge and MSDN training courses. The online aspect could correctly be called a community of services as well as a propaganda gambit. In general, the Visual Studio .Net workspace can become very crowded, so plan on using the biggest monitor surface available.

    Microsoft has done impressive work in creating drag-and-drop programming tools for standard Windows applications (Windows Forms), Web applications (Web Forms), server-side applications (Server Explorer and Component Designer), and Web services. Although developers face a lot of adaptation, IT shops will find the integration of these tools cuts down learning time. This is especially true for the enterprise software development life cycle, where most Visual Studio .Net tools will work across languages, application targets, and eventually across platforms.

    For experienced users, the Visual Studio .Net development environment is highly configurable — with some difficulty. Overall, the user interface and support elements favor the novice programmer rather than the experienced professional. While this is a matter of degree and also subjective, IBM WebSphere Studio provides a good point of contrast as an environment that favors the experienced.

    The Editors

    There are programming editors that excel at nitty-gritty string and line manipulation and those that favor being helpful. The Visual Studio .Net Code Editor is of the latter kind. For example, it marks dubious code with a squiggly red underline (a la Microsoft Word spell checker). It does a remarkably good job, especially in checking the entire file to determine subtle syntax errors. The editor also sports IntelliSense with features such as Quick Info (hovering the mouse over a variable shows its declaration), Word Completion, and automatic brace matching. Some experienced coders find this kind of editing help to be a hindrance. If so, they can turn it off. Likewise, the XML editor uses color to help set up XML shell documents. It has a data view that places the XML elements in a grid, making it much easier to add data. It will also generate an XML schema from a document, although this feature is very slow and not always reliable.

    Cleaning Up ASP and Data Connections

    Previous versions of Visual Studio contained a kludge known as Visual InterDev that attempted to patch together HTML, Active Server Pages (ASP), and scripting. The new combination of ASP.Net and Web forms is a vast improvement. For example, instead of throwing HTML, ASP, and scripting into one humongous file, Web forms allow separation of HTML and support code into different files — and the files can be truly compiled. Consequently, as I found in testing, most dynamic Web pages were around 15 to 25 percent quicker to display.







  • IE Weekly Newsletter
    Subscribe to the newsletter
        Email Address