Introduction

publicité
Python
Introduction
Utilisateur
Il y a 2 catégories de personnes utilisant les
machines avec des processeurs (ordinateurs,
téléphones intelligents, tablettes, consoles,
etc):
● les programmeurs
● les autres (non-programmeurs)
Programmeur
Un programmeur sait utiliser des langages afin
de dicter à la machine un ensemble organisé d’
activités à réaliser.
Ce sont les programmeurs qui ont les clefs du
monde numérique dont l’existance est rendu
possible par les processeurs.
Ce sont des clefs vers le futur...
Langages de programmation
Il existe un grand nombre de langages.
Certains sont plutôt simples et spécialisés,
comme pour configurer une application. Par
exemple: HTML, XML, LaTex, iptables.
D’autres sont très complexes et polyvalent.
Exemple de langage spécialisé
Programme
C’est un ensemble d’éléments organisés selon
les règles syntaxiques du langage.
Dans la cas particulier des langages
interprétés, un programme est quelquefois
appelé un script.
Interprété vs compilé
Deux grandes catégories de langages:
● compilé: nécessite une étape pour
compiler le code avant l’exécution
● interprété: pas de compilation, mais plutôt
un interpréteur (qui est un programme),
qui lit et exécute le code (script)
Langages avec compilation
Quelques exemples de langages dont les
programmes doivent être compilés par un
programme appelé “compilateur”:
● C
● C++
● Java
Exécuter un programme compilé
Une fois compilé, un programme est dit
exécutable.
Généralement, on peut le soumettre au CPU
via le système d’exploitation (OS).
Dans d’autre cas, il faut le soumettre au CPU
via une machine d’exécution. Par exemple:
Java.
Langages interprétés
Quelques exemples de langages sans
compilation, mais nécessitant un interpréteur:
● PHP
● Javascript
● Bash
● LUA
● Python
● Ruby
Utilité des langages interprétés
On fait d'excellentes réalisations avec des outils tels: Excel,
Apache, Maya, etc.
Mais pour l'exceptionnel, on a besoin de programmer:
● Excel avec Visual basic
● Apache avec PHP
● Maya avec Python
● Etc
C'est ce qui permet d'aller au-dela du conventionnel.
Paradigme
Un paradigme est un style fondamental de
programmation qui traite de la manière dont les
solutions aux problèmes doivent être
formulées. Les paradigmes les plus courant
sont: structurée, orientée objet et visuel.
Certains langages supportent plusieurs
paradigmes. Ça les rend plus flexible, mais
aussi plus sujet aux erreurs.
Paradigme structuré
Une structure du programme centrée sur la
décomposition en fonctions.
Le langage C a été développé en 1970 et est
un exemple typique de langage “pur” structuré.
Paradigme objet
Une structure centré sur le concept d’objet. Les
éléments de la solution informatique sont des
objets avec une identité (attributs) et des
mécanismes d’interaction (méthodes).
Le langage Java est un exemple typique de
langage objet.
Paradigme visuel
L’assemblage des éléments de la solution
informatique se fait avec une interface
graphique. On crée un canvas de solution avec
des entités graphiques dont l’assemblage final
est le programme.
Visual basic est un exemple typique, mais on
peut aussi dire que les outils visuels pour
encoder des animations de personnages sont
basés sur ce paradigme.
C++
C’est un langage multi-paradigme.
C’est le langage C, plus les éléments
nécessaires pour supporter le paradigme
orienté objet.
Il a été développé dans les années 80 et
nécessite d’avoir un compilateur.
Python
C’est aussi un langage multi-pardigme.
Python date du début 1990. Il a été crée par
Guido van Rossum.
Il nécessite un interpréteur.
Pourquoi s’intéresser au Python?
●
●
●
●
●
●
●
●
●
relativement simple
intuitif et élégant
flexible et puissant
portable
multi-paradigme
multi-plateforme
bien documenté
bien supporté
gratuit et sans redevance
Multi-plateforme vs portabilité
L’interpréteur Python fonctionne sur une très
large gamme de machines. En outre, sur celles
qui utilise l’un des OS suivants:
● Windows (toutes versions)
● UNIX:
○ BSD (incluant iOS)
○ Linux (incluant Android)
Étant interprété, le code devient portable sur
toutes ces plateformes.
Exemples
pygame
Panda3D et Python
Web data
Téléchargement