Initiation à la programmation (Atelier)

De Wiki Linux62.

(Différences entre les versions)
(Notes sur le premier cours)
Ligne 20 : Ligne 20 :
 
== Notes sur le premier cours ==
 
== Notes sur le premier cours ==
  
==== A quoi sert la programmation ? ====
+
=== A quoi sert la programmation ? ===
  
 
sert à éviter de faire des choses rébarbatives<br>
 
sert à éviter de faire des choses rébarbatives<br>
Ligne 26 : Ligne 26 :
 
programmation capable de faire choses à la place d'un humain
 
programmation capable de faire choses à la place d'un humain
  
 +
'''programme'''<br>
 +
faire suivre une suite de commandes (instructions) qui vont faire une tâche bien spécifique<br>
 +
on l'exprime avec une syntaxe
 +
 +
'''organisation d'un programme sous plusieurs formes possibles'''<br>
 +
''fonction'' : (comme en math) -> données en entrée/données en sortie<br>
 +
''procedure'' : fonction qui ne renvoie rien
 +
 +
====Familles de programmes====
 +
'''compilés :'''<br>
 +
on prend le code source, le passe dans une moulinette et le transforme en langage machine (binaire)<br>
 +
beaucoup plus rapide mais à recompiler à chaque fois<br>
 +
un binaire par architecture -> inconvénient
 +
 +
"réservés" aux gens qui savent bien programmer : plus difficile à comprendre
 +
   
 +
'''interprétés :'''<br>
 +
un programme (interpréteur) lit le code source et le comprend instruction par instruction et les exécute une par une<br>
 +
pas besoin de recompiler mais à chaque fois besoin de relire, recomprendre et exécuter -> plus lent<br>
 +
mais plus facile à manipuler -> multi-plateforme (pas besoin de compiler pour chaque architecture)
 +
 +
plus facile car l'interpréteur dit où sont les erreurs
 +
 +
====Langages====
 
besoin d'un langage formel créé pour remplir des tâches précises
 
besoin d'un langage formel créé pour remplir des tâches précises
  
Ligne 32 : Ligne 56 :
 
permet manipulation de données (ex : declaration et affectation de variables etc) et structures de contrôle de flot (ex : si, sinon, boucles)
 
permet manipulation de données (ex : declaration et affectation de variables etc) et structures de contrôle de flot (ex : si, sinon, boucles)
 
    
 
    
'''organisation d'un programme sous plusieurs formes possibles'''<br>
 
''fonction'' : (comme en math) -> données en entrée/données en sortie<br>
 
''procedure'' : fonction qui ne renvoie rien
 
 
 
'''langage objet '''<br>
 
'''langage objet '''<br>
 
plus récent<br>
 
plus récent<br>
Ligne 41 : Ligne 61 :
 
(ex: un écran, on programme suivant l'écran)
 
(ex: un écran, on programme suivant l'écran)
  
'''programme'''<br>
+
'''python :'''<br>
faire suivre une suite de commandes (instructions) qui vont faire une tâche bien spécifique<br>
+
on l'exprime avec une syntaxe
+
 
+
'''python'''<br>
+
 
syntaxe simple et rapide à exécuter<br>
 
syntaxe simple et rapide à exécuter<br>
 
langage interprété
 
langage interprété
 +
 +
ici c'est python qui va transcrire à la volée et exécuter le programme
 +
prévu à la base pour les scientifiques
 +
on peut à peu près tout faire (du hello world au jeu 3D)
 +
même si le langage est interprété, c'est relativement rapide (ex : bien adapté pr interfaces graphiques)
 +
simple niveau syntaxe, le plus clair possible, simple à apprendre en 1-2h de pratique
 +
très explicite (pas comme perl hein ! :p)
 +
une personne qui ne programme pas est capable de comprendre le code
 +
 +
mi chemin entre Ada et C
 +
 +
'''C :'''<br>
 +
langage qui commence à dater mais toujours à jour car on peut programmer des choses quon ne peut pas faire dans d'autres langages<br>
 +
(ex: coder directement un driver pour une carte réseau)
 +
 +
'''Ada :'''<br>
 +
vieu langage créé à la demande des militaires états-uniens<br>
 +
langage compréhensible en le lisant, proche du langage naturel (celui utiliser pour parler)

Version du 12 mars 2006 à 00:00

Durant cet atelier, les participants découvriront le principe de la programmation, les différents types de langages et apprendront à faire leurs premiers programmes.

Les exemples seront réalisés avec le langage python.

Les points suivants seront abordés :

  • A quoi sert la programmation ?
  • Qu'est ce que la programmation ?
  • Compilation ?
  • Les familles de langages
  • Les types de données
  • Les structures de controle
  • L'organisation d'un programme
  • Les espaces de nommage
  • ...

Tout au long de cet atelier, nous accompagnerons les notions par des exemples et nous terminerons par le classique programme de la tortue :-) (en mode graphique).

Sommaire

Notes sur le premier cours

A quoi sert la programmation ?

sert à éviter de faire des choses rébarbatives
pour automatiser des processus difficiles à faire la main
programmation capable de faire choses à la place d'un humain

programme
faire suivre une suite de commandes (instructions) qui vont faire une tâche bien spécifique
on l'exprime avec une syntaxe

organisation d'un programme sous plusieurs formes possibles
fonction : (comme en math) -> données en entrée/données en sortie
procedure : fonction qui ne renvoie rien

Familles de programmes

compilés :
on prend le code source, le passe dans une moulinette et le transforme en langage machine (binaire)
beaucoup plus rapide mais à recompiler à chaque fois
un binaire par architecture -> inconvénient

"réservés" aux gens qui savent bien programmer : plus difficile à comprendre

interprétés :
un programme (interpréteur) lit le code source et le comprend instruction par instruction et les exécute une par une
pas besoin de recompiler mais à chaque fois besoin de relire, recomprendre et exécuter -> plus lent
mais plus facile à manipuler -> multi-plateforme (pas besoin de compiler pour chaque architecture)

plus facile car l'interpréteur dit où sont les erreurs

Langages

besoin d'un langage formel créé pour remplir des tâches précises

langage
ensemble de commandes pour exprimer quelque chose dans un langage formel
permet manipulation de données (ex : declaration et affectation de variables etc) et structures de contrôle de flot (ex : si, sinon, boucles)

langage objet
plus récent
modélisation du programme par rapport à la réalité
(ex: un écran, on programme suivant l'écran)

python :
syntaxe simple et rapide à exécuter
langage interprété

ici c'est python qui va transcrire à la volée et exécuter le programme prévu à la base pour les scientifiques on peut à peu près tout faire (du hello world au jeu 3D) même si le langage est interprété, c'est relativement rapide (ex : bien adapté pr interfaces graphiques) simple niveau syntaxe, le plus clair possible, simple à apprendre en 1-2h de pratique très explicite (pas comme perl hein ! :p) une personne qui ne programme pas est capable de comprendre le code

mi chemin entre Ada et C

C :
langage qui commence à dater mais toujours à jour car on peut programmer des choses quon ne peut pas faire dans d'autres langages
(ex: coder directement un driver pour une carte réseau)

Ada :
vieu langage créé à la demande des militaires états-uniens
langage compréhensible en le lisant, proche du langage naturel (celui utiliser pour parler)

Outils personnels
Équipes