C#, le Java de Microsoft
Le langage C# est plus facile d'emploi que C++, mais il requiert
le runtime de .NET pour faire tourner les programmes. Vous pouvez convertir
votre code C++ sans difficulté.
Il reprend la plupart des principes de Java, avec une plus nette orientation objet, un garbage collector.
C# a été conçu par Microsoft pour sa nouvelle plateforme .NET comme alternative à Java, s'inspirant (comme lui) de C++, de Java et plusieurs autres langages.
C# n'est pas le seul langage utilisable sur .NET, de
nombreux autres sont également implémentés. Cela inclut C++, Pascal, Python, Java, et
de nombreux autres, même Cobol et Fortran.
Vous
pouvez mixer du code C# avec du code d'autres
langages sur .NET, ils fonctionnent
ensemble en partageant les objets.
Un avenir incertain
L'avenir du langage n'est pas parfaitement défini. On a pu penser que son implémentation dans Silverlight, considéré comme une plateforme d'avenir pour le Web et les mobiles en ferait un des langages essentiels pour la programmation du futur. Puis Microsoft avec Metro, nouvelle plateforme pour Windows 8, s'est tourné vers HTML 5 et JavaScript (à coté de XAML et un système à venir).
C# ne semble pas être le langage considéré par Microsoft pour ses applications immersives. Il reste au moins un langage d'applications de bureau classiques et coté-serveur.
La version 5 de JavaScript comportera des classes et facilitera ainsi la réalisation d'applications importantes, ce pourquoi il pourra remplacer un langage d'applications.
Caractéristiques et différences avec C++
C# se compile en langage intermediaire, le CIL (Common Intermediate Language), qui est exécuté sur une machine virtuelle, le CLR (Common Language Runtime). Celle-ci est l'implémentation de la CLI, l'infrastructure de langage commune.
- Les Structs, provenant de C++, sont ici des objets spéciaux passés par valeur.
- Une propriété permet d'utiliser des méthodes comme on utilise des variables.
- Le construct foreach() permet de parcourir le contenu de tableaux.
- Delegate remplace les pointeurs de fonctions du C.
- La surcharge des opérateurs existe sauf pour "=".
- Il est totalement orienté objet, même les primitives et les constantes sont des objets.
- L'indexer est une méthode invisible pour accéder à un tableau avec sécurité.
- Le langage peut accéder à l'environnement natif, contrairement à Java.
- L'opérateur -> du C++ est remplacé par un point.
- Le mode managed assure la compatibilité pour un programme C++.
Une différence importante avec Java est que chaque classe Java est stockée dans un fichier séparé, contrainte qui n'existe pas pour C#.
Exemple de code
Afficher les caractères de deux textes concaténés.
string s = "demo" + "suffixe";
foreach (char c in s)
{
System.Console.WriteLine(c);
}
Outils et documents
- Microsoft
Le site officiel avec le compilateur et les runtimes .NET. - Mono
Compatible .NET avec un compilateur C#. - Visual
C# Express
C'est un environnement de développement complet par Microsoft.
Comprend un compilateur C Sharp. - Turbo
C#
Environnement de développement visuel avec composants prédéfinis pour .NET 1.1. Gratuit même pour réaliser des applications commerciales. - XNA
Outil de développement de jeux basé sur C#. - Script#
Convertit C# en JavaScript.
|
|
|
