Visual Studio .NET provides application developers a powerful set of development and design tools. Along with the integrated development environment (IDE), Visual Studio ships with a number of other software applications to help developers with application design, testing, and monitoring in the .NET environment.
The core of the Visual Studio developer tools is, of course, the actual development environment. Microsoft has packed more features into this version of the IDE than any previous version. Not only does the environment provide a rich set of tools for editing multiple programming languages (such as Visual Basic, Visual C#, and Visual C++), it provides tools for other file types as well, such as XML and HTML.
On The Job | Although Microsoft provides compilers for four languages with its Visual Studio .NET product, only three of them can be edited and compiled within the graphical development environment—Visual Basic, Visual C#, and Visual C++. JScript .NET is created using a simple text editor (such as Windows Notepad) and compiled using a command-line compiler. |
Developers will find the integrated Microsoft Developer Network (MSDN) help useful because it is a comprehensive help system built right into the tool rather than a separate application, as it was in the past. And a number of advanced “smart features” such as IntelliSense will make developers more productive than ever.
On The Job | Visual Studio .NET runs on Windows NT 4.0, Windows XP, and Windows 2000 operating systems. It does not run on Windows 98, Windows ME, or Windows NT 4.0 Terminal Server. |
The screen shot in Figure 1-5 shows the Visual Studio .NET environment in action. This screen shows a project that contains a combination of Visual Basic .NET classes, an XML file, and a Visual Basic .NET COM component. As you can see, Microsoft’s IntelliSense is helping me remember the correct property and method names of the System.Windows.Forms.Label class. While these files are being edited, another Visual Studio tab contains MSDN help.
Figure 1-5: Code being edited within the Visual Studio environment
Microsoft Visual Studio .NET currently comes in the following four editions:
Professional The Visual Studio IDE, five .NET programming languages, and the .NET Framework classes
Academic The Professional Edition plus a few instructional features
Enterprise Developer The Professional Edition, plus SQL Server 2000, Visual SourceSafe, and enterprise templates
Enterprise Architect The Enterprise Developer Edition, plus Microsoft Visio’s database and UML modeling solutions
Additional .NET language compilers are available from either Microsoft or various third parties for the following programming languages:
A Programming Language (APL)
Visual C++, shipped with Visual Studio .NET
Visual C# (pronounced “C sharp”), shipped with Visual Studio .NET
COBOL
Component Pascal
Eiffel
Forth
Fortran
Haskell
JScript, shipped with Visual Studio .NET
Mercury
Mondrian
Oberon
Pascal
Perl
Python
Report Program Generator (RPG)
Scheme
S#
Standard Meta Language (Standard ML)
Visual Basic, shipped with Visual Studio .NET
These compilers produce code that is compatible with the .NET runtime environment. Using .NET’s multilanguage capability, developers can easily create applications that use one or more of those languages together.
I should mention at this point that, because of the .NET Framework classes and the limitations imposed by intermediate language (IL) assemblies, the syntax of .NET-compatible programming languages may be radically different from existing compilers. For instance, many people say that VB .NET bears very little resemblance to Visual Basic 6.0—it’s almost like learning a new programming language. This is something to keep in mind when estimating the amount of learning involved in moving to .NET.
Microsoft purchased Visio Corp. in September 1999. At the time, Visio was the leading enterprise-wide business diagramming and technical drawing software maker. Visio was the software that companies preferred to use when it came to creating organizational charts, drawing network diagrams, and developing graphical representations of how things worked. Visio was a convenient piece of software to have loaded on your machine because you could very easily and quickly put a small diagram together with boxes, lines, arrows, and other small icons. This matched very well the way people describe how things work using a whiteboard or the back of a cocktail napkin.
Over time, Visio has been enhanced to provide software design templates. Software designers can sit down and draw classes, identify relationships, design a database schema, and do other software design tasks. For instance, Visio 2000 included a set of Unified Modeling Language (UML) templates so that designers could create UML diagrams quickly and easily. Not all UML types were represented, but you could create some of the basic diagrams such as use cases and class diagrams.
The Enterprise Architect edition of Visual Studio .NET includes a product named Visio for Enterprise Architects. This tool contains all the features of Visio Professional 2002 and includes full-feature database and software modeling solutions. Visio has the ability to automatically reverse-engineer existing Visual Studio projects to generate UML class diagrams. It can also generate code skeletons for VB .NET, Visual C++, and Visual C# based on UML class diagrams. This means that when the software design phase is complete, code files in the development language of choice will be set up and ready to go. All you have to do is supply the business logic.
On the database side, Visio can automatically generate Structured Query Language (SQL) Data Description Language (DDL) scripts for the creation of databases based on an application’s conceptual and logical designs. Visio supports the Object Role Modeling (ORM) notation for database conceptual design. ORM is discussed at length in Chapter 5. Visio also is able to import and export files based on Computer Associate’s popular ERwin database-modeling tool.
Figure 1-6 shows a screen shot of Visio for Enterprise Architects.
Figure 1-6: Using Visio to create the conceptual and logical designs of an application
As with prior versions of Visual Studio, the .NET version ships with a number of other software components that aim to make life easier for developers. Of course, with such a rich editing environment, many of these tools are built right in to the main development interface.
For instance, Visual Studio .NET for Enterprise Architects ships with the following additional tools:
ISAPI Web Debug Tool
MFC-ATL Trace Tool
Spy++
Visual C++ Error Lookup
Visual C++ Remote Debugger
Many of these tools will only be useful for Visual C++ developers, because Visual C++ programs can be developed to run outside the .NET environment as unmanaged code. Visual Studio .NET contains a very capable debugger built right into it for developers to use on managed .NET applications.
What benefits does the CLR provide? | The ability to run applications on several different platforms and operating systems without recompiling |
What benefits does the .NET Framework provide? | A standardized set of functionality available across all .NET platforms |
What benefits does the .NET Compact Framework provide? | A standardized set of functionality available for mobile devices |
What benefits does Visual Studio .NET provide? | A single IDE for developing Visual Basic, Visual C#, Visual C++, XML, and XSL files |
What benefits does the MSIL provide? | The ability for code developed using different programming languages to interoperate seamlessly |