Langage de programmation C#

 


Vous êtes encore novice en programmation et vous n'avez pas encore choisi votre langue maternelle ?  Ou avez-vous déjà maîtrisé quelque chose et décidez-vous comment vous développer davantage?  Alors vous avez probablement déjà entendu parler de ce langage avec un treillis étrange - C#.  Dans cet article, nous essaierons de donner toutes les informations nécessaires pour que vous puissiez évaluer dans quelle mesure C-Sharp vous convient.

Que signifie C# ?

 Le nom "Sharp" (en anglais sharp - sharp) a sa propre signification "sacrée". Le signe "#" (lu comme "dièse" dans la notation musicale) signifie élever la hauteur d'un demi-ton. Par contre, le nom "C#" est obtenu par la "chaîne évolutive" suivante : C → C++ → C++++(C#), puisque le symbole "#" peut être composé de 4 signes "+".


Histoire du développement du langage


 Le langage de programmation C # a été développé en 1993-2001 par un groupe d'ingénieurs Microsoft dirigé par Anders Hejlsberg et Scott Wilthaumot en tant que langage de développement d'applications pour la plate-forme Microsoft.


 En 2000, Microsoft disposait de versions de production prêtes de nouvelles technologies et solutions pour la messagerie et l'échange de données, ainsi que pour la création d'applications Internet.  Une nouvelle plate-forme de développement de nouvelles solutions, .NET, a également été lancée.  Il combinait plusieurs langages de programmation à la fois, ce qui était nouveau pour l'époque.


 Une autre innovation de la plate-forme .NET était la technologie ASP.NET Active Server Page.  Avec son aide, il a été possible de développer relativement rapidement des applications Web qui interagissent avec des bases de données.  Le langage de programmation C# a été créé spécifiquement pour ASP.NET.  Et ASP.NET lui-même y était entièrement écrit.


Comparaison avec d'autres langues


 C# est un langage avec une syntaxe de type C.  Ici, il est proche à cet égard de C++ et de Java.

 Étant un langage orienté objet, il a beaucoup adopté Java et C++.  Comme Java, C # était à l'origine destiné au développement Web et environ 75% de ses capacités syntaxiques sont les mêmes que Java.  C# est également appelé "version purifiée de Java".  Notre héros a emprunté 10 % supplémentaires à C++ et 5 % à Visual Basic.  Les 10 % restants de C# sont la mise en œuvre des propres idées des développeurs.  L'approche orientée objet vous permet de créer des applications volumineuses, mais en même temps flexibles, évolutives et extensibles à l'aide de C#.


 C# prend en charge de nombreuses fonctionnalités utiles depuis longtemps :


 encapsulation,


 héritage,


 polymorphisme,


 surcharge de l'opérateur,


 typage statique.


 Dans le même temps, il est toujours activement développé et à chaque nouvelle version, de plus en plus de choses intéressantes apparaissent - par exemple, les lambdas, la liaison dynamique, les méthodes asynchrones, etc.

Comparé à d'autres langages, C# est assez jeune, mais en même temps, il a déjà parcouru un long chemin.  La première version du langage est sortie avec la sortie de Microsoft Visual Studio .NET en février 2002.  La version actuelle du langage est C# 8.0, qui a été publiée en septembre 2019 avec la sortie de .NET Core 3.


Le rôle de la plateforme .NET


 Quand ils disent C#, ils font souvent référence aux technologies de plateforme .NET (Windows Forms, WPF, ASP.NET, Xamarin).  Inversement, quand ils disent .NET, ils veulent souvent dire C#.  Cependant, bien que ces concepts soient liés, il est incorrect de les identifier.  Le langage C # a été créé spécifiquement pour fonctionner avec le framework .NET, mais le concept de .NET lui-même est un peu plus large.


 Bill Gates a dit un jour que .NET est la meilleure chose que Microsoft ait faite.  Il a de bonnes raisons de le penser.  Le framework .NET fournit une plate-forme puissante pour la création d'applications.  Voici ses caractéristiques de tueur:


 Prise en charge de plusieurs langues.  Au cœur de .NET se trouve le Common Language Runtime (CLR), grâce auquel la plateforme prend en charge plusieurs langages : avec C#, ce sont VB.NET, C++, F#, ainsi que divers dialectes d'autres langages ​​\u200b\u200bqui sont liés à .NET, comme Delphi.NET.  Le code dans l'un de ces langages est compilé dans un assemblage dans le Common Intermediate Language (CIL), une sorte d'assembleur .NET.  Par conséquent, il est possible de créer des modules séparés d'une application dans différentes langues.


 Puissante bibliothèque de classes.  .NET fournit une bibliothèque de classes unique pour tous les langages pris en charge.  Quelle que soit l'application que nous allons écrire en C # - un éditeur de texte, une salle de discussion ou un site Web complexe - d'une manière ou d'une autre, nous utiliserons la bibliothèque de classes .NET.


 Variété de technologies.  Le Common Language Runtime (CLR) et la bibliothèque de classes principale sont à la base de toute une pile de technologies que les développeurs peuvent utiliser pour créer différentes applications.  Par exemple, pour les bases de données, cette pile intègre la technologie ADO.NET et Entity Framework Core.  Pour les applications graphiques avec une interface riche, les technologies WPF et UWP.  Pour des applications graphiques plus simples - Windows Forms.  Pour le développement d'applications mobiles, Xamarin.  Pour créer des sites Web - ASP.NET etc.


