Le premier vérificateur de types pour bébé : une aventure Python en 350 lignes

2025-09-06
Le premier vérificateur de types pour bébé : une aventure Python en 350 lignes

Cet article détaille la création d’un vérificateur de types basique pour Python en seulement 350 lignes de code. L’auteur explique le processus, de l’analyse du code Python et de la recherche des annotations de types à la vérification de la compatibilité des types, en passant par la gestion des appels de fonctions et des types de retour, la prise en charge des listes, des dictionnaires et des types d’union, et la mise en œuvre du rétrécissement des types. Bien que limité en portée, le vérificateur de types obtenu détecte avec succès plusieurs erreurs de types dans du code Python réel, offrant un exemple clair et accessible du fonctionnement des vérificateurs de types.

Lire plus
Développement vérificateur de types

La manière étonnamment rapide de détecter les voyelles dans les chaînes de caractères

2025-06-13
La manière étonnamment rapide de détecter les voyelles dans les chaînes de caractères

Cet article compare onze méthodes différentes pour détecter les voyelles dans les chaînes de caractères, des boucles simples aux expressions régulières, en passant par une approche basée sur les nombres premiers. Étonnamment, les expressions régulières surpassent constamment les autres méthodes, même les boucles simples, pour différentes longueurs de chaînes. Une analyse approfondie du bytecode Python et du moteur d'expressions régulières de CPython révèle la raison de la vitesse des expressions régulières. L'auteur conclut que, même si les expressions régulières sont les plus rapides dans la plupart des cas, des méthodes plus simples suffisent, sauf si l'on traite des millions de chaînes.

Lire plus
Développement traitement de chaînes

Dites adieu aux API de géocodage coûteuses : une bibliothèque JavaScript légère pour la recherche d’état/province

2025-06-04
Dites adieu aux API de géocodage coûteuses : une bibliothèque JavaScript légère pour la recherche d’état/province

Une startup dépensait des milliers de dollars par an pour l’API Google Maps pour le géocodage inversé, uniquement pour déterminer les états des utilisateurs. Considérant cela comme un gaspillage, l’auteur a créé `coord2state`, une bibliothèque JavaScript légère qui identifie directement les états américains à partir de coordonnées de latitude/longitude. En utilisant les données de limites du recensement américain et l’algorithme de Douglas-Peucker pour la simplification, elle atteint une précision de 99,9 % avec une tolérance de 0,01°, pour un poids de seulement 260 KB. La bibliothèque est open source sur GitHub et NPM, offrant une alternative économique aux développeurs.

Lire plus

Une odyssée de 25 ans en IA/ML : des jeux à la synthèse de programmes

2025-01-02
Une odyssée de 25 ans en IA/ML : des jeux à la synthèse de programmes

Cet article raconte un parcours de 25 ans en IA/ML. Il commence par des jeux simples en VB6, puis progresse vers l'utilisation de machines à états et de fonctions d'ordre supérieur pour améliorer la dynamique des jeux. Les études supérieures ont introduit la logique du premier ordre, les machines à vecteurs de support et les réseaux de neurones, appliqués à des projets tels que le chat vidéo à faible bande passante et l'analyse des données de journaux des éditeurs de code. En tant que professeur, l'auteur s'est concentré sur des outils de développement intelligents, explorant des modèles prédictifs pour identifier et corriger les erreurs des programmeurs. Son travail au sein de l'équipe de synthèse de programmes de Microsoft a impliqué des LLMs pour améliorer l'assistance au code. L'auteur souligne l'importance d'une application réfléchie de l'IA, en priorisant les problèmes clairs de l'utilisateur et en évitant une dépendance excessive aux LLMs.

Lire plus