Initialisation des systèmes...

Baptiste.Dev
Retour aux notes
LangagesDébutantSérie : C# / .NET

C# : Introduction

L'histoire du C#, ses origines chez Microsoft, son évolution de 2002 à aujourd'hui, et pourquoi il reste un langage incontournable.

3 min de lecture
Mis à jour il y a 4 mois
c#csharp.netmicrosofthistoire

C# : Introduction

Avant de plonger dans la syntaxe ou les objets, posons le cadre. D'où vient C# ? Pourquoi a-t-il été créé ? Et pourquoi est-il encore aussi pertinent aujourd'hui ?


# L'origine

C# est né chez Microsoft au début des années 2000. Le projet est mené par Anders Hejlsberg, un ingénieur danois déjà connu pour avoir créé Turbo Pascal puis Delphi chez Borland.

À l'époque, Microsoft a un problème : Java domine le monde de l'entreprise, et la plateforme Windows n'a pas de langage moderne capable de rivaliser. Visual Basic est trop limité, C++ est trop complexe pour du développement d'applications métier.

Microsoft tente d'abord de créer son propre Java (Visual J++), mais Sun Microsystems les attaque en justice pour non-respect de la licence. Microsoft perd.

La réponse ? Créer un tout nouveau langage qui prend le meilleur de Java et de C++, sans les contraintes de licence. Ce langage, c'est C#.


# La chronologie

AnnéeVersionCe qui change
2002C# 1.0Lancement avec .NET Framework 1.0 - classes, héritage, interfaces
2005C# 2.0Generics (List<T>), nullable types, itérateurs
2007C# 3.0LINQ, expressions lambda, types anonymes
2010C# 4.0dynamic, paramètres nommés et optionnels
2012C# 5.0async/await - la programmation asynchrone simplifiée
2015C# 6.0Interpolation de strings $"", null-conditional ?.
2017C# 7.xTuples, pattern matching basique, out var
2019C# 8.0Nullable reference types, switch expressions, interfaces avec implémentation
2020C# 9.0Records, init-only properties, top-level statements
2021C# 10global using, file-scoped namespaces, record structs
2022C# 11Raw string literals """...""", required members
2023C# 12Primary constructors, collection expressions

Le langage évolue chaque année avec une nouvelle version majeure. Ce n'est pas un langage figé - il intègre constamment des concepts modernes.


# À quoi ça sert ?

C# est polyvalent. Contrairement à ce qu'on pourrait croire, il ne se limite pas aux applications Windows :

  • Applications desktop - WPF, WinForms, MAUI
  • Web - ASP.NET Core (API, MVC, Blazor)
  • Mobile - .NET MAUI (ex-Xamarin), iOS + Android
  • Jeux vidéo - Unity (le moteur le plus utilisé au monde)
  • Cloud - Azure Functions, microservices
  • IoT - .NET nanoFramework sur microcontrôleurs

Quand on dit "apprendre C#", on ouvre la porte à tous ces domaines avec un seul langage.


# C# et .NET - la frontière

C'est la confusion la plus courante quand on débute :

C# est le langage. .NET est la plateforme qui le fait tourner.

Quand tu écris Console.WriteLine("Hello"), le mot-clé Console ne fait pas partie de C#. C'est une classe fournie par .NET (la bibliothèque standard). C# ne fournit que la syntaxe : les if, les class, les async.

On détaillera cette frontière dans un article dédié. Pour l'instant, retiens juste : C# sans .NET, ça compile mais ça ne fait rien d'utile.


# La suite

Maintenant que tu sais d'où vient C# et ce qu'il permet, on peut rentrer dans le vif du sujet. Les prochains articles de cette série couvrent :

  • Les types - types primitifs, collections, strings, conversions
  • La syntaxe - variables, opérateurs, structures de contrôle, méthodes
  • Les objets - classes, constructeurs, propriétés, héritage
  • La mémoire - stack vs heap, value types vs reference types
  • Le Garbage Collector - générations, IDisposable, using
  • C# vs .NET - ce qui est du langage et ce qui est du framework