Microsoft has introduced a new programming language, C# (pronounced "C sharp"), and reengineered three other languages to take advantage of the common language runtime and class libraries. Together they include:
In addition, a number of other companies have announced support for .NET Framework in their programming languages. Whatever language you use, the Microsoft .NET Framework provides a rich set of application programming interfaces (APIs) for the Microsoft Windows operating system and the Internet.
C# is a modern, object-oriented language that enables programmers to quickly build a wide range of applications. It provides tools and services that fully exploit both computing and communications.
Because of its innovative object-oriented design, C# is a great choice for architecting a wide range of components from high-level business objects down to system-level applications. Using straightforward C# language constructs, these components can be converted into XML Web services, allowing them to be invoked across the Internet, from any language running on any operating system.
More than anything else, C# is designed to bring rapid development to the C++ programmer without sacrificing the power and control that have been a hallmark of C and C++. Because of this heritage, C# has a high degree of compatibility with C and C++. Developers familiar with these languages can quickly become productive in C#.
In the new .NET architecture, Visual Basic has attained the stature of a first-class programming language. Visual Basic .NET allows full access to .NET Framework and provides language features like multithreading, event logging, and performance monitoring that were either impossible or extremely awkward in Visual Basic 6.0. Visual Basic programmers can now build a multithreaded queue processing service, explore advanced Web application techniques, and have full access to graphics.
Microsoft Visual Basic .NET is the next version of the Visual Basic development system, redesigned to enable uncomplicated development of next-generation XML Web services, while continuing its tradition of rapid application development for Microsoft Windows applications. Rather than simply adding some new features to Visual Basic 6.0, Microsoft has built Visual Basic .NET from the ground up on the .NET Framework. This enables you, as a Visual Basic developer, to take advantage of the enhancements in Visual Basic .NET to build enterprise-critical distributed n-tier systems.
With Visual Basic .NET, you now have access to a significantly richer and more powerful toolset than you had in previous versions of Visual Basic. Driven by strong customer demand, Visual Basic .NET delivers an extensive set of new features, including full object-oriented design capabilities, free-threading, and direct access to .NET Framework. In addition, the Visual Basic language has been streamlined, removing obsolete legacy keywords, improving type safety, and exposing the low-level constructs that advanced developers require. To deliver these features, several syntax changes and additions have been made to the language.
Visual Basic .NET now fully integrates with the other Microsoft Visual Studio .NET languages. You can develop application components in different programming languages, and your classes can now inherit from classes written in other languages. With the unified debugger, you can now debug multiple language applications, regardless of whether they are running locally or on remote computers.
Visual C++ .NET is a comprehensive tool set for creating Microsoft Windows-based and .NET-based applications, dynamic Web applications, and XML Web services, using the C++ development language. This robust development environment includes the Active Template Library (ATL) and Microsoft Foundation Class (MFC) libraries, advanced language extensions, and powerful integrated development environment (IDE) features that enable developers to edit and debug source code efficiently.
Visual C++ .NET provides developers with many professional-level features and enables them to create extremely powerful applications and components for Windows and the Web. From start to finish, the tool offers features that help streamline the process of C++ software development.
C++ is one of the world's most popular languages, and with Visual C++ .NET, developers benefit from a world-class C++ development tool. C++ is an interoperable, standards-based language, and C++ skills can be leveraged across multiple computing environments and communities.
JScript .NET is the next generation of the Microsoft implementation of ECMA 262 language. Combining the existing feature set of classic JScript with the best features of class-based languages, JScript .NET gives you the best of both worlds. Improvements in JScript .NET, which are being developed in conjunction with ECMAScript Edition 4, include true compiled code, typed and typeless variables, classes (with inheritance, function overloading, property accessors, and more), packages, cross-language support, and access to .NET Framework.
JScript .NET is a true object-oriented scripting language. Even though JScript .NET can now use classes, types, and other industrial strength language features for writing robust applications, it still keeps its scripting feel, with support for typeless programming, expanded functions and classes, dynamic code execution (using eval), and more.
In addition to being a typeless language, JScript .NET can now be a strongly typed language. New primitive data types have been added to provide more flexibility than before. In the past, JScript was loosely typed since there was only one data type exposed to users. The variety of primitive data types did not exist. As a result, you did not need to declare the data types of variables.
There are many advantages of strong typing in a programming language. In addition to the benefit of using a data type that properly fits the data you are using, there are several other benefits, including:
Finally, JScript .NET is not a slimmer version of another programming language, nor is it a simplification of anything. It is a solidly performing modern scripting language with a wide variety of applications.