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

.
(ajout de la section « Hello world! » (exemples dans différents langages))
(.)
{{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.
* [[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 :
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;
end Bonjour;
</source>
====Assembleur X86 sous DOS====
<source lang="asm">
cseg segment
end main
</source>
====BASIC====
<source lang="basic4gl">
10 PRINT "Hello world!"
20 END
</source>
====C====
<source lang="c">
#include <stdio.h>
}
</source>
====C++====
<source lang="cpp">
#include <iostream>
}
</source>
====FORTRAN 77====
<source lang="fortran">
PROGRAM BONJOUR
END
</source>
====Java====
<source lang="java">
public class HelloWorld {
}
</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===