Comment commencer avec C# ?
Publié le 17/06/2022
Par  Christophe MOMMER

Sans vouloir me jeter de quelconques fleurs, j'ai décidé assez tôt dans ma carrière de me spécialiser sur les technos .NET et d'en faire une expertise. Vu que je pense avoir plus ou moins réussi cette partie, autant vous partager mon expérience et retour sur la question.

La genèse de cette histoire

Quand j'étais lycéen, j'étais déjà passionné d'informatique et de développement. Mes vacances d'été entre la 1re et la terminale, j'avais imprimé les cours du site du zéro (pour les anciens qui connaissent 😅) sur C, Java, C++ et PHP. L'idée, c'est que je voulais profiter de ces vacances pour me former sur toutes ces technologies, car je savais que je voulais faire développeur et l'IUT plus tard.

Spoiler alert : mes impressions ont pris la poussière. Non seulement j'ai passé mes vacances d'été à jouer à des jeux vidéos, mais aussi à faire du PHP (seul langage accessible qui m'intéressait à ce moment-là, car les serveurs mutualisés étaient en PHP et je voulais faire un site web). J'ai développé un site, je me suis bien éclaté, et j'ai mis à jour ce site pendant quelques années.

Le choc des études et de la réalité de marché

À l'IUT, on m'a appris du C, du C++ (rapidement), du Java et du C# (en langages de programmation, je ne compte pas le reste). De base, j'étais déjà emballé par C# et .NET car j'avais appris assez tôt à faire du VB6, et je voulais creuser un peu sur l'écosystème. Donc j'ai suivi les cours avec attention.

Ce n'est cependant qu'à l'école d'ingénieur, durant mon alternance, que j'ai été vraiment confronté au langage et que j'ai appris à l'apprécier. C'est à la fin de mon alternance que j'ai décidé d'en faire une expertise car j'avais répondu une ânerie à un alternant en 1ère année qui me posait une question technique, juste parce que je ne voulais pas passer pour quelqu'un qui ne sait pas ...

Après ça, il a fallu trouver un boulot. Et là, force est de constater qu'il y a pléthore de possibilités... Cependant, les postes en C# me semblaient être plus intéressant (sûrement du fait que j'aimais le langage et que j'avais de l'expérience)

OK, cool ta vie, mais comment je fais moi ?

Tout d'abord, le C# est un héritier du C/C++ et un concurrent du Java ... au début. Le langage a beaucoup évolué au fil des versions. J'ai une vidéo sur YouTube si tu veux apprendre les bases. Avant de choisir de faire une application X ou Y, Web ou Mobile, Blazor ou MAUI, il faut connaitre les rudiments de la programmation et de l'algorithmique et la syntaxe de base. 3h de vidéo, c'est cadeau (le cours complet est disponible dans l'espace Formations VOD)

Une fois que les bases sont là, il faut commencer à mettre en pratique. Le choix est vaste :

  • Des applications Windows ? WinForms, WPF et WinUI
  • Des applications mobiles ? On a Xamarin (Forms ou pas) et MAUI
  • Pour macOS ? MAUI, Uno Platform
  • Du web "standard" ? ASP.NET MVC/Razor Pages et WebApi
  • Du web dynamique ? Blazor Server/WebAssembly
  • Du web hybride ? MAUI et Blazor Hybrid
  • Du jeu vidéo ? Unity et Godot
  • Ah, oui, il est toujours possible de faire des applications console si c'est ton kiff ... !

Il y a beaucoup de possibilités. Par contre, TOUTES les technologies ci-dessus ont chacune leurs spécificités. En fait, c'est pas parce qu'on fait du C# et qu'on a fait une application ASP.NET qu'on sait faire du Blazor (un exemple au hasard ... combien de fois j'ai fait des audits et des reprises de code de ces cas-là 🥵)

Ton plan d'action

  • Apprendre les fondamentaux de la programmation : logique, algorithmique, notions de base
  • Apprendre les fondamentaux du C# : syntaxe de base
  • Choisir une technologie qui t'attire : apprendre le fonctionnement et faire un projet de démo EN AUTONOMIE (pas en dupliquant une démo d'un cours en ligne)
  • Si besoin, tester et apprendre une autre technologie

Un point essentiel mais souvent oublié : il est IMPÉRATIF de faire de la veille technologique. Le langage, les technologies et tout ce qui gravite autour évolue vite, donc si tu ne suis pas l'actualité, tu vas être dépassé... (c'est pour ça aussi que je me suis spécialisé, je ne me voyais pas écumer tous les sites de news de 5 technos à la fois).

Dernier point : accroches-toi. Si c'est trop dur, fais-toi accompagner. Mais ne lâches pas, le monde du développement est aussi passionnant qu'il est exigeant !