Python à tout faire:
de l’administration système
aux applications graphiques 3D
Fernando Niño IRD/Legos/OMP
Les langages ...
«Une machine de Turing peut simuler n’importe quelle fonction
trouvée dans les langages de programmation, y compris des
procédures récursives et tout mécanisme de passage de
paramètres » John Hopcroft and Jeffrey Ullman, (1979).
Introduction to Automata Theory, Languages and Computation,
1st edition, Addison-Wesley, Reading Massachusets
Tous les langages de programmation sont équivalents
Türing-complets: C, Perl, ADA, Fortran, Python, Cobol, ...
Non Türing-complets: SQL, expressions rationnelles
Python et les compromis
Pouvoir écrire facilement (expressivité);
Evidemment cela dépend du domaine, et des librairies disponibles
Python est livré en standard avec une fouletitude de librairies
(réseau, web, I/O, multithreading...)
float **A;
int M=30, N=20;
A=calloc(M,sizeof(float *));
for (int i=0; i < M; i++) {
A[i] = calloc(N,sizeof(float));
for (int j=0; i < N; j++)
A[i][j] = 1;
}
import numpy
A=numpy.ones(M,N)
Etre performant ... en quoi ?
A l’éxécution ???
rien ne vaut de l’assembleur optimisé à la main !
Python et les compromis
?
Python et les compromis
Etre performant... à l’exécution ?
Oui, mais encore il faut optimiser ce qu’il doit l’être. La loi de
Pareto peut être invoquée (80% du problème est dû au 20% du
code). Il faut identifier les goulots d’étranglement
Etre performant pendant le développement / la maintenance ?
Cela dépend du domaine d’application (on ne gère pas un site web
comme on gère un logiciel d’acquisition satellite embarqué), mais
vu la durée de vie d’une application la facilité de développement
est importante
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !