| [ directory ] |
|
1.3 Multiple .NET programming languages and VS.NET.NET is about multiple programming languages. VS .NET, the new version after Visual Studio 6.0, is a good tool for writing .NET applications and components. VS .NET comes with a few programming languages that are supported by Microsoft: C# .NET, VB .NET, Visual C++ .NET, JScript .NET and the last (surprising) inclusion, J# .NET. [5] Other vendors and educational institutions are independently developing other languages, or adapting current ones, to target the .NET platform. At the time of writing, there are about 30 such languages ready or in the process of being developed. [6]
The idea is to have a huge heterogeneous base of .NET developers writing .NET codes in their preferred language. It doesn't matter if a module is written in C# or J#, or managed C++, they all behave similarly when running on the .NET runtime. This is very unlike Java's strategy. As shown in Table 1.1, Java insisted on having only one programming language (namely Java itself) and the ability for the codes to be run on multiple operating systems. .NET speaks about having the possibility of writing code in a theoretically infinite number of languages, but running them on a single operating system (Windows). [7],[8]
As far as Microsoft is concerned, the ability to write .NET code on C#, J# and VB .NET is an essential move to provide a smooth transition for current C++, J++, and VB 6 developers to move over to .NET. [9]
The multi-language nature of .NET is generally seen as an advantage. It gives developers more choice. The idea is that if you are already a VB 6 developer, move on to VB .NET instead of C#. Despite having to learn some new stuff, [10] at least you are more at home with the comfort of the familiar VB syntax.
Another point I would like to make is the true language interoperability nature of .NET languages ?something I really like. True language interoperability [11] means that:
VS .NET is a true integrated development environment that enables you to open J# files, C# files, and VB .NET files all within the same work space. It has a debugger which actually steps through the codes written in different .NET languages during a trace, so that you can see exactly which line of which class is being stepped through regardless of the language that class has been written in. How is this support for multiple languages achieved? The secret lies in MSIL and the .NET CLR. See Table 1.2.
|
| [ directory ] |
|