C sharp
| Image manquante Symbole-ordinateur.png | Cet article est une ébauche concernant l'informatique, vous pouvez partager vos connaissances en le modifiant. |
| Image manquante Langage_progr.png image:Langage_progr.png |
| Cet article fait partie de la série Langages de programmation |
| Langages à objets |
| Ada 95 - C++ - C# Common Lisp Delphi - Eiffel - Java Nice - Oz - Python Simula - Smalltalk Visual Basic |
| Langages impératifs |
| APL - ASP - Assembleur BASIC - C - COBOL Forth - FORTRAN - Logo Pascal - Perl - PHP |
| Langages fonctionnels |
| Erlang - Haskell ML/OCaml - Oz Lisp/Common Lisp Scheme |
| Langages déclaratifs |
| Clips - Oz - Prolog |
| Langages concurrents |
| Ada 95 - Erlang Java - Oz |
| Langages balisés |
| HTML - SGML - XML Dialectes XML S-expressions |
| Voir aussi |
| Conception - Codage Tests - Optimisations |
Le C# (Csharp) est un langage de programmation orienté objet à typage fort, créé par la société Microsoft, et notamment un de ses employés, Anders Hejlsberg.
Il a été créé afin que la plate-forme .NET soit dotée d'un langage permettant d'utiliser toutes ses capacités. Il est très proche du Java dont il reprend la syntaxe générale ainsi que les concepts (la syntaxe reste cependant relativement semblable à celles de langages tels que le C++ et le C). Un ajout notable à Java est la possibilité de surcharge des opérateurs, inspirée du C++. Il convient toutefois de remarquer que l'implémentation de la redéfinition est plus proche de celle du Pascal Objet, peut-être parce que Anders Hejlsberg était auparavant responsable du Turbo Pascal et de Delphi, chez Borland, et créateur du langage Pascal.
Des implémentations libres de ce langage et de sa plate-forme d'exécution sont en cours de finalisation, comme le projet Mono supporté par Novell, ou dotGNU supporté par la Free Software Foundation. L'idée fondatrice de ces projets est qu'une application en C# puisse s'exécuter sans modification sur une plate-forme propriétaire comme .NET ou libre comme Linux.
| Sommaire |
Différences entre Java et le C#
Bien que le C# soit similaire à Java, il existe des différences notables, notamment:
- Java n'a pas de propriétés ni d'overloading d'opérateurs,
- Java n'a pas de mode unsafe permettant l'arithmétique de pointeurs,
- Java a des exceptions vérifiées, alors que les exceptions du C# ne sont pas vérifiées, comme en C++,
- C# a un goto control flow construct inexistant en Java,
- Java permet la génération automatique de la documentation à partir des fichiers sources à l'aide des descriptions Javadoc-syntax, tandis que le C# utilise des descriptions basées sur le XML,
- C# supporte indexers et delegates,
- C# supporte les structures en plus des classes (les structures ne sont que des espaces mémoires sans méthodes).
Standardisation
Le C# a été normalisé par l'ISTA (ECMA-334) et l'ISO/CEI (ISO/CEI 23270).
Le langage
Voici un exemple d'un programme Hello world typique, écrit en C# :
using System;
class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
Liens externes
- Page du standard ISO (En)
- Page du standard ECMA (En)
- C# Language Specification 2nd edition (En)
- Discussion sur le design du C# (En)
- le projet dotGNU (En)
- Un environnement graphique de developpement dotNet : SharpDevelop (En)