.NET Framework et .NET Core


 .NET a longtemps évolué sous le nom de .NET Framework, principalement en tant que plate-forme pour Windows.  Mais depuis 2019, il n'est plus développé - la dernière version de cette plateforme est le .NET Framework 4.8.


 En 2014, Microsoft a commencé à publier une plate-forme alternative - .NET Core, qui était censée intégrer toutes les fonctionnalités de l'ancien .NET Framework et ajouter de nouvelles fonctionnalités.  Par conséquent, vous devez faire la distinction entre le .NET Framework, qui est conçu principalement pour Windows, et le .NET Core multiplateforme.


 Avantages et inconvénients du langage C#


 Sharp présente de nombreux avantages :


 Prise en charge de la grande majorité des produits Microsoft


 Gamme gratuite d'outils pour les petites entreprises et certains développeurs individuels - Visual Studio, Azure Cloud, Windows Server, Parallels Desktop pour Mac Pro, et plus encore.


 Les types de données ont une taille fixe (entier 32 bits et long 64 bits), ce qui rend le langage plus "portable" et facilite la programmation car vous savez toujours exactement à quoi vous avez affaire.


 "Garbage collection" automatique Cela signifie que dans la plupart des cas, nous n'avons pas à nous soucier de libérer de la mémoire.  Le Common Language Runtime ci-dessus appellera lui-même le ramasse-miettes et nettoiera la mémoire.


 Une grande quantité de sucre "syntaxique" - des constructions spéciales conçues pour comprendre et écrire du code.  Ils n'ont pas d'importance une fois compilés.


 Seuil d'entrée bas.  La syntaxe de C# présente de nombreuses similitudes avec d'autres langages de programmation, ce qui facilite la transition des programmeurs.  Le langage C# est souvent considéré comme le plus compréhensible et adapté aux débutants.


 En utilisant Xamarin en C#, vous pouvez écrire des programmes et des applications pour des systèmes d'exploitation tels qu'iOS, Android, MacOS et Linux ;


 Aujourd'hui, dans toutes les régions de Russie, il existe de nombreux postes vacants pour le poste de programmeur C #.


 Mais C# a aussi quelques inconvénients :


 Accent prioritaire sur la plate-forme Windows ;


 Le langage n'est gratuit que pour les petites entreprises, les programmeurs individuels, les startups et les étudiants.  Pour une grande entreprise, l'achat d'une version sous licence de ce langage coûtera une somme ronde.


Combien de temps faut-il pour apprendre le C#


 C# n'est pas difficile pour les débutants, car il est relativement facile à apprendre et à comprendre.  Sur Internet, vous pouvez trouver de nombreux cours et écoles en ligne pour apprendre le C#, proposant des formations d'une durée de 1 à 6 mois.  Il existe également des cours express pour les nuls, où les débutants apprennent les bases en quelques jours.  En général, C# sera beaucoup plus facile à apprendre si vous connaissez déjà C, C++ ou Java.


Demande sur le marché


 C# occupe régulièrement des positions dans le classement des langages les plus demandés sur le marché du développement depuis longtemps.  Au début, seuls les développeurs Windows s'y intéressaient, mais ensuite C# a appris à fonctionner sur Mac OS, Linux, iOS et Android.  Et après que le code de la plate-forme a été ouvert à tout le monde, presque toutes les restrictions possibles sur l'utilisation de C # ont été supprimées.  En conséquence, la langue se développe activement et est de plus en plus utilisée.  Il est souvent recommandé pour l'étude comme l'une des bases pour les développeurs de tout profil.


 La boîte à outils C # vous permet de résoudre un large éventail de tâches, le langage est vraiment très puissant et polyvalent.  Il est souvent développé sur :


 des applications Web,


 Jeux,


 applications mobiles pour Android ou iOS,


 programmes pour Windows.


 La liste des possibilités de développement est pratiquement illimitée en raison de la plus large gamme d'outils et d'outils.  Bien sûr, tout cela peut être implémenté en utilisant d'autres langages.  Mais certains d'entre eux sont hautement spécialisés et certains devront utiliser des outils tiers supplémentaires.  En C#, il est possible de résoudre un large éventail de problèmes plus rapidement, plus facilement et avec moins de temps et de ressources.


 Quant au salaire des programmeurs C #, selon les statistiques Habr.Career, il varie généralement de 60 à 200 000 roubles et atteint en moyenne 100 000 roubles.


Et après?


 Tout programmeur, bien sûr, trouvera quelque chose d'intéressant pour lui-même dans le langage C#.  Et ça ne s'arrête pas là, la liste des fonctionnalités intéressantes de C# ne cesse de s'allonger, à chaque nouvelle version le langage ne fait que s'améliorer.  Si vous êtes intéressé par C #, vous pouvez l'étudier en profondeur au département de développement de jeux de la Geek University, ainsi que dans de nombreuses autres disciplines intéressantes.  De plus, nous avons une profession distincte "Développeur C#" dédiée au langage C#, où vous pouvez vous concentrer uniquement sur ce langage, puis choisir le domaine d'intérêt à l'avenir.