Home > Guides > Programming > .NET and Windows Programming

Toggle Open Guide Table of ContentsGuide Contents

Close Table of ContentsGuide Contents

Close Table of Contents

.NET Compliant Languages

Last updated Aug 8, 2003.

.NET-Compliant Languages

The Microsoft .NET Framework is an important component for developing, deploying, and running the next generation of Windows, web, and mobile applications and XML web services. One of the essential features of .NET is the capability of programming in multiple languages. Microsoft programming languages such as Visual Basic .NET, Visual C#, Visual J#, and Visual C++ with Managed Extensions are part of Visual Studio .NET 2003; developers can create applications using any of these languages. Along with these .NET platform programming languages, however, developers can use many other programming languages from various vendors:

  • ASML for .NET

  • AVR for .NET

  • Dyalog APL for .NET

  • F# (pronounced F sharp)

  • NetCOBOL for .NET

  • Perl for .NET

  • Eiffel ENViSioN 1.2 for .NET

  • Python for .NET

  • Pascal for .NET

  • Mercury for .NET

  • Mondrian for .NET

  • Oberon for .NET

  • FORTRAN for .NET

  • SmallTalk for .NET

Why Multiple Languages?

There are a number of advantages to offering (and using) multiple languages:

  • Each programming language has its own strengths and unique features: One language may be good for developing games, another for mathematical calculations. The developer can select the language that best suits the application.

  • With the option of using multiple languages, large systems can be split into manageable subsystems early in the design phase.

  • The developer can choose a programming language according to his or her strength in that language, avoiding the necessity for retraining, and leveraging existing programming language skills.

  • Objects written on top of the .NET Framework can work with each other regardless of the underlying programming language. In large real-time applications, developers can use different languages but eventually integrate those components into one application.

Cross-Language Compatibility

Language interoperability is the capacity of two sets of code to interact despite using different programming languages. Regardless of the language, .NET-compliant source code is converted into intermediate language (IL) code by the respective compiler, and then the IL code is converted into native code using the just-in-time (JIT) compiler at runtime. For example, if C# source code is compiled by the C# compiler, it emits only IL instructions and metadata. Because all the code on .NET ultimately is converted to IL, components written in one language can be used with those written in another language.

The following sections briefly discuss the Microsoft .NET-compliant languages.

Visual C# .NET

C# (pronounced C sharp) is a programming language with which you can build a wide range of applications that run on the .NET Framework. C# is a simple, type-safe, event-driven, component-oriented, object-oriented programming language with inherent support for encapsulation, inheritance, polymorphism, interfaces, properties, indexes, delegates, and custom attributes. With Visual C#, developers can create Windows applications, class libraries, ASP.NET web applications, ASP.NET web services, console applications, Windows services, and so on.

Visual Basic .NET

Visual Basic .NET is a powerful, complete object-oriented language with features such as inheritance, interfaces, and overloading. It also wraps additional language features such as multithreading, explicit definition of interfaces, strong type-checking, and structured exception handling. Because Visual Basic .NET is built on top of the .NET Framework and integrated with the Common Language Runtime (CLR), it provides language interoperability (for example, a Visual Basic .NET class might be derived from a C# class or vice versa); garbage collection; enhanced security; versioning support; and performance. With Visual Basic .NET, developers can create Windows applications, class libraries, ASP.NET web applications, ASP.NET web services, console applications, Windows services, and so on.

Visual C++ .NET

Visual C++ .NET is the next generation of the Visual C++ language. Visual C++ introduces Managed Extensions for C++ (which helps developers create high-performance applications) and includes a number of tools for simplifying application development. Following are a few of the tools:

  • Active Template Library, a set of template-based C++ classes, simplifies the development of COM objects.

  • ATL Server Library, a set of native C++ classes, eases the creation of web applications, web services, and other server applications.

  • Microsoft Foundation Classes is a set of classes that eases Windows API application development.

Discussions

Copies of the array?
Posted Dec 23, 2008 03:40 PM by luige21
1 Replies
Hi
Posted Dec 5, 2008 05:10 AM by ajay2000bhushan
2 Replies
You have no clue.
Posted Jun 10, 2008 03:28 PM by theinternetmaster
1 Replies

Make a New Comment

You must log in in order to post a comment.

Related Resources

Jim Mischel"Highly unlikely" does not mean "impossible"
By Jim MischelJuly 18, 2009 No Comments

One of my programs crashed the other day in a very unexpected place.  A call to System.Threading.ConcurrentQueue.TryDequeue (from the Parallel Extensions to .NET) resulted in an OverflowException being thrown.  Investigation revealed a pretty serious bug in the System.Random constructor.

It's Here; Put Away Your Pre-Conceptions on What an OS Must Be: Part II
By John TraenkenschuhMay 24, 2009 No Comments

In the last blog in this series, Traenk relates his first experiences with computers and with coding.  But now, some years have passed. . .

It's Here; Put Away Your Pre-Conceptions on What an OS Must Be: Part I
By John TraenkenschuhMay 24, 2009 No Comments

Traenk relates his past experience with Operating Systems that goes back 25 years, ok, more than that but he ain't tellin'

See More Blogs

Informit Network