Administration d'un big data sous mongodb et extraction de connaissance par réseau de neurones.par Destin CUBAKA BENI Université Pédagogique Nationale (UPN) - Licence 2019 |
IV.4. Présentation des Outils utilisés[10], [11]IV.4.1. Langages de programmation : Python et R[10]a) Langage de programmationPython31(*) Python est développé depuis 1989 par Guido van Rossum à Amsterdam et de nombreux contributeurs bénévoles. Sa première version fut publiée le 20 février 1991 et sa dernière version date du 18 mars 2019. Python est un langage de programmation interprété. Son origine est le langage de script du système d'exploitation Amoeba. Donc Python est un langage de script de haut niveau portable et gratuit, doté d'un typage dynamique fort, d'une gestion automatique de la mémoire et d'un système de gestion des exceptions. Depuis, Python est devenu un langage de programmation généraliste (comp.lang.python est créé en 1994). Il offre un environnement complet de développement comprenant un interpréteur performant et de nombreux modules. Un atout indéniable est sa disponibilité sur la grande majorité des plates-formes courantes (BeOS, Mac OS X, Unix, Windows). Python est un langage open source supporté, développé et utilisé par une large communauté : 300 000 utilisateurs et plus de 500 000 téléchargements par an. v Caractéristiques32(*) du langage Python Détaillons un peu les principales caractéristiques de Python, plus précisément, du langage. · Python est portable, non seulement sur les différentes variantes d'UNiX, mais aussi sur les OS propriétaires : MacOS, BeOS, NeXTStep, MS-DOS et les différentes variantes de Windows. Un nouveau compilateur, baptisé JPython, est écrit en Java et génère du byte code Java. · Python est gratuit, mais on peut l'utiliser sans restriction dans des projets commerciaux. · Python convient aussi bien à des scripts d'une dizaine de lignes qu'à des projets complexes de plusieurs dizaines de milliers de lignes. · La syntaxe de Python est très simple et, combinée à des types de données évolués (listes, dictionnaires,), conduit à des programmes à la fois très compacts et très lisibles. A fonctionnalités égales, un programme Python (abondamment commenté et présenté selon les canons standards) est souvent de 3 à 5 fois plus court qu'un programme C ou C++ (ou même Java) équivalent, ce qui représente en général un temps de développement de 5 à 10 fois plus court et une facilité de maintenance largement accrue. · Python gère ses ressources (mémoire, descripteurs de fichiers...) sans intervention du programmeur, par un mécanisme de comptage de références (proche, mais différent, d'un garbage collector). · Il n'y a pas de pointeurs explicites en Python. · Python est (optionnellement) multi-threadé. · Python est orienté-objet. Il supporte l'héritage multiple et la surcharge des opérateurs. Dans son modèle objets, et en reprenant la terminologie de C++, toutes les méthodes sont virtuelles. · Python intègre, comme Java ou les versions récentes de C++, un système d'exceptions, qui permettent de simplifier considérablement la gestion des erreurs. · Python est dynamique (l'interpréteur peut évaluer des chaînes de caractères représentant des expressions ou des instructions Python), orthogonal (un petit nombre de concepts suffit à engendrer des constructions très riches), réflectif (il supporte la méta programmation, par exemple la capacité pour un objet de se rajouter ou de s'enlever des attributs ou des méthodes, ou même de changer de classe en cours d'exécution) et introspectif (un grand nombre d'outils de développement, comme le debugger ou le profiler, sont implantés en Python lui-même). · Comme Scheme ou SmallTalk, Python est dynamiquement typé. Tout objet manipulable par le programmeur possède un type bien définit à l'exécution, qui n'a pas besoin d'être déclaré à l'avance. · Python possède actuellement deux implémentations. L'une, interprétée, dans laquelle les programmes Python sont compilés en instructions portables, puis exécutés par une machine virtuelle (comme pour Java, avec une différence importante : Java étant statiquement typé, il est beaucoup plus facile d'accélérer l'exécution d'un programme Java que d'un programme Python). L'autre, génère directement du bytecode Java. · Python est extensible : comme Tcl ou Guile, on peut facilement l'interfacer avec des librairies C existantes. On peut aussi s'en servir comme d'un langage d'extension pour des systèmes logiciels complexes. · La librairie standard de Python, et les paquetages contribués, donnent accès à une grande variété de services : chaînes de caractères et expressions régulières, services UNIX standard (fichiers, pipes, signaux, sockets, threads...), protocoles Internet (Web, News, FTP, CGI, HTML...), persistance et bases de données, interfaces graphiques. · Python est un langage qui continue à évoluer, soutenu par une communauté d'utilisateurs enthousiastes et responsables, dont la plupart sont des supporters du logiciel libre. Parallèlement à l'interpréteur principal, écrit en C et maintenu par le créateur du langage, un deuxième interpréteur, écrit en Java, est en cours de développement. Le langage de programmation python comme tout autre langage a un logo, on reconnait ce dernier par son logo ci-dessous : Figure 4.27: Logo du langage de programmation python. Figure 4.28: Installation Python.[Nous même] Figure 29: Configuration Python. b) Langage de programmation R33(*) R est un logiciel libre permettant de traiter les données. Ce logiciel est un interpréteur permettant de programmer avec le langage de programmation S (On parle communément du langage R). Ce logiciel fait partie de projet GNU conçu dans les laboratoires Bell par John Chambers, un statisticien de l'université de Harvard avec l'aide de ses collègues. Grâce à son panoplie des paquets (packages en anglais), le langage R est aujourd'hui un outil puissant pour aider dans plusieurs types d'applications, notamment la statistique multivariée (analyse des données), l'économétrie, la biométrie, l'épidémiologie, la modélisation, le traitement d'image, l'analyse des graphes, l'analyse numérique, le Data mining, le Big Data, et tant d'autres. De plus, il permet le graphisme de haute qualité. Il sied de signaler que ces différents packages permettent aussi d'interagir directement R avec des systèmes de gestion de bases de données (cas de PostgreSQL via le langage PL/R et MySQL), avec des systèmes d'information géographique (cas de GRASS), ou ceux qui permettent d'exporter ses résultats en LATEX ou OpenDocument.
v Caractéristiques du langage R L'utilisation de R est aussi motivée par les caractéristiques qu'il renferme. On peut citer quelques-unes d'entre elles : · R est un logiciel libre. · R est un langage de programmation multi-paradigme. Il est orientée-objet, impératif, fonctionnel et procédural. · R est un langage de programmation multi plate-forme. Il est disponible sous GNU/Linux, Windows, NetBSD, FreeBSD et MacOS. · R est un langage de programmation comportant en standard de très nombreuses fonctionnalités de calcul statistique ainsi que de représentation graphique. · R est un langage de programmation comportant un bon nombre des librairies (open-source). * 31 KAMINGU Gradi. L., Cours de Programmation en Python, Académie des Sciences et de Technologie, 2018-2019. * 32 https://fr.wikipedia.org/wiki/Python_(langage)/Caracteristiques * 33 KAMINGU, G. L., Guide de Programmation R pour Économistes, Laboratoire d'Analyse-Recherche en Économie Quantitative, 2017, inédit. |
|