« Informatique au lycée/Programmation et langages » : différence entre les versions

Contenu supprimé Contenu ajouté
Jcbach (discussion | contributions)
ajout de la section « Hello world! » (exemples dans différents langages)
.
Ligne 1 :
{{Chapitre
=Un peu d'histoire=
| idfaculté = informatique
| niveau =
| numéro = 6
| précédent = [[../Algèbre booléenne et circuits logiques/]]
| suivant = [[../Structures de données avancées/]]
}}
 
==Un peu d'histoire==
 
En 1936, la publication de l'article fondateur de la science informatique « On Computable Numbers with an Application to the Entscheidungsproblem », par [[w:Alan_Mathison_Turing|Alan Mathison Turing]], allait donner le coup d'envoi à la création de l'ordinateur programmable. Il y présente sa [[w:Machine_de_Turing|machine de Turing]], le premier calculateur universel programmable, et invente les concepts et les termes de programmation et de programme.
Ligne 14 ⟶ 22 :
* [[w:James_Gosling|James Gosling]] et [[w:Patrick_Naughton|Patrick Naughton]], créateurs de [[w:Langage_de_programmation_Java|Java]] (1991).
 
===Évolution des langages informatiques===
On distingue aujourd'hui cinq générations de langages.
La '''première génération''' est le langage machine, ou code machine. On parle aussi de langage natif. Il est composé d'instructions et de données à traiter codées en binaire. C'est le seul langage qu'un ordinateur peut traiter directement. Voici à quoi peut ressembler un programme en langage machine :
Ligne 55 ⟶ 63 :
Ce qui signifie que Sally et Erica sont sœurs. En effet, Sally et Erica ont le même père (Tom).
 
===Quelques langages courants===
 
===« Hello world ! »===
C'est dans un memorandum interne de [[w:Brian Kernighan|Brian Kernighan]], ''Programming in C : A tutorial'', écrit en
1974 dans les [[w:Laboratoires_Bell|laboratoires Bell], que l'on trouve la première version d'un mini-programme affichant à
l'écran « Hello World! ». Voici comment cela s'écrit dans divers langages :
 
====Ada====
<source lang="ada">
with Ada.Text_IO;
Ligne 71 ⟶ 79 :
end Bonjour;
</source>
====Assembleur X86 sous DOS====
<source lang="asm">
cseg segment
Ligne 88 ⟶ 96 :
end main
</source>
====BASIC====
<source lang="basic4gl">
10 PRINT "Hello world!"
20 END
</source>
====C====
<source lang="c">
#include <stdio.h>
Ligne 103 ⟶ 111 :
}
</source>
====C++====
<source lang="cpp">
#include <iostream>
Ligne 113 ⟶ 121 :
}
</source>
====FORTRAN 77====
<source lang="fortran">
PROGRAM BONJOUR
Ligne 119 ⟶ 127 :
END
</source>
====Java====
<source lang="java">
public class HelloWorld {
Ligne 127 ⟶ 135 :
}
</source>
====Javascript====
<source lang="javascript">
document.write("Hello world!");
</source>
====Python 1 et 2====
<source lang="python">
print "Hello world!"
</source>
====Python 3====
<source lang="python">
print("Hello world!")
</source>
 
==La machine de Turing==
 
==Pseudo-code==
 
===Conventions===
 
===En pratique===
 
===Exemple de pseudo-code===
 
==Transformation du code source==
 
===Compilation===
 
===Interprétation===
 
===Avantages, inconvénients===
 
==Paradigmes==
 
===Programmation impérative===
 
===Programmation structurée (ou procédurale)===
 
===Programmation orientée objet===
 
===Programmation fonctionnelle===
 
==Les notions principales de la programmation==
 
===L'affectation===
 
===Les tests===
 
===Les boucles===
 
===Les sous-programmes===
 
===La récursivité===
 
==La programmation orientée objet==
 
===Encapsulation===
 
===Héritage===
 
===Polymorphisme===