Panorama rapide de l`informatique
Transcription
Panorama rapide de l`informatique
UE D - Programmation fonctionnelle Chapitre 1 Généralités sur l'informatique Université Blaise Pascal Plan ● Quelques définitions ● Historique de l'informatique ● Programmation Université Blaise Pascal 1. Quelques définitions ● ● Informatique – français : information automatique – anglais : science de l'ordinateur (computer science) Ordinateur = machine exécutant des opérations – calcul automatique – programmable Université Blaise Pascal 1. Quelques définitions ● ● ● Ordinateur – partie matérielle – partie logicielle Partie matérielle (hardware) – carte mère : processeur, carte graphique, mémoire – lecteurs : disques, CD, DVD – périphériques : écran, clavier, souris, imprimante Partie logicielle (software) – programmes Université Blaise Pascal 1. Quelques définitions ● Système d'exploitation – ● Programmation – ● programme qui permet de gérer un ordinateur et d'exécuter d'autres programmes création de programmes Langage de programmation – langage (ensemble de règles de syntaxe et de sémantique) dans lequel les programmes sont créés Université Blaise Pascal 2. Historique de l'informatique ● Prédictions surprenantes ● Quelques inventions ● Systèmes d'exploitation ● Langages de programmation Université Blaise Pascal 2.1 Prédictions surprenantes ● ● ● 1949, Popular Mechanics : "Computers in the future may weigh no more than 1.5 tons" 1977, Ken Olson : "There is no reason anyone would want a computer in their home" 1981, attribué à Bill Gates : "640k ought to be enough for anybody" Université Blaise Pascal 2.2 Quelques inventions ● 1645 : machine de Pascal (+ et -) ● 1694 : machine de Liebniez (* et /) ● 1850 : clavier ● 1943 : ENIAC (200 kHz, 4386 switchs manuels) ● 1963 : souris ● 1969 : Arpanet (ancêtre d'Internet) ● 1987 : carte son pour PC ● 1995 : USB Université Blaise Pascal 2.3 Systèmes d'exploitation ● 1955 : GM Research OS for IBM 701 ● 1965 : Multics ● 1969 : Unix ● 1981 : MS-DOS ● 1984 : Macintosh OS ● 1985 : Windows 1.0 ● 2004 : Ubuntu ● 2009 : Windows 7 Université Blaise Pascal 2.4 Langages de programmation ● Langages impératifs – ● Langages fonctionnels – ● Fortran (1957), C (1972) Lisp (1959), ML (1973), Caml (1985), OCaml (1996), F# (2002) Langages objets – C++ (1983), Java (1995), PHP (1997), C# (2001) Université Blaise Pascal 3. Programmation ● Qu'est-ce que c'est ? ● Pourquoi faire ? ● Comment faire ? Université Blaise Pascal 3.1 Qu'est-ce que c'est ? ● Programmation – ● Programme – ● création de nouveaux programmes ensemble de commandes pour l'ordinateur Commande – ordre simple (exécution d'un calcul, affichage d'un résultat, etc.) Université Blaise Pascal 3.1 Qu'est-ce que c'est ? ● Exemple de programmes – systèmes d'exploitation – utilitaires : Microsoft Word, Internet Explorer, Winamp, etc. – jeux Université Blaise Pascal 3.2 Pourquoi faire ? ● Quelques objectifs – efficacité : réalisation automatique et rapide de tâches complexes – automatisation : commutation téléphonique sans opérateur humain – utilisabilité : utilitaires, jeux – sûreté : contrôle aérien, surveillance automatique Université Blaise Pascal 3.2 Pourquoi faire ? ● ● Avantages – certaines tâches s'automatisent bien – une fois le programme fait, il peut être utilisé à grande échelle avec un faible surcoût Inconvénients – l'écriture d'un programme est une tâche assez complexe Université Blaise Pascal 3.3 Comment faire ? ● Démarche scientifique – comprendre le problème posé – réfléchir à une solution informatique – décrire à l'ordinateur la solution – vérifier la solution Université Blaise Pascal 3.3 Comment faire ? ● Compréhension du problème – ● comprendre l'ensemble du problème et des contraintes Réfléchir à une solution informatique – algorithmique – se fait sans ordinateur Université Blaise Pascal 3.3 Comment faire ? ● ● Décrire à l'ordinateur la solution – programmation – description textuelle (le plus souvent) – choix de la manière d'expliquer la solution = choix du langage de programmation Vérifier la solution – permet de réduire les bugs Université Blaise Pascal 3.3 Comment faire ? ● Choix du langage de programmation – en fonction des langages connus par le programmeur + du type de solution trouvé + du problème – nécessite une bonne connaissance du langage de programmation Université Blaise Pascal 3.3 Comment faire ? ● Générations de langages – 0 : langages binaires – 1 : langages d'assemblage – 2 : langages impératifs – 3 : langages objets – 4 : langages fonctionnels (dont Caml) – 5 : langages déclaratifs Université Blaise Pascal