C#

Technique ・ Niveau : Autonome ・ Expérience : 7 ans ・ Temps de lecture : 5 minutes

C# est un langage de programmation orienté objet, commercialisé par Microsoft depuis 2002 et destiné à développer sur la plateforme Microsoft .NET.

Il est dérivé du C++ et est très proche du Java dont il reprend la syntaxe générale ainsi que les concepts, y ajoutant des notions telles que la surcharge des opérateurs, les indexeurs et les délégués. Il est utilisé notamment pour développer des applications web sur la plateforme ASP.NET.

Contexte d'utilisation

Il est devenu le langage sur lequel j'ai le plus développé ces dernières années et avec lequel j'ai appris le plus de bonnes pratiques au fur et à mesure de mes expériences avec. J'ai eu l'occasion de travailler énormément avec, que ce soit pour la réalisation de clients lourds, de programmes en console, d'API, de services Windows, d'applications mobiles, etc.

L'application MobiFarm a été mon premier projet concret avec ce langage. Il s'agit d'une application mobile développée à l'aide du Framework Xamarin permettant de localiser des producteurs et des marchés. Dans ce projet nous avons utilisé C# pour développer l'application mobile et l'API permettant la récupération de données depuis un téléphone.

Lorsque j'ai rejoint INFOMIL en tant que développeur, j'ai commencé à utiliser C# quotidiennement pour travailler sur différents types de projet. Ces réalisations m'ont permis de consolider les bases que j'avais acquises avec ce langage en complément des projets réalisés à IN'TECH.

Autocritique

C# est le langage mis en avant par Microsoft depuis déjà plusieurs années pour le développement de divers types d'application avec le Framework .NET. Sa cote de popularité est restée constante malgré l'arrivée de nouveaux langages tels que Kotlin, Ruby, Python qui sont plus en vogue auprès des nouveaux développeurs. La forte communauté autour du Framework .NET ayant commencé avec Visual Basic .NET a pour la plupart, migré vers C#.

Microsoft n'a cessé de faire évoluer les possibilités autour de C# et permet la réalisation de divers types d'applications (clients lourds, API, programmes en console, etc.) et ceux pour différents types de systèmes d'exploitation (Windows, Mac et Linux) ce qui je trouve représente une très bonne raison de développer avec ce langage.

Concernant ma marge de progression, comme je l'indiquais plus tôt C# permet de réaliser différents types de projets. J'ai donc ressenti une grande vitesse d'acquisition sur les bases du langage et de son utilisation via des interfaces Windows Forms et des applications web. Malgré tout, il me reste une marge de progression concernant les programmes en console, les services Windows et toutes les ressources mises à disposition récemment par Microsoft concernant l'usage de C# dans un système linux.

Cette compétence à une importance cruciale par rapport à mes responsabilités actuelles à INFOMIL car l'entreprise travaille historiquement avec Microsoft et la grande majorité des développements sont dans ce langage. Actuellement je situe mon niveau de compétence comme étant performant avec ce langage car je l'utilise depuis plusieurs années et j'ai développé des automatismes qui me permettent de mettre en oeuvre rapidement des solutions techniques.

Toutefois, j'aimerais me focaliser sur l'aspect sécurité autour de la rédaction de code C# dans mon projet personnel-professionnel sur le moyen terme. C'est dans cette démarche que je souhaite obtenir des formations par le biais d'INFOMIL concernant la sécurité des applications C# et m'autoformer sur mon temps personnel.

Conclusion

Je trouve que C# est un excellent langage après avoir débuté sur JavaScript afin d'explorer différents usages et types de projets. Le typage fort qu'il propose m'a permis de m'imposer une rigueur dans mes développements que j'apprécie beaucoup maintenant que je m'y suis habitué. Il est devenu mon langage de prédilection que j'utilise tous les jours en entreprise et avec lequel j'aime explorer des idées sur mon temps personnel.