Blog ENI : Toute la veille numérique !
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
  1. Livres et vidéos
  2. C# 10 et Visual Studio Code
  3. Introduction
Extrait - C# 10 et Visual Studio Code Les fondamentaux du langage
Extraits du livre
C# 10 et Visual Studio Code Les fondamentaux du langage
2 avis
Revenir à la page d'achat du livre

Introduction

Qu’est-ce que C# ?

Le langage C# (prononcer "cé charpe") est un langage de programmation fortement typé, orienté objet et multiplateforme. Pour démystifier cette définition, voyons ce que signifie chaque élément :

  • Fortement typé signifie, comme nous allons le voir au cours du second chapitre, que chaque élément est initialement déclaré comme étant d’un certain type, qui ne pourra pas être modifié durant toute sa durée de vie. Par exemple, si nous déclarons un entier pour y stocker une valeur quelconque, comme l’âge d’une personne, nous ne pourrons pas y stocker plus tard son nom à la place du nombre d’années, car c’est une chaîne de caractères et non un entier. Ce fonctionnement est très différent de celui de certains langages dits faiblement typés, comme JavaScript, par exemple.

  • Le développement orienté objet est une façon spécifique d’écrire du code informatique en suivant un paradigme précis. Nous étudierons en détail ce sujet au cours d’un chapitre de cet ouvrage. La seule chose qu’il est nécessaire de savoir pour l’instant est que le langage se classe dans cette catégorie. À titre d’information, il existe des langages dits "procéduraux" (comme le langage C) et des langages dits "fonctionnels" (comme le langage F#).

  • Multiplateforme car le langage en lui-même permet de réaliser des applications qui ne dépendent pas de la plateforme. En effet, C# est utilisé avec un ensemble d’outils, appelé framework, qui offre au développeur la possibilité de créer des applications de typologies très diverses. En ce sens, il peut être exploité sur n’importe quel type d’environnement (PC, Mac, mobile, TV, Smart Watch, etc.).

Vous l’aurez compris, avec le langage C# et une collection d’outils, vous avez la capacité de créer une application qui peut fonctionner en différents endroits avec un minimum d’efforts. Nous verrons dans...

Préparer son environnement

Le langage seul n’est pas utile, il faut définir une application cible pour l’exploiter à son plein potentiel. De ce fait, nous allons devoir choisir :

  • le type de projet à réaliser ;

  • les outils pour coder le projet précédemment choisi.

Bien que nous ayons vu qu’il existe une quantité assez impressionnante de types de projets, chacun possède ses propres particularités. Le souci qui en découle est que, pour la première approche du langage, il n’est pas recommandé de se rajouter des contraintes liées à un environnement bien particulier.

De ce fait, la meilleure façon d’apprendre le C# est de travailler dans une petite application qui s’exécutera au sein d’une console, ce qui ressemble à une interface de ligne de commandes. Cela n’est certes pas très attrayant, mais permet de n’avoir aucune contrainte qui viendrait parasiter notre apprentissage nécessaire des bases.

Les fichiers de code source C# sont des fichiers texte à plat, on peut donc les concevoir et les lire avec n’importe quel éditeur de texte (comme le bloc-notes sous Windows ou vi sous Linux, par exemple). Néanmoins, il existe des outils, appelés éditeurs de code, ou IDE (pour Integrated Development Environnement, ou, en français, environnement de développement intégré) qui offrent beaucoup d’avantages. Selon votre système d’exploitation, il est judicieux de choisir parmi les IDE suivants :

  • Sous Windows ou macOS, vous pouvez développer votre application C# avec Visual Studio 2022, Visual Studio Code ou Rider.

  • Sous Linux, vous pouvez développer votre application C# avec Visual Studio Code ou Rider.

Visual Studio Code étant l’outil présent sur toutes les plateformes et étant gratuit, nous l’utiliserons pour travailler dans cet ouvrage. Une fois que vous aurez assez d’expérience, vous pourrez essayer un autre éditeur, selon votre système d’exploitation, afin de comparer.

De façon assez logique, Visual Studio 2022 sous Windows (qui est l’éditeur historique) est l’outil le plus complet et plus puissant pour réaliser des applications C#. Cependant, cet ouvrage s’adressant à des développeurs de tous horizons, afin que chacun puisse expérimenter sur son système d’exploitation, le choix s’est porté naturellement sur Visual Studio Code.

1. Installation et configuration de Visual Studio Code

Afin d’installer Visual Studio Code sur votre ordinateur et de commencer à travailler...

Comment fonctionne le C# ?

Un ordinateur ne peut pas comprendre directement le code source écrit en C#. Il s’agit d’un langage haut niveau qui aide le développeur à être plus productif et plus efficace, mais ce langage n’est pas directement exploitable en l’état. Nous allons écrire du code C# et nous allons également faire en sorte que ce code puisse être transformé en application.

Pour ce faire, il faut passer par deux processus : la compilation et l’exécution. Le code C#, vous l’aurez compris, n’est en soi qu’un moyen et non une fin. À cet effet, parmi les outils que nous avons précédemment installés, notamment ceux inclus dans le SDK, se trouvent les deux utilitaires permettant de transformer du code C# en application exécutable : le compilateur et le runtime. 

La première étape consiste à transformer votre code C# dans un code de base, compréhensible non pas directement par votre ordinateur mais par une petite machine virtuelle : le CLR (Common Language Runtime). Le compilateur "réécrit" votre code C# dans un autre langage, qui s’appelle le code IL (Intermediate Language) et c’est ce dernier qui est exécuté par la machine virtuelle.

Même si vous ne devez pas forcément comprendre ni maîtriser totalement...