Analyse et Conception par Objets

publicité
INFO-H-302
Introduction Python
Analyse et Conception par Objets
Pourquoi apprendre
Python ?
Pourquoi apprendre un
nouveau langage ?
• ... pourquoi pas ?
• "Controlling complexity is the essence of
computer programming."
(Brian Kernighan)
• Autre langage, autre approche de la
complexité
History of Programming Languages
1954
1960
1965
1975
1970
1986
www.oreilly.com
For more than half of the fifty years computer programmers have been
writing code, O’Reilly has provided developers with comprehensive,
in-depth technical information. We’ve kept pace with rapidly changing
technologies as new languages have emerged, developed, and
matured. Whether you want to learn something new or need
answers to tough technical questions, you’ll find what you need
in O’Reilly books and on the O’Reilly Network.
1990
1980
1990
1991
1990
1985
1991
1993
1994
1995
1995
1996
1996
1997
2000
1997
2000
2001
2001
2002
2001
2003
2003
2004
2003
2004
This timeline includes fifty of the more than 2500 documented
programming languages. It is based on an original diagram created
by Éric Lévénez (www.levenez.com), augmented with suggestions
from O’Reilly authors, friends, and conference attendees.
For information and discussion on this poster,
go to www.oreilly.com/go/languageposter.
©2004 O’Reilly Media, Inc. O’Reilly logo is a registered trademark of O’Reilly Media, Inc. All other trademarks are property of their respective owners. part#30417
2008
2006
2004
2002
2000
1998
1996
1994
1992
1990
1988
1986
1984
1982
1980
1978
1976
1974
1972
1970
1968
1966
1964
1962
1960
1958
1956
C++
C# 2.0
C#
Python 2.0
Perl 5
Python
Perl
Smalltalk
Ruby
Tcl
Eiffel
Fortran 90
Ada 83
ML
Haskell 98
OCaml
Caml
SML
Prolog
Fortran 77
Pascal
PL/I
COBOL
Smalltalk 80
Algol 60
C (K&R)
C++ (ISO)
JavaScript
Java 2 (v1.5 beta)
Scheme R5RS
Java
Common Lisp
Scheme
Lisp
Fortran I
2008
2006
2004
2002
2000
1998
1996
1994
1992
1990
1988
1986
1984
1982
1980
1978
1976
1974
1972
1970
1968
1966
1964
1962
1960
1958
1956
C++
C# 2.0
C#
Python 2.0
Perl 5
Python
Perl
Smalltalk
Ruby
Tcl
Eiffel
Fortran 90
Ada 83
ML
Haskell 98
OCaml
Caml
SML
Prolog
Fortran 77
Pascal
PL/I
COBOL
Smalltalk 80
Algol 60
C (K&R)
C++ (ISO)
JavaScript
Java 2 (v1.5 beta)
Scheme R5RS
Java
Common Lisp
Scheme
Lisp
Fortran I
2008
2006
2004
2002
2000
1998
1996
1994
1992
1990
1988
1986
1984
1982
1980
1978
1976
1974
1972
1970
1968
1966
1964
1962
1960
1958
1956
C++
C# 2.0
C#
Python 2.0
Perl 5
Python
Perl
Smalltalk
Ruby
Tcl
Eiffel
Fortran 90
Ada 83
ML
Haskell 98
OCaml
Caml
SML
Prolog
Fortran 77
Pascal
PL/I
COBOL
Smalltalk 80
Algol 60
C (K&R)
C++ (ISO)
JavaScript
Java 2 (v1.5 beta)
Scheme R5RS
Java
Common Lisp
Scheme
Lisp
Fortran I
Pourquoi apprendre
Python ?
• Suffisamment proche de Java pour être facile
• Suffisamment différent pour être intéressant
• Très utilisé :
• Développement web
• Recherche en Mathématiques,
Bioinformatique
• Administration système
Python
• Interprété
• Orienté-Objet
• Strong typing
• Dynamic typing
Interprété
Interprété
Interprété
Typage dynamique
Typage fort
“Duck-Typing”
• “If it quacks like a duck
and flies like a duck... it
must be a duck”
“Duck-Typing”
• “If it quacks like a duck and flies like a duck...
it must be a duck”
Orienté-Objet
Types de données
Contrôle de flux
Contrôle de flux
Contrôle de flux
Fonctions
Iterator
Iterator
Fonctions, lambdas
Fonctions, lambdas
Plus d’information
• http://www.python.org
• http://docs.python.org/tut/
• http://www.python.org/download/
Téléchargement