2
Conception et Programmation Orientée Objet, Septembre 2004©2004 Guy Dalberto
7
Comment choisir
Ousterhout propose la grille de questions suivantes :
–
Est-ce que le rôle principal de l ’application est de relier des composants
préexistants ?
– Est-ce que l’application manipule une variété de choses différentes ?
– Est-ce que l’application inclut une interface graphique ?
– Est-ce que l’application manipule beaucoup de chaînes de caractères ?
– Est-ce que les fonctions de l’application vont évoluer rapidement ?
– Est-ce que l’application doit être extensible?
Répondre oui aux questions ci-dessus suggère qu’un langage de script
sera adapté. Par contre répondre oui aux questions ci-dessous pousse à
utiliser un langage système :
–Est-ce que l’application implémente des algorithmes et des structures de
données complexes ?
–Est-ce que l ’application manipule de gros volumes de données (tous les
pixels d’une image par exemple) ?
–Est-ce que les fonctions de l’application sont bien définies et changent peu ?
Conception et Programmation Orientée Objet, Septembre 2004©2004 Guy Dalberto
8
Python
–Productivité et Code Lisible
• Langage simple, syntaxe cohérente
• Concepts puissants
–Conçu pour :
• Ecrire des composants
• Etre un composant
–Multi-Plateforme Linux, Windows 32, Mac, ..
• Interprété avec ByteCode portable
–Se développe rapidement grâce à ses qualités et non à la
suite d ’une campagne de marketing
• Gratuit, Open Source
• Bibliothèques très bien écrites
Conception et Programmation Orientée Objet, Septembre 2004©2004 Guy Dalberto
9
Pourquoi Python
Critères objectifs
–langage de Script Orienté Objet
–Multi-Plateformes (Windows / Linux)
–Bibliothèques puissantes
–Traitement d’Exception
–Permet un prototypage aisé
Critères subjectifs
–j’utilise Python à titre professionnel
–j’aime ce langage
Conception et Programmation Orientée Objet, Septembre 2004©2004 Guy Dalberto
10
IDLE, environnement graphique,
écrit en Python, utilise Tkinter
Hello World en Python
l’interpréteur ligne de commande :
C:\Python23\python.exe
Conception et Programmation Orientée Objet, Septembre 2004©2004 Guy Dalberto
11
Qui utilise Python
–Red Hat
• pour sa procédure d ’installation
–Google
• de nombreux composants du spider
–California Institute of Technology
• virtual reality in a behavioral biology lab.
–Zope
• Serveur d ’applications, Web Serveur, système de gestion de
contenu.
• Solution complète comprenant une base de données objet, une
architecture de services Web
• Adaptable par programmation (en Python bien sûr)
Conception et Programmation Orientée Objet, Septembre 2004©2004 Guy Dalberto
12
Qui utilise Python
–European Synchrotron Radiation Facility (Grenoble)
• le « Beamline Instrumentation Software Support group »
développe et supporte les applications d ’acquisition de données
–The BLISS group has chosen it as a fundamental brick for our future
developments. This choice will allow to profit from the huge library of
existing modules in domains as scientific computing, graphical
interfaces, databases, inter-process communication, ....
–Institut Pasteur
–It is more and more often used in bioinformatics as a general purpose
programming language, to both build components and
applications.......a rich library of modules for scripting and network
programming are essential for bioinformatics which very often relies on
the integration of existing tools
–Crystal Space
• le moteur 3D Engine utilise Python à travers un mécanisme de
plug-in dynamique. Les scripts Python sont invoqués lors
d ’actions de jeu spécifiques.
• Les scripts disposent d ’un accès complet à l ’API C++