Accueil : Introduction au Framework .NET : .NET et les langages
.NET et les langages
Dans le monde du développement Microsoft avant .NET, il y avait plusieurs publics de développeurs :
- Les développeurs d’applications clientes riches et qui voulaient développer rapidement. Ils utilisaient Visual Basic. Ce dernier n’était pas un vrai langage objet, il posait parfois des problèmes de performances et l’accès l’intégralité de la plateforme Windows (Win32) n’était pas toujours aisé. En contrepartie, le temps de développement était court et le langage simple.
- Les développeurs d’applications clientes riches et qui voulaient le maximum de performance et bénéficier de l’accès à toute la plate-forme Windows. Ils utilisaient Visual C++ et la bibliothèque MFC (Microsoft Foundation Classes). L’inconvénient est que le C++ est complexe et délicat. Quand aux MFC, la manipulation n’était pas des plus simples.
- Les développeurs Web. Ils utilisaient la plate-forme ASP (Active Server Pages) couplé à un langage de script (VBScript ou JScript).
L’objectif de Microsoft avec .NET est de faire en sorte que le langage ne soit plus un critère de choix, de faire en sorte que les langages proposent tous les mêmes fonctionnalités et qu’ils produisent quasiment le même code compilé.
Tous les langages .NET respectent une norme qui s’appelle la CLS (Common Language Specification). Lorsque les sources sont compilés (quelque soit le langage), elles produisent un exécutable qui contient du code MSIL (Microsoft Intermediate Langage).
Les instructions du code MSIL sont indépendantes du processeur et de la plateforme.
Microsoft fournit les langages .NET suivants :
- Visual Basic .NET. C’est l’évolution de l’ancien Visual Basic. Ce langage est essentiellement destiné à ceux qui viennent du monde VB6. Attention, Visual Basic .NET est un vrai langage objet et il faut acquérir des compétences minimum sur la programmation orientée objet pour être opérationnel.
- C#. Ce langage a été spécialement conçu pour .NET. Il a les avantages du C++ sans sa lourdeur et sa complexité. C’est le langage préconisé pour .NET. C# est généralement choisi par ceux qui viennent du C++, de Java ou qui n’ont pas de préférence particulière.
- C++. Il y a deux C++ livré avec Visual Studio. Le C++ managé est le nouveau C++ qui permet de faire des applications .NET. Le C++ managé est rarement utilisé dans le monde .NET par contre il offre certaines possibilité dans certains scénarios d’interopérabilité avec Win32/COM. Le C++ non managé n’est pas un langage .NET, il permet de maintenir des applications C++/MFC par exemple ou de continuer à développer des ActiveX.
- J#. C’est le langage Java pour C#. Les différences entre Java et C# étant faibles, il n’est pas conseillé aux développeurs Java de l’utiliser. Il faut le considérer comme un outil de migration de code Java pour .NET.
Le langage C# et la CLS ont été validé comme standard à l’ECMA et à l’ISO, ce qui signifie que d’autre éditeur ou vous-même pouvez développer un compilateur C# ou un autre langage .NET.
D’autres langages .NET sont disponibles et ne sont pas développés par Microsoft. Les principaux sont : COBOL.NET, Perl, Python, Ada, Eiffel, Pascal, SmallTalk, Fortran, …