Introduction
Depuis que vous utilisez un ordinateur, vous avez très certainement entendu parler de cette activité
mystérieuse qui se nomme “programmer”, exercée par ces êtres étranges appelés “programmeurs”.
Tout ce que vous voyez sur votre écran est l’expression de programmes. Nous vous proposons, dans
cet ouvrage, de passer de l’autre côté de l’écran, de découvrir la programmation.
Un ordinateur est un outil, comme un tournevis. Mais un tournevis est fabriqué pour exécuter une
tâche précise et unique. Au contraire, un ordinateur est conçu pour être fortement modulable et
adaptable à pratiquement tous les contextes possibles. Pour cela, il a la capacité d’exécuter un certain
nombre d’ordres, plus communément appelés instructions, chacune correspondant à une tâche
simple et élémentaire. Programmer consiste à définir une succession ordonnée d’instructions
élémentaires devant être exécutées par la machine, pour obtenir l’accomplissement d’une tâche
complexe. Un aspect essentiel de la programmation est donc la mise en pratique de la méthode carté-
sienne : décomposer un problème complexe en sous-problèmes simples.
Mais peut-être vous demandez-vous : “Pourquoi programmer ?”
Simplement par jeu ! Écrire un programme et le voir s’exécuter, chercher pourquoi il ne fait pas ce
que vous attendiez est une activité ludique en soi.
Plus sérieusement, aussi bien en milieu professionnel que familial, on éprouve fréquemment le
besoin d’automatiser certaines choses répétitives et laborieuses, d’obtenir certains résultats, de
traiter certaines données pour lesquelles on ne dispose pas de logiciel tout prêt – ou alors ceux qui
existent sont mal adaptés ou trop onéreux à acquérir. Dans ce genre de situations, avoir la capacité
d’écrire un petit programme peut faire gagner beaucoup de temps et de précision, et limiter les
efforts. Voici un autre aspect important de la programmation : elle est bien souvent la meilleure
réponse à la paresse !
Book_Prog_initia.indb 1 03/02/11 15:52
© 2011 Pearson France – Initiation à la programmation avec Python et C++ – Yves Bailly
2 Initiation à la programmation avec Python et C++
Un peu d’histoire
Les premiers ordinateurs étaient programmés à l’aide de cartes perforées, les instructions étant
données sous la forme de longues suites de 0 et de 1 qu’il fallait entrer manuellement. Les program-
meurs devaient se confronter directement au langage machine, c’est-à-dire au langage brut que
comprend la machine – qui n’a rien d’humain. Au milieu des années 1950 apparurent les premiers
langages de programmation, dont l’objectif primordial était de détacher le programmeur du langage
machine. Dès lors, les programmes sont écrits dans un dialecte relativement compréhensible respec-
tant une syntaxe et une grammaire strictes et précises. Comme ces langages furent développés par
nos amis anglo-saxons, on pourrait les qualifier de langue anglaise très simplifiée.
Tandis que le langage machine est, par nature, très lié à l’électronique de l’ordinateur, le développe-
ment des langages de programmation a ouvert la voie de l’abstraction, principe fondamental qui
cherche à éloigner autant que possible le programmeur des contingences matérielles pour le rappro-
cher des concepts, de la “chose” concrète ou abstraite qu’il doit traiter. Lorsqu’on veut modéliser
informatiquement un moteur de voiture ou la courbe subtile d’une fonction mathématique, autant ne
pas trop s’encombrer l’esprit avec l’état moléculaire des transistors du microprocesseur…
C’est ainsi qu’au fil du temps différents paradigmes (ensembles de règles et de principes de concep-
tion) de programmation se sont développés. Programmation structurée, fonctionnelle, orientée
objet… À chaque évolution, l’objectif est toujours le même : permettre la meilleure représentation
informatique possible, la plus intuitive possible, de l’idée sur laquelle opère le programme.
On peut esquisser une sorte d’arbre généalogique des langages de programmation. En donner une
liste exhaustive est pratiquement impossible : des milliers sont – ou ont été – utilisés. La Figure I en
présente tout de même quelques-uns, les flèches indiquant les sources d’inspiration utilisées pour un
langage donné.
Figure I
Généalogie
simplifiée de
quelques langages
de programmation.
1954
1960 1970 1980 1990 2000
Fortran
Algol
Lisp
Cobol
Simula
Smalltalk
Pascal
C
Modula
Ada
C++
Eiffel
Perl
VisualBasic
Python
Ruby
Java
Basic
C#
VB.NET
Il ne s’agit là que d’une vue vraiment très simplifiée, presque caricaturale. Mais vous pouvez
constater que les langages s’inspirent fortement les uns des autres. Par ailleurs, la plupart de ceux
présentés sur ce schéma sont toujours utilisés et continuent d’évoluer – c’est, par exemple, le cas du
vénérable ancêtre Fortran, notamment dans les applications très gourmandes en calculs scientifiques.
Book_Prog_initia.indb 2 03/02/11 15:52
© 2011 Pearson France – Initiation à la programmation avec Python et C++ – Yves Bailly
Introduction 3
Le choix des langages
Il en va de la programmation comme de bien d’autres disciplines : c’est en forgeant que l’on devient
forgeron. Cette initiation s’appuiera donc sur deux langages de programmation appartenant à deux
grandes familles différentes : celle des langages interprétés et celle des langages compilés.
Python C++
Le langage Python a été conçu en 1991, principale-
ment par le Néerlandais Guido Van Rossum, comme
successeur du langage ABC, langage interactif lui-
même destiné à remplacer le langage Basic.
Le langage Python est un langage orienté objet inter-
prété.
Les programmes écrits dans un langage interprété
ne sont pas directement exécutés par l’ordinateur,
mais plutôt par un interpréteur. Grossièrement,
l’inter préteur lit les instructions du programme et les
transforme en instructions destinées à la machine.
L’interpréteur est donc toujours nécessaire pour
exécuter un programme en langage interprété.
Il figure aujourd’hui en bonne place dans de
nombreux domaines, de l’analyse scientifique à la
programmation de jeux en passant par la réalisation
rapide de petits outils spécialisés ou de sites web
dynamiques.
Le langage C++ a été conçu en 1983 par Bjarne
Stroustrup comme une extension du langage C,
langage proche de l’électronique et encore très large-
ment utilisé, pour lui apporter les principes de la
POO (programmation orientée objet).
Le langage C++ est un langage orienté objet compilé.
Les programmes écrits dans un langage compilé
doivent subir une phase intermédiaire, la compilation,
à l’issue de laquelle on obtient un fichier directement
exécutable par la machine. La compilation est effec-
tuée par un compilateur, qui n’est alors plus néces-
saire dès que le fichier exécutable a été produit.
Le C++ est aujourd’hui l’un des langages les
plus utilisés dans le monde, dans toutes sortes de
contextes, notamment ceux où la rapidité d’exécution
est primordiale.
Bien qu’appartenant à deux familles différentes, ces deux langages partagent un point commun essen-
tiel : ce sont des langages objet, c’est-à-dire des langages utilisant les techniques de la programmation
orientée objet. Nous verrons plus loin ce que ce terme sibyllin représente. Pour l’heure, disons simple-
ment qu’il s’agit, de très loin, du paradigme de programmation le plus répandu dans le monde.
Et maintenant…
Que les impatients se rassurent, nous allons très bientôt passer à la pratique. Une première partie
présentera quelques-uns des concepts fondamentaux de la programmation au moyen de nombreux
exemples, à partir desquels nous construirons progressivement un véritable programme permettant
de jouer au problème des Tours de Hanoï (aussi appelé problème des Tours de Brahma). Cela après
avoir installé sur votre ordinateur les logiciels nécessaires, essentiellement l’interpréteur Python et
le compilateur C++.
Une deuxième partie nous emmènera plus loin dans l’exploration des techniques permettant la réali-
sation d’un logiciel, notamment en décrivant ce qu’est exactement cette mystérieuse programmation
objet. Nous aboutirons alors à un programme presque complet, disposant d’une interface graphique
attrayante (du moins, espérons-le !).
Book_Prog_initia.indb 3 03/02/11 15:52
© 2011 Pearson France – Initiation à la programmation avec Python et C++ – Yves Bailly
4
Enfin, cet ouvrage se terminera par quelques pistes destinées à vous ouvrir de larges horizons, de
l’affichage en trois dimensions aux outils sophistiqués dédiés à la programmation, sans oublier une
petite présentation d’autres langages courants.
Nous n’aurons pas la prétention de vous faire devenir en quelques pages un ingénieur en développe-
ment logiciel : c’est un métier à part entière qui nécessite des années d’études et d’expériences. Ce
livre n’est en aucun cas un manuel pour apprendre les langages Python ou C++ : ceux-ci ne sont
utilisés que comme support des concepts généraux de la programmation, tels qu’ils se retrouvent
dans la plupart des langages de programmation. Les approches qui seront proposées ici ne seront pas
toujours les plus efficaces en termes de performances, mais nous recherchons avant tout la compré-
hension et l’acquisition des concepts. À l’issue de cette lecture, vous serez en mesure de créer vos
programmes pour vos propres besoins et d’aller chercher les informations qui vous manqueront
inévitablement. Ce sera alors pleinement à vous de jouer.
Initiation à la programmation avec Python et C++
Book_Prog_initia.indb 4 03/02/11 15:52
© 2011 Pearson France – Initiation à la programmation avec Python et C++ – Yves Bailly
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !