Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Simplifier l'utilisation des expressions régulières avec Expresso

Les expressions régulières semblent être ignorées par bon nombre de développeurs malgré leur puissance. Une raison à cela : c'est aux antipodes de la programmation moderne qui se veut claire et lisible...

Les expressions régulières c'est un peu comme XSLT, balèze mais incompréhensible à moins de ne faire que ça tous les jours. Le problème avec ces "langages" c'est que justement on n'en a pas besoin tous les jours ! Et ce n'est pas en pratiquant une fois de temps en temps qu'on acquiert l'habilité nécessaire. Au final, les plus courageux qui ont essayé plusieurs fois finissent par laisser tomber...

Dommage. D'autant que les expressions régulières sont parfaitement intégrées aux frameworks modernes comme .NET, et que leur bonne utilisation permet des choses quasi magiques en une ou deux lignes d'intruction : tester la conformité d'une donnée complexe et même, ce que beaucoup ignorent, découper une données en groupes ou extraire une information dans un flot (par exemple repérer automatiquement les adresses web dans tout un texte).

Mais j'ai une solution pour vous !

J'ai trouvé un soft, gratuit, qui permet de saisir des expressions régulières, de les tester, et de les analyser (pour le debug c'est parfait, mais aussi pour.. apprendre!). Ce soft est vraiment bien fait et vaut le coup d'oeil dans tous les cas.

Je vous conseille donc de le télécharger et de le tester, vous pourrez insérer des expressions régulières complexes dans votre code et passer pour un héro à la machine à café, c'est pas cool ça ?

Ca s'appelle "Expresso" et ça se trouve là http://www.ultrapico.com/Expresso.htm.

Les nouveautés syntaxiques de C# 3.0

Les expressions Lambda vous connaissez ?

Et l'inférence des types locaux, les méthodes d'extension, les expressions d'initialisation des objets ou les types anonymes ?

Si tout cela sonne bizarrement à vos oreilles, n'hésitez plus une seconde : téléchargez le nouvel article que j'ai mis en ligne gratuitement !

Voici le lien, il n'y a qu'à cliquer ici !

Vous êtes encore là ?

... Alors ne loupez pas le tout dernier article "Présentation de LINQ avec C#", un papier de 32 pages riche en exemples !

Le journal des TechEd : Jour 5 - The End

Ca y est... C'est (déjà) fini Frown On aimerait tellement en voir plus, avoir plus de temps pour suivre tout...
83 conférences dans ma sélection, juste une poignée suivies, les TechEd devrait durer 1 mois !

Heureusement qu'à partir de la semaine prochaine les vidéo seront en ligne en attendant le DVD... En fonction de ma sélection, cela fait une bonne centaine d'heures... De quoi occuper les longues soirées d'hiver Laughing.

J'ai suivi aujourd'hui une conférence sur un langage un peu exotique, F#, vous connaissez ? Un dérivé de ocaml (Objective Caml) un style différent appelé "programmation fonctionnelle orientée objet". Avantage de F#, il fonctionnera sous MONO aussi. La conférence TLA405 se titrait "Parallel and Asynchronous Functional Programming on  NET with F#", tout un ... programme.
Simple curiosité ou langage d'avenir ? Je ne saurai vraiment pas le dire. C'est en tout cas la curiosité qui m'a amené à voir cette session, je suis content, je sais ce que c'est maintenant et je pourrai frimer à la machine à café "comment ? quoi ? tu ne connais pas F# ? quel hasbeen tu fais mon pauvre xxxxx (à remplacer par le nom du pauvre gus qui se trouvera là) !".

Non je plaisante, s'ouvrir l'esprit en regardant toujours ailleurs est certainement la qualité la plus importante du développeur, et peut-être la moins bien partagée quand on voit comment parfois les gens se cloisonnent et s'accrochent à leur savoir, à "leur" langage (comme s'ils l'avaient écrit eux-mêmes), à "leur" IDE... C'est en regardant C#, comme ça, pour m'informer que j'ai basculé vers .NET... 
Mais bon, là, je n'échangerai pas mon baril de C# contre deux de F#. Intéressant, certes, mais un peu trop exotique à mon goût. Mais faites-vous votre propre opinion en visitant la page du labo de recherche de Microsoft qui a planché sur ce nouveau langage.

Plus ardue mais passionnante, fut la conférence Win401 "Deep Reflection - Things You Really Need to Know About Reflection 2 0". Il s'agissait de voir en profondeur la réflexion sur certains aspects comme la façon d'inspecter les génériques ou même de créer des génériques au runtime.. La génération de code avec CodeDOM a été très instructive et il a fallut s'accrocher lorsque le speaker a décidé de nous entraîner dans le code IL et les méandres de la CLR. Je ne suis pas certain qu'après une semaine de conférences avoir choisir de clore par cette session était une excellente idée, j'ai la tête farcie Tongue out !

Les techEd sont terminées, mais en réalité seule la partie visible de l'iceberg vient de fondre : le plus gros du travail est à venir. Trier, digérer l'information, voir et revoir les vidéos, tester au calme chaque aspect démontré dans chaque conférence, en tirer la substantifique moëlle, et vous faire partager tout cela au travers d'articles à venir...

Pour le moment, c'est le sas de décompression : une soirée calme avec quelques rougets bien frais achetés à la Boqueria que je vais accompagner d'un riz le tout arrosé d'un bon rouge local ! Demain direction Figueras et le musée Dali, impossible d'en être si près sans aller voir les oeuvres du maître.

L'année prochaine, venez aux TechEd (qui auront lieu ici encore très certainement) et réservez-vous du temps pour voir du Picasso, du Dali, les maisons de Gaudi et toutes les splendeurs de Barcelone. Participer à une conférence sur F# ne suffit pas pour prétendre s'ouvrir l'esprit, l'art, les gens, sentir l'atmosphère d'une ville, d'une nation, c'est aussi important, je dirais même mieux, sur le plan personnel et humaniste, la visite d'une maison de Gaudi vous marquera à vie, alors que dans 20 ans vous ne vous souviendrez plus du paragraphe plus haut sur F# !

La suite bientôt sur ce blog... Du C#, du LINQ, du WPF, du Silverlight, vous n'avez pas fini de m'en entendre parler !