The First Step Visual Studio.NET - Page 12
April 27, 2001
The first technology to be released in the .NET framework will be
the next generation of Visual Studio, which has been tagged
Visual Studio.NET. It will include Visual Basic, Visual C++, and
C# (the new language from Microsoft discussed below). Visual
FoxPro is included in beta one of Visual Studio.NET, but the
final status of this as a .NET language is not known at the time
of writing.
Microsoft has been hinting for several months about what's going
to be new in Visual Studio. Here are some of the confirmed
changes and new features, as of beta one keeping in mind
that things can change before release.
Common IDE for All Languages
Microsoft has gradually been melding the Integrated Development
Environment (IDE) for all their languages into one code base. In
Visual Studio 6, Visual Basic was the last major holdout. That
process is now complete, and the exact same IDE is to be used for
all languages in the Visual Studio.NET suite.
However, a potentially bigger change is that Microsoft has
completely opened up the IDE for other languages. Any third party
language vendor can license the technology to have the language
work within the .NET framework and place their language in the
Visual Studio IDE. At least twenty languages are under
consideration for such integration, including everything from
Eiffel to COBOL.
Fully supporting a third party language in the .NET Framework,
and thus Visual Studio, will require a lot of work. The vendor
must create a compiler for the language that produces
Intermediate Language bytecode instead of native machine code.
The language's data types must be rationalized with the ones
supported by the CLR. But the language vendor gets a lot in
exchange, including an advanced development environment, plus
debugging tools and complete cross-language integration.
Chapter 5 will look at the new Visual Studio IDE, and cover other
new features of Visual Studio in more depth and detail.
The Common Language Specification
Languages that fit into.NET must satisfy the Common Language
Specification (CLS), which sets the constraints the languages
must meet. If a language adheres to this spec, it gets an
appropriate level of language interoperability.
All .NET Languages Are Not Created Equal
There are actually three categories of compliance to the CLS that
.NET languages can subscribe to. Briefly they are:
- Compliant producer The components in the
language can be used by any other language.
- Consumer The language can reuse classes
produced in any other language. This basically means the ability
to instantiate classes in the way that, for example, scripting
languages can instantiate COM objects today.
- Extender Languages in this category can do more
than just instantiate classes they can also extend those
classes using the inheritance features of .NET.
All the confirmed languages in the Visual Studio suite (VB, VC++,
C#) are expected to satisfy all three categories of the CLS.
Third party languages can select the levels of compliance that
make sense for them.
Management of Multiple Language Projects
Since any number of languages can now be used in a project, the
Visual Studio IDE will now look at projects in terms of all the
modules being used, no matter what language they are in. The
project explorer (actually called the Solution Explorer) is the
same no matter what combination of languages is used.
Absence of Visual Interdev and J++
Visual Studio.NET does not have a separate piece identified as
Visual Interdev. In effect, the functions of Visual Interdev have
migrated into the IDE as a whole. There is an HTML editor, for
example, which works across the whole IDE, and the new Solution
Explorer bears a strong resemblance to the Resource Windowin
Interdev.
Also, Web Forms have basically taken the place of the drag-and-
drop visual designer in Interdev, and have the advantage of
working with any language.
J++ is gone for a different reason. Microsoft's continuing legal
troubles with Sun have frozen Java-related efforts at Microsoft.
The current J++ will be supported, but it cannot be enhanced and
placed in the new Visual Studio at this point. In a sense, C#
takes its place (more on that below), but it's possible that a
real Java implementation from a third party will be available at
or near Visual Studio.NET's release.
Chapter 5 covers more details on the changes and new features in
Visual Studio.NET. It analyses the new IDE, and includes example
screens to illustrate the changes.
XML as the .NET 'Meta-language' - Page 11
Introducing .NET
Summary of Language Changes - Page 13
|