François Philippe Ossim Belias
Mémoire de maîtrise (2022)
Résumé
Python est un langage de programmation populaire et sa popularité gagne du terrain dans de nombreux secteurs informatiques différents tels que l’apprentissage automatique, l’analyse de données, etc. De nos jours, c’est le langage de programmation standard d’apprentissage automatique. La popularité de Python s’explique en partie par sa syntaxe proche de l’anglais, son niveau d’abstraction et les structures de données disponibles facilitant la tâche pour implémenter rapidement des idées abstraites au moyen d’un vaste écosystème de modules et de bibliothèques. Les fonctionnalités Python permettent de mettre en œuvre des idées plus efficacement et plus rapidement, souvent en utilisant moins de lignes de code [1] par rapport aux autres langages. De plus, bien qu’il s’agisse d’un langage interprété, les performances sont acceptables dans la plupart des cas où le temps n’est pas la contrainte la plus stricte. Python est un langage multi-paradigme et l’une de ses fonctionnalités populaires, utilisée par de nombreux programmeurs, est la programmation fonctionnelle. Ce dernier, même s’il peut avoir quelques effets indésirables, offre plusieurs avantages aux programmeurs comme une meilleure parallélisation et même parfois une meilleure compréhensibilité [2]. Ce projet se concentre sur deux constructions de programmation fonctionnelle en Python qui sont la compréhension de liste et les fonctions lambda. Il y a plusieurs objectifs. Pre- mièrement et avant tout, développez un petit ensemble de règles pour transformer les com- préhensions de liste (programmation fonctionnelle) en constructions équivalentes basées sur des boucles for et vice-versa. Ces règles doivent être suffisamment générales pour garantir que la plupart des compréhensions de liste sont correctement transformées. Une fois les règles développées, un deuxième objectif est de comparer et de contraster les performances, c’est- à-dire de vérifier si la compréhension des listes est effectivement plus rapide. Pour vérifier les performances, plusieurs étapes ont été effectuées. La comparaison entre la compréhension de liste et les boucles for a été effectuée en exécutant des fragments de code équivalents de 10 000 et 100 000 itérations. L’expérience a été reproduite 30 fois, les résultats collectés et analysés statistiquement à l’aide de la méthode du Cliff delta. Les résultats montrent qu’il est préférable d’utiliser la compréhension de liste plutôt que les boucles for lorsqu’il s’agit d’exécuter un code avec un grand nombre d’itérations.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
