Devoir de Philosophie

L'informatique a bouleversé notre pratique professionnelle, aussi bien que notre vie quotidienne.

Publié le 01/11/2013

Extrait du document

L'informatique a bouleversé notre pratique professionnelle, aussi bien que notre vie quotidienne. Au point que la machine en est personnalisée. Or son fonctionnement, efficace ou non, dépend totalement des hommes qui l'ont programmée. Alors que les effets de l'informatique investissent la société et que les ordinateurs deviennent de plus en plus performants, les progrès de l'informatique en tant que science sont beaucoup plus lents qu'on ne pourrait le croire, et la plupart des développements actuels trouvent leur source dans les travaux des pionniers des années cinquante ou soixante. L'informatique recouvre l'ensemble des disciplines scientifiques et des techniques appliquées au traitement de l'information par des moyens automatiques. Ce terme, créé en 1962 par Philippe Dreyfus, désigne aussi bien ce que les Anglo-Saxons nomment Computer Science que leur Data Processing. Histoire de l'informatique Les principales sources de l'informatique sont les automates et la logique formelle. Les automates L'invention au IIIe siècle de la clepsydre, qui mesurait le temps par un écoulement d'eau réglé par un pointeau (comme dans un carburateur de voiture), n'était encore qu'un mécanisme. On peut parler d'automatisme avec l'apparition de la programmation chez les êtres artificiels du XVIIIe siècle. Le flûtiste de Vaucanson (1709-1782) joue ainsi douze morceaux différents grâce à un programmateur à gammes analogue à celui des machines à laver actuelles. L'utilisation de cartons perforés dans l'orgue de Barbarie et le métier à tisser de Joseph Marie Jacquard (1752-1834) perfectionna la programmation. Complétez votre recherche en consultant : Les corrélats automate automatisme Jacquard Joseph Marie Vaucanson (Jacques de) Le calcul automatique. La première machine à calculer, construite en 1623 à Tübingen par Wilhelm Schickard (1592-1635), fut détruite par un incendie et ignorée jusqu'à la découverte, en 1958, de la correspondance entre son inventeur et l'astronome allemand Kepler, laquelle en décrivait le mécanisme. La machine conçue par Blaise Pascal entre 1641 et 1645 eut plus de succès et fut construite à près de cinquante exemplaires ; huit d'entre eux sont encore conservés, dont quatre au musée des Techniques à Paris. Ces machines pouvaient additionner. Leibniz (1646-1716) imagina en 1673 une machine à multiplier, laquelle fut construite en 1694. Charles Babbage (1792-1871), qui avait conçu en 1822 une « machine à différence « pour calculer et imprimer des tables mathématiques, introduisit en 1833 la programmation dans un projet de calculateur, la « machine analytique «. Celle-ci devait être capable de toutes sortes d'opérations arithmétiques et logiques et, à cette fin, comporter trois sortes de fonctions : un mécanisme pour effectuer les opérations arithmétiques (problème résolu par Leibniz) ; la capacité d'enchaîner une séquence d'opérations (par des cylindres à ergots empruntés aux automates) ; un procédé de communication entre l'homme et la machine (le carton perforé emprunté au métier de Jacquard, qui permettait de modifier la programmation selon le problème à traiter). Babbage ne vit la réalisation d'aucun de ses projets, mais il avait ouvert la voie au calcul automatique moderne. Complétez votre recherche en consultant : Les corrélats Babbage Charles calculateur ordinateur - Introduction Les livres informatique - machine à calculer, page 2516, volume 5 La logique formelle L'informatique ne peut pas être réduite à une technique issue du calcul automatique ; elle trouve également ses origines dans la logique formelle. L'origine de la logique. Les sources de la logique du XXe siècle remontent au moins à Aristote (notion de syllogisme). Euclide et Ératosthène formulèrent des algorithmes ; le mathématicien arabe al-Kh?razmi (vers 780-vers 850) donna son nom au mot algorithme ; le Pisan Fibonacci introduisit la mathématique arabe en Europe au début du XIIIe siècle. Outre son apport au calcul automatique, Leibniz a fourni deux contributions majeures : son idée de « caractéristique universelle «, qui aurait étendu à la logique la rationalité algébrique, préfigure les systèmes formels et les langages de programmation ; et, si l'usage de la numération binaire est dû à Francis Bacon (1561-1626), Leibniz (qui l'a notamment étudiée sur des documents chinois) en a compris le premier l'adaptation au calcul automatique. Ce fut George Boole (1815-1864) qui donna une formulation mathématique à la logique aristotélicienne : l'algèbre de Boole devait pendant un siècle faire figure de divertissement avant de constituer l'introduction obligée à tout enseignement de la programmation et l'outil de base de l'industrie électronique pour décrire les circuits logiques. Complétez votre recherche en consultant : Les corrélats algorithme Boole George calcul électronique codage codage - Le codage binaire logique - La logique mathématique Logique moderne et informatique. Un groupe de mathématiciens britanniques animé par Bertrand Russel entreprit, en 1910, la publication des Principia mathematica, qui visaient à faire des mathématiques un système formel où toute proposition pourrait être démontrée par un calcul logique. En 1931, l'Autrichien Kurt Gödel démontra que, pour tout système formel suffisant pour représenter l'arithmétique, il existait des propriétés vraies dont on ne pouvait démontrer ni la vérité ni la fausseté avec les règles du système luimême. Le théorème de Gödel ruinait le rêve de réunir les mathématiques dans un système déductif parfaitement cohérent. En 1936, le Britannique Alan Turing (1912-1954) s'attaqua au problème de décidabilité : un système est décidable s'il existe une procédure effective pour distinguer les propositions démontrables des autres. Afin de définir rigoureusement la notion de procédure effective, Turing élabora un modèle d'automate appelé par la suite « machine de Turing «, qui lui permit de définir la notion d'algorithme. Ce faisant, il avait fondé l'informatique puisqu'il avait ainsi inventé une machine universelle dont tous les ordinateurs sont des réalisations matérielles. Turing obtint une bourse pour séjourner à Princeton, aux États-Unis, de 1936 à 1938. S'y trouvaient, outre Einstein, l'Américain d'origine hongroise John von Neumann et Alonzo Church, avec qui il allait soutenir sa thèse et qui allait inventer le « lambda calcul «, notation mathématique équivalente à une machine de Turing et dont est issu le langage de programmation Lisp. Gödel devait aussi rejoindre Princeton. Ainsi, dix ans avant la construction du premier ordinateur, étaient réunis tous les fondements théoriques de l'informatique. Il ne restait plus à von Neumann qu'à définir, en 1945, l'architecture matérielle des ordinateurs. Complétez votre recherche en consultant : Les corrélats Church Alonzo Gödel Kurt lambda-calcul Lisp Neumann (Johann ou John von) Russell (Bertrand, 3e comte) Turing Alan Mathison Ordinateurs et informatique Les calculateurs avant les ordinateurs. Le premier calculateur électronique fonctionnant avec des tubes à vide fut l'ABC réalisé en 1939, suivi en 1946 par l'Eniac de l'université de Pennsylvanie. Ces machines n'étaient pas encore des ordinateurs : l'ABC n'était pas programmable ; l'Eniac était programmable et universel (c'est-à-dire qu'il pouvait traiter n'importe quel algorithme), mais faisait appel à un programme externe qui nécessitait de nombreuses interventions manuelles. Les principes de calcul qu'utilisaient ces machines sont encore ceux des calculateurs, mais ils ont permis à von Neumann de jeter les bases de la conception des ordinateurs (voir le dossier ordinateur). Complétez votre recherche en consultant : Les corrélats calculateur Eckert John Presper Eniac Mauchly John W. ordinateur - Historique - Introduction Le premier ordinateur. Dans un rapport de juin 1945 sur un projet de calculateur pour l'armée américaine (Edvac), inspiré de sa participation à l'équipe de l'Eniac, von Neumann fournit un cadre logique et théorique aux notions d'ordinateur et de programme : le programme enregistré. Le texte du programme est stocké en mémoire comme les données ; l'organe de commande leur fait subir des traitements de même nature. Cette architecture est encore celle de la plupart des ordinateurs des années quatre-vingtdix. Le premier ordinateur ne fut pas réalisé à Princeton, mais à Cambridge, en Grande-Bretagne : l'Edsac (inspiré du plan de l'Edvac) fut présenté en mai 1949 à Manchester. L'ère des réalisations informatiques commençait. Complétez votre recherche en consultant : Les corrélats architecture des ordinateurs EDSAC (Electronic Delay Storage Automatic Calculator) Neumann (Johann ou John von) ordinateur - Historique - La première génération d'ordinateurs programmation Les livres informatique - l'ordinateur Edsac, page 2517, volume 5 L'histoire des langages. Un des premiers problèmes posés par l'usage des ordinateurs fut de communiquer des algorithmes à la machine par l'intermédiaire d'un langage. À l'origine, on programmait directement en « langage machine « ; chaque instruction codée en binaire correspondait à un circuit logique de l'unité centrale, et les données étaient désignées par leur adresse, c'est-à-dire le rang de la « case « mémoire qui les contenait. Dès l'Edsac furent conçus des dispositifs permettant de désigner les instructions par un code alphabétique mnémonique et d'utiliser les adresses symboliques (des « noms «), que l'ordinateur était capable de faire correspondre à l'adresse physique correspondante, ce qui caractérise les « langages d'assemblage «. Il fallait un programme de traduction (ou « assembleur «) pour les traduire en langage machine. Cependant, le besoin se faisait sentir de langages moins dépendants de la structure de l'ordinateur et plus adaptés à la description des problèmes à traiter, ce que l'on appela les « langages évolués «, traduits en langage machine par des « compilateurs « ou des « interpréteurs «. Le premier, Fortran, publié en 1954 par John Backus, était une tentative de transposition de la formulation mathématique. Une école concurrente fonda ses langages sur la modélisation de la machine de von Neumann : elle proposa Algol, publié en 1958, et dont descendent Pascal (Wirth, en 1971), PL/1 et Ada (1983). La programmation fonctionnelle transcrit le lambda calcul en langage de programmation (Lisp par McCarthy en 1958). Cobol (1959) est un langage défini empiriquement, comme Fortran, sans paradigme formel. D'autres conceptions linguistiques ont vu le jour : la programmation par objets, plutôt que d'accorder la priorité aux opérations à effectuer, s'intéresse d'abord aux objets, aux données que doit traiter le programme ; la programmation logique rompt avec le style impératif des langages algorithmiques (ou procéduraux) pour y substituer des inférences à partir des prédicats de la logique du premier ordre (Prolog par Alain Colmerauer en 1970). Complétez votre recherche en consultant : Les corrélats Ada Algol assembleur Backus John Warner C (langage) Cobol Colmerauer Alain compilateur Fortran interpréteur lambda-calcul langage de programmation Lisp ordinateur - Historique - Le rôle croissant du logiciel Pascal (langage) PL/1 (Programming Language Number 1) Prolog L'histoire de la programmation. Par-delà les langages, la programmation s'est éloignée de la structure physique de l'ordinateur pour se rapprocher de celle des problèmes à traiter et de la démarche intellectuelle du programmeur. Fortran affranchissait le programmeur du risque d'erreur et de la lourdeur liés au langage machine. La « programmation structurée «, apparue en 1969 (Dijkstra), mettait l'accent sur la lisibilité du texte du programme, et reposait sur le constat qu'il était lu beaucoup plus souvent par son auteur et par les responsables de sa maintenance que par des ordinateurs. La programmation par objets et le génie logiciel avec Ada ont rompu avec la conception modulaire de la programmation structurée (un gros programme est divisé par affinements successifs en petites unités, de haut en bas) et prôné la construction de gros programmes à partir de composants élémentaires standardisés (les « briques de base «). Complétez votre recherche en consultant : Les corrélats Dijkstra Edsger Wyle programmation L'histoire des architectures. Si le modèle de von Neumann reste dominant, il a subi certaines adaptations. On a d'abord recherché l'exécution simultanée d'un programme et des opérations d'entrée-sortie (impression, écriture sur bande), beaucoup plus lentes, en faisant commander celles-ci par des processeurs spécialisés. Pour synchroniser ces opérations, il a fallu créer le « système d'exploitation «, un programme chargé d'orchestrer les activités concurrentes et de partager les ressources entre elles à partir d'un dispositif d'« interruptions «. Ces évolutions ont permis la « multiprogrammation «, ou partage de l'unité centrale entre plusieurs programmes s'exécutant à tour de rôle afin d'en optimiser l'utilisation pendant les temps d'attente dus aux entrées-sorties. Les « multiprocesseurs « comportent plusieurs unités centrales qui partagent une mémoire commune. Les premiers travaux sur le traitement parallèle datent des années soixante-dix : l'unité centrale effectue vraiment plusieurs opérations à la fois. Deux paradigmes sont utilisés pour des besoins différents : SIMD (une même instruction est appliquée simultanément à plusieurs éléments de données) et MIMD (il y a de multiples instructions et de multiples données). L'informatique est constituée sur un modèle de calcul, la machine de Turing, que l'on sait formaliser par le lambda calcul et auquel l'architecture de von Neumann offre des possibilités de réalisation concrète. L'informatique d'aujourd'hui tient dans ce cadre, hors duquel seules quelques recherches, encore en cours, sont sorties au début des années quatre-vingt-dix. Les principales branches de la discipline sont : l'algorithmique ; la linguistique de la programmation ; l'architecture des ordinateurs ; les systèmes d'exploitation ; les structures d'information et de communication ; l'intelligence artificielle. Complétez votre recherche en consultant : Les corrélats architecture des ordinateurs ordinateur - Historique - Troisième génération, ou seconde informatique ? système d'exploitation La science informatique À ses débuts, l'informatique a longtemps été réduite au rang de technique, comme si, par exemple, l'astronomie se limitait aux télescopes, ignorant la mécanique des corps célestes. Cette situation était d'autant plus paradoxale que la théorie, avec notamment les travaux de Turing, Gödel, Church, von Neumann à Princeton à la fin des années trente, avait précédé les premières réalisations. Il n'en est plus de même aujourd'hui, et l'informatique est devenue une discipline scientifique à part entière, ayant acquis ses titres de noblesse. Comme pour toute discipline récente, ses limites ne sont pas définies avec une précision totale et les différentes branches qui la constituent évoluent constamment. Pour différencier la science informatique de la technique, on emploie parfois l'expression d'« informatique formelle «. Il faut également distinguer les aspects qui se fondent sur des modèles théoriques (paradigmes formels) de ceux qui relèvent de travaux de recherche certes abstraits, mais sans le support d'un modèle théorique. Complétez votre recherche en consultant : Les corrélats Church Alonzo Gödel Kurt Neumann (Johann ou John von) Turing Alan Mathison L'algorithmique L'algorithmique étudie d'un point de vue théorique les mécanismes de manipulation de l'information mis en oeuvre dans les ordinateurs. Les informaticiens cherchent à concevoir des algorithmes pour résoudre les problèmes les plus variés, depuis la multiplication de deux nombres entiers jusqu'à la recherche d'informations dans une banque de données par exemple. Tous les algorithmes ne sont pas efficaces, aussi bien dans l'absolu que dans une situation donnée. L'algorithmique fournit le moyen de choisir la meilleure technique ou, plutôt, la technique optimale compte tenu de l'ordinateur. Trier dans l'ordre lexicographique une liste de mots tous différents les uns des autres conduit (en principe !...) à une seule liste. Mais, selon la méthode employée, le temps mis pour effectuer l'opération pourra varier facilement de 1 à 10. L'analyse des méthodes possibles par l'algorithmique va permettre de choisir celle qui est la plus efficace selon les particularités de l'ordinateur (taille de la mémoire, capacité des disques, etc.). Les caractéristiques de la liste pourront même être prises en compte pour une optimisation complète. L'algorithmique va plus loin, puisqu'elle va jusqu'à se poser la question de la décidabilité : un problème donné peut-il être résolu par un algorithme en un nombre fini d'étapes ? Existe-t-il un algorithme permettant d'en décider ? En général, la réponse est non : il n'existe pas de programme permettant de faire la preuve qu'un programme fait bien ce qu'on attend de lui. À ce niveau, l'algorithmique fait appel à des connaissances mathématiques et logiques très complexes, et d'un très haut niveau d'abstraction. Pourtant, l'intuition n'est pas absente, et bien des découvertes de l'algorithmique font l'objet d'une rationalisation a posteriori. Ainsi, la notion de pile est exposée et analysée en plusieurs pages dans l'ouvrage de Knuth, T he Art of Computer Programming . Les programmeurs n'ont cependant pas attendu cette théorisation pour traiter des problèmes concernant une succession d'événements où les piles sont très utilisées, mais ils le faisaient de façon empirique, sans modèle assurant une totale fiabilité. Complétez votre recherche en consultant : Les corrélats algorithme Art of Computer Programming (The) Knuth Donald Ervin La linguistique de la programmation Le but de tout langage de programmation est de permettre la formalisation d'un problème pour qu'il soit résolu par un ordinateur aussi exactement et efficacement que possible. Le langage machine « collait « à la machine. Un programme était une suite de séquences de 1 et de 0, images exactes des instructions en mémoire et des données sur lesquelles elles portaient. Les langages d'assemblage atteignaient le niveau symbolique, sans toutefois changer véritablement de nature. Les langages comme Fortran ou Cobol se hissaient à un niveau supérieur, mais ne procédaient pas d'un modèle formel, ni même de recherches théoriques. Leur conception même était le résultat d'un développement pragmatique qui répondait à un souci immédiat : ne pas avoir à récrire un nouveau programme chaque fois que les données d'un même problème changent. Les nombreuses versions de ces langages attestent l'absence d'une définition a priori des spécifications du langage. À l'inverse, des langages comme Algol ont été définis après des travaux théoriques importants. L'objectif initial d'Algol était l'échange d'algorithmes en dehors de toute préoccupation de programmation pratique. Le développement d'Algol s'est accompagné de nombreux travaux en théorie de la compilation : Algol a été et reste le langage de référence pour la formation à la compilation des étudiants en informatique théorique. Plus récemment, le langage Ada a été construit sur la base d'un cahier des charges complet, incluant toutes les spécifications requises par le maître d'ouvrage. La conception du langage a fait appel, en restant dans les limites fixées par le cahier des charges, aux recherches théoriques les plus récentes et les plus avancées sur les langages de programmation et sur les techniques de compilation. Tous ces langages ont en commun d'être des langages de Noam Chomsky, ou « contextes libres «. À la différence d'une langue naturelle, un langage formel de cette classe a une grammaire, dont les règles s'appliquent aux symboles, indépendamment de l'environnement (du contexte) du symbole. Par exemple, il n'y a pas de règle comparable au fameux accord du participe, qui dépend du genre et de la position du complément d'objet. Dans un langage de Chomsky, seule la forme du symbole importe, et non le contenu ou la relation avec d'autres symboles. Outre ces langages généraux et plus ou moins pragmatiques dans leur conception, il existe des langages strictement fondés sur des modèles théoriques provenant de disciplines souvent plus anciennes que l'informatique. Ce sont souvent des langages très efficaces pour une classe d'applications bien délimitée. Ainsi, le langage Lisp est une formalisation opératoire du lambda calcul, bien adaptée au traitement des listes et de tout problème qui peut se réduire à une manipulation de listes. Le langage SQL s'appuie sur le modèle relationnel et offre une grande puissance pour l'interrogation des bases de données relationnelles. Le langage Prolog est fondé sur la logique des prédicats du premier ordre. On commence aussi à voir apparaître des langages qui relèvent de modèles formels proprement informatiques. Les langages à objets font partie de ceux-là. Les objets sont des entités comportant à la fois des données et les règles de manipulation des données : c'est ce qu'on appelle l'« encapsulation «. Ces objets ont une propriété intéressante : un objet peut « hériter « des caractéristiques d'un autre objet. De nombreuses variétés de langages à objets ont vu le jour et continuent d'être élaborées. On peut les classer en trois grandes catégories : les langages de classe avec Small Talk80 ou C++ conçu à partir de Simula, les langages de « frames « (prototypes) avec KRL, OWL ou KRS, les langages d'acteurs avec Plasma. Les langages hybrides sont un mélange des précédents. Seuls les langages de classes font l'objet d'une véritable industrialisation, les autres restant dans un domaine d'applications très spéci- fiques ou relevant de la recherche pure. Complétez votre recherche en consultant : Les corrélats Ada Algol assembleur Chomsky Noam Cobol Fortran lambda-calcul langage à objets langage de programmation Lisp programmation Prolog relationnel (modèle) L'architecture des ordinateurs Turing, Gödel, Church et von Neumann étaient des spécialistes en architecture des ordinateurs avant même la naissance des premiers ordinateurs. Le modèle théorique de von Neumann est celui sur lequel est fondée plus ou moins directement l'architecture de la quasi-totalité des ordinateurs d'aujourd'hui. La recherche théorique explore d'autres voies, dont les plus prometteuses semblent être les architectures massivement parallèles ou les architectures à réseau neuronal. Dans le premier cas, l'idée est de remplacer un processeur ou un petit nombre de processeurs complexes capables de réaliser un grand nombre d'opérations par un très grand nombre de processeurs simples capables de réaliser un très petit nombre d'opérations et travaillant réellement simultanément. Dans le second cas, il s'agit de simuler électroniquement les modes de fonctionnement des neurones du cerveau humain ou, du moins, ce qu'on peut ou croit en savoir. Si l'on sait concevoir de telles machines abstraitement et même en réaliser des prototypes, voire de petites séries, on n'a toujours pas de modèle théorique pour les programmer, à la différence des machines à architecture de von Neumann ou à architecture dérivée de celles-ci. Une des difficultés théoriques principales de ces nouvelles architectures est le contrôle et la gestion des échanges d'informations. Les notions de canaux ou de bus sont totalement inopérantes face à la multiplicité exponentielle des messages que les innombrables noeuds doivent échanger, ne serait-ce que pour synchroniser leurs activités. Complétez votre recherche en consultant : Les corrélats architecture des ordinateurs intelligence artificielle - Nouveaux ordinateurs et nouveaux langages Neumann (Johann ou John von) neuronal (réseau) ordinateur - Les ordinateurs du futur Les systèmes d'exploitation Les systèmes d'exploitation sont un domaine où les recherches abstraites abondent, sans qu'il y ait de modèle théorique sous-jacent. Ils ont pourtant une importance cruciale pour l'efficacité des ordinateurs. C'est en effet le système d'exploitation qui met les ressources de la machine à la disposition des programmes utilisateurs, depuis la gestion des entrées-sorties jusqu'à la comptabilité système, en passant par le traitement des interruptions. La recherche en système d'exploitation reste, à quelques exceptions près, l'apanage des constructeurs d'ordinateurs. L'une des exceptions notables est le système d'exploitation Unix, préféré des universitaires et chercheurs en informatique, et en situation de quasi-monopole en informatique scientifique et technique, notamment sur les stations de travail de la CAO (conception assistée par ordinateur) et du DAO (dessin assisté par ordinateur). Même si les systèmes d'exploitation ne peuvent s'appuyer sur un modèle théorique global, les chercheurs dans cette branche font appel aux résultats les plus pointus des autres branches de la science informatique, telles que l'algorithmique pour les tris les plus divers. La pile est une structure de données communément employée. Le langage C est le principal langage des programmeurs des systèmes d'exploitation. De nombreuses méthodes d'informatique fondamentale ne sont plus guère mises en oeuvre que dans les systèmes d'exploitation, où elles font en revanche l'objet de travaux abstraits et approfondis. C'est notamment le cas de la programmation événementielle, de la synchronisation et de la communication entre tâches. Par exemple, l'utilisateur appuie sur une touche du clavier. C'est un événement, qui doit être pris en charge par une tâche du système d'exploitation. Si la touche frappée correspond à l'arrêt de l'exécution du programme en cours, le système d'exploitation doit communiquer cette requête à celui-ci. Mais il est peut-être souhaitable que le programme achève l'impression en cours avant de s'arrêter. Le mécanisme de synchronisation du système d'entrées-sorties bloque l'arrêt du programme tant que les opérations d'entrées-sorties ne sont pas complétées. Les systèmes d'exploitation sont souvent le lieu où les recherches les plus récentes et les plus pointues des autres branches de l'informatique trouvent leurs premières applications. Ainsi, l'interface graphique du système d'exploitation des Macintosh est l'une des premières mises en oeuvre opérationnelles des langages à objets ou, plutôt, des concepts qu'ils recouvrent. La durée de vie des systèmes d'exploitation est en général longue par rapport à celle de beaucoup d'autres programmes, mais ils subissent de nombreuses modifications au fil du temps afin de suivre les progrès de la technique, aussi bien que ceux de la recherche en système d'exploitation elle-même. Parfois, ces évolutions sont de véritables ruptures. Avec le développement de la programmation à objets, on est peut-être en train d'assister à la naissance d'un premier modèle formel proprement informatique de système d'exploitation. En effet, les firmes américaines Apple et IBM ont annoncé dès 1991 leur intention de réaliser ensemble un nouveau système entièrement fondé sur les objets. Complétez votre recherche en consultant : Les corrélats Apple Computer Incorporated CAO (conception assistée par ordinateur) IBM (International Business Machines Corporation) interface langage à objets ordinateur - Historique - Le rôle croissant du logiciel station de travail système d'exploitation Unix Les structures d'information Les données que doit manipuler un programme sont plus ou moins complexes. Le langage de programmation permet plus ou moins bien de traiter ces données comme des entités, qui, dans tous les cas, doivent être stockées en mémoire sous forme d'information, de telle sorte que leur traitement soit le plus efficace possible. Une grande partie de la recherche en informatique a consisté à extraire des données les plus diverses et les plus complexes un petit nombre de structures d'information communes et à rechercher les algorithmes de traitement les plus rapides et les plus puissants pour ces structures. On distingue habituellement deux catégories de structures d'information : les « listes linéaires «, les « arbres «. Les listes linéaires. Une liste linéaire est un ensemble de données élémentaires (éléments, noeuds, atomes, etc.) dont les propriétés structurales ne font référence qu'à la position relative des éléments de la liste, notamment les suppressions et les insertions d'éléments. Une liste linéaire a toujours deux extrémités identifiables, et elle ne peut être vide. Les deux principaux types de listes linéaires sont la « pile « et la « queue «. Une pile est une liste linéaire où l'on ne peut ajouter et supprimer un élément qu'à une seule et même extrémité. Une queue est une liste linéaire où l'on ne peut ajouter un élément qu'à une seule et même extrémité et où l'on ne peut supprimer un élément qu'à une autre extrémité. Les arbres. Un arbre est une structure non linéaire fondée sur la notion de branchement. Il est constitué d'un élément appelé racine et d'un ensemble d'autres éléments qui peut être réparti en sous-ensembles, lesquels sont eux-mêmes des arbres. Cette définition récursive est typique de l'informatique théorique ; un arbre généalogique l'illustre facilement. Comme pour les listes linéaires, il existe de nombreuses classes d'arbres. Les « arbres binaires « ont une importance particulière. La définition est ici aussi récursive. Un arbre binaire est un ensemble fini d'éléments soit vide, soit constitué d'une racine et de deux arbres binaires disjoints. Les piles, comme les arbres binaires, sont un des fondements de la programmation système. Aujourd'hui, la maîtrise de ces structures fait partie de la formation de base de tout étudiant en informatique. Autres structures et applications. Les structures de données ne se limitent pas aux listes linéaires et aux arbres. Il en existe bien d'autres, par exemple les tables du modèle relationnel pour la gestion des bases de données. La recherche sur les structures d'information a trouvé un regain de vitalité avec l'intelligence artificielle (voir ce dossier). En effet, l'un des problèmes majeurs de ce domaine est celui de la représentation des connaissances au sein des bases de connaissance. Un espoir est mis dans la conceptualisation de bases de données à objet, mais on est là dans le domaine de la recherche spéculative et encore très loin d'éventuelles applications. Complétez votre recherche en consultant : Les corrélats intelligence artificielle - L'intelligence artificielle, concept philosophique ou technique opératoire ? intelligence artificielle - Nouveaux ordinateurs et nouveaux langages Complétez votre recherche en consultant : Les corrélats banque de données base de données binaire (numération) digital ordinateur - La technique des ordinateurs - Le squelette logique Complétez votre recherche en consultant : Les corrélats basic itération Neumann (Johann ou John von) simulation La technique informatique L'aspect le plus évident de l'informatique aujourd'hui est l'importance croissante du logiciel au détriment du matériel. Aux débuts de l'informatique, l'entreprise achetait un ordinateur doté d'un système d'exploitation et d'un langage de programmation, le plus souvent Cobol, pour des applications de gestion : paie, comptabilité. Un service informatique alignait des milliers d'instructions pour réaliser un ou plusieurs programmes ad hoc. Aujourd'hui, la même entreprise achètera un produit clé en main comportant un logiciel, une formation pour les utilisateurs et un ordinateur. Si elle est de taille suffisante, elle emploiera un informaticien qui fera tourner la machine et qui assurera le suivi du logiciel, mais qui ne programmera plus. Le logiciel a pris le pas sur le matériel. L'arrivée en masse des micro-ordinateurs dans les années quatre-vingt a renforcé cette tendance. Certains logiciels coûtent même plus cher que les micro-ordinateurs sur lesquels ils tournent. Complétez votre recherche en consultant : Les corrélats Cobol logiciel micro-ordinateur ordinateur - Historique - Le rôle croissant du logiciel La grande informatique Elle est le propre des grandes entreprises qui ont d'importantes applications à traiter ou des projets scientifiques de grande envergure. Un ou plusieurs sites centraux sont équipés d'ordinateurs de grande puissance et/ou de supercalculateurs. Il s'agit souvent d'applications portant sur un grand nombre de transactions à traiter en temps réel, par exemple le système de réservation des compagnies aériennes. Il est nécessaire dans ce cas, pour l'opérateur comme pour le client, que la transaction se fasse le plus vite possible et que le système interdise de réserver deux fois la même place si par hasard deux clients sont intéressés par le même vol dans deux agences différentes. Tous les systèmes de réservation sont fondés sur le même principe et obéissent aux mêmes contraintes. La gestion des comptes bancaires est également totalement informatisée. Toutes ces applications ont en commun certaines caractéristiques : fiabilité du système, réponse en temps réel, accès à partir d'un grand, voire très grand nombre de terminaux. Seuls les plus importants des constructeurs d'ordinateurs ou des sociétés de services en informatique ont la puissance suffisante pour réaliser de telles applications. Même les plus grandes entreprises ont abandonné la réalisation de tels logiciels. D'autres applications sont aussi implantées sur des sites centraux. C'est, par exemple, le cas de la paie ou de la comptabilité de l'entreprise. Les impératifs de sécurité sont ici prioritaires. Une entreprise ne peut se permettre de perdre toutes ses données comptables, ni de les laisser à la disposition d'autrui. Il est beaucoup plus facile de remplir cette condition dans un système centralisé que dans un système réparti. D'autres applications encore relèvent de la grande informatique : les salles de contrôle des lancements de fusées-lanceurs de satellite, avec leurs batteries d'écrans connectés à quelques-uns des ordinateurs les plus puissants, en sont un exemple. Parfois, certaines applications modestes, mais sensibles, relèvent d'une approche grande informatique, alors même que les moyens à mettre en oeuvre sont ceux de la microinformatique. Il n'est pas rare de voir la grande informatique coexister avec les autres formes d'informatique dans une même entreprise. Le plus souvent, l'ensemble est relié par un réseau d'établissement. Complétez votre recherche en consultant : Les corrélats ordinateur - Historique - Superordinateurs et architectures futuristes Les livres ordinateur - l'ordinateur Cray, page 3608, volume 7 De l'informatique distribuée à la bureautique En dehors des applications qui relèvent de la grande informatique ou qui doivent être centralisées, on assiste de plus en plus à une distribution de la puissance informatique au plus près des utilisateurs finals. Le mouvement avait vu le jour avec les mini-ordinateurs. La tendance n'a fait que s'amplifier avec l'explosion de la microinformatique, qui permet de doter chacun d'une machine connectée à un réseau local et, à travers celui-ci, au site central. Cela a entraîné une véritable révolution dans les logiciels. En admettant que cela soit possible, quant à la fiabilité des résultats, il serait bien trop coûteux que chacun programme son application. Une véritable industrie du logiciel d'application est donc apparue, centrée autour des éditeurs de logiciels, le plus souvent indépendants des fabricants d'ordinateurs. Avec un traitement de texte, un tableur, un SGBD (système de gestion de bases de données) et un logiciel de communication, une grande partie des tâches de bureau est ainsi automatisée. La production en série des logiciels de bureautique a donné à ces derniers des qualités que bien des logiciels de la grande informatique pourraient leur envier, notamment en ce qui concerne l'ergonomie et la facilité d'utilisation. Complétez votre recherche en consultant : Les corrélats bureautique logiciel micro-ordinateur ordinateur - Historique - Microprocesseur et micro-informatique réseau local réseaux informatiques SGBD (système de gestion de banque de données) tableur traitement de texte Les livres ordinateur - unité de disque dur, page 3611, volume 7 ordinateur - un disque amovible, page 3611, volume 7 ordinateur - une imprimante à laser, page 3612, volume 7 ordinateur - le système spécialisé Docutech de Rank Xerox, page 3612, volume 7 ordinateur - barrettes mémoires, page 3613, volume 7 ordinateur - un microprocesseur, page 3610, volume 7 ordinateur - le Macintosh Performa d'Apple, page 3610, volume 7 ordinateur - l'Aptiva d'IBM, page 3611, volume 7 Économie de l'informatique L'informatique est d'abord née pour répondre à des besoins militaires. Son utilisation dans la gestion des entreprises a assuré son essor industriel, tandis que les grands programmes militaires et spatiaux permettaient le financement des évolutions techniques majeures : recherche nucléaire pour les premiers ordinateurs, guerre du Viêt-nam et conquête spatiale pour le microprocesseur et la miniaturisation au début des années soixante-dix, développement d'Arpanet et d'Ada, lequel a été conduit et financé par le département de la Défense américain. Au début des années quatre-vingt-dix, l'informatique réalisait un chiffre d'affaires mondial de près de 300 milliards de dollars, en croissance régulière de l'ordre de 12 % par an (doublement en cinq ans). Ces chiffres pourraient en faire la première industrie mondiale à l'orée du XXIe siècle. La micro-informatique La construction d'ordinateurs individuels à bas prix a été rendue possible par l'invention du microprocesseur (une unité centrale sur un seul composant électronique) en 1971. Très tôt, les précurseurs français manquèrent de débouché industriel, et les premières réalisations commerciales furent celles de la firme Tandy et d'Apple, fondée en 1977. En entrant sur ce marché en 1982, IBM lui a conféré une légitimité qui a assuré son succès. Dès le début des années quatre-vingt-dix, les micro-ordinateurs représentaient plus de 20 % du marché informatique mondial et des millions d'unités par an. IBM en produisait 20 %. La micro-informatique se distingue par l'homogénéité de ses produits : la majorité sont « compatibles IBM «, c'est-à-dire fortement inspirés des machines de ce constructeur et dotés du même système d'exploitation. La seule exception notable est Apple, qui propose des Macintosh. Cependant, le constructeur californien n'a pu qu'assister à un lent mais inexorable déclin de ses parts de marché et de son image au cours des années quatre-vingt-dix. Ainsi, les Macintosh représentaient environ 10 % du marché en 1990, et moins de 8 % au milieu de la décennie. Rompant avec sa politique habituelle, Apple décida en 1995 de céder des licences, c'est-à-dire d'autoriser des fabricants à commercialiser des « clones « de Macintosh, fonctionnant avec le même système d'exploitation. En 1996, Apple Computer annonçait la suppression de 1 300 emplois après que le premier trimestre de son année fiscale se fut soldé par une perte nette de 69 millions de dollars. Complétez votre recherche en consultant : Les corrélats Apple Computer Incorporated IBM (International Business Machines Corporation) Macintosh microprocesseur ordinateur - Historique - Microprocesseur et micro-informatique PC (personal computer) processeur Les livres ordinateur - schéma de principe d'un ordinateur, page 3609, volume 7 ordinateur - unité de disque dur, page 3611, volume 7 ordinateur - un disque amovible, page 3611, volume 7 ordinateur - une imprimante à laser, page 3612, volume 7 ordinateur - barrettes mémoires, page 3613, volume 7 Philippines - chaîne d'assemblage en micro-informatique, page 3862, volume 7 ordinateur - un microprocesseur, page 3610, volume 7 ordinateur - le Macintosh Performa d'Apple, page 3610, volume 7 ordinateur - l'Aptiva d'IBM, page 3611, volume 7 Le logiciel Longtemps considéré comme une fourniture annexe, accompagnant « gratuitement « le matériel, le logiciel est devenu un produit distinct en 1972, lorsque la Cour suprême des États-Unis a condamné IBM au titre de la loi antitrust et l'a obligé à facturer séparément matériel et logiciel. Le marché du logiciel. Tout laisse à penser que, dans les systèmes informatiques modernes, le logiciel coûte beaucoup plus cher que le matériel, mais il est difficile de le faire apparaître dans les chiffres pour plusieurs raisons. D'une part, les plus grandes quantités de logiciels sont répandues sur le marché, notamment sous la forme de systèmes d'exploitation pouvant comporter plusieurs millions d'instructions, par les constructeurs d'ordinateurs qui incorporent une partie de son prix dans celui du matériel. D'autre part, une autre grande quantité de logiciels est produite à l'intérieur des entreprises clientes, par leurs propres équipes ou à titre de contrats de service, et le coût est dilué dans la masse des prestations de services. Enfin, beaucoup de logiciels proviennent des universités ou de centres de recherche publics, et leur coût n'est que partiellement imputé à l'utilisateur. Le développement des systèmes ouverts, utilisables sur les ordinateurs de constructeurs différents, tels que Unix, X Windows ou, dans une certaine mesure, MS-DOS, devrait améliorer la transparence de ce marché. Il est donc difficile de déterminer le coût du logiciel et d'évaluer celui des facteurs de production (ici, essentiellement du temps de travail), parce qu'un logiciel n'est, d'une certaine façon, jamais fini. Faute de pouvoir en donner une spécification formelle, il faut faire évoluer le logiciel pour l'adapter aux modifications de l'environnement d'utilisation et corriger les défauts qui apparaissent à l'usage : c'est la maintenance. Lors d'un colloque organisé en 1972 par le gouvernement américain au sujet du coût du logiciel, l'US Air Force communiqua les chiffres de son budget logiciel, d'un montant de 1,2 milliard de dollars : le coût de l'écriture était de 75 dollars par instruction ; le coût de la mise au point, de 4 000 dollars par instruction. La réflexion sur l'ingénierie du logiciel est issue de ces constatations décourageantes, avec pour objectif l'amélioration de la qualité et de la productivité. Le cahier des charges du langage Ada est un des résultats de cette démarche. Aux débuts de l'informatique, la programmation était un domaine subalterne supposée ne pas soulever de problèmes aigus ni de difficulté théorique. Elle a constitué par la suite la difficulté essentielle pour la mise en oeuvre des systèmes informatiques. Complétez votre recherche en consultant : Les corrélats DOS (Disk Operating System) logiciel progiciel Unix Le logiciel pour micro-ordinateurs. Un marché de masse du logiciel « micro « s'est développé, alimenté presque exclusivement par des éditeurs américains. Il est dominé par Intel et Microsoft, ce qui a poussé IBM, Apple et Motorola à s'unir afin de lancer, en 1996, un standard commun basé sur le microprocesseur Power PC. Cette diffusion du logiciel a posé de façon aiguë la question de la propriété du logiciel et de sa protection, assurée en France dans le cadre du droit d'auteur complété par la loi du 3 juillet 1985. Complétez votre recherche en consultant : Les corrélats logiciel micro-ordinateur Microsoft Complétez votre recherche en consultant : Les corrélats génie logiciel software La filière informatique On peut décrire l'économie de l'informatique en terme de filière. Il faut déterminer d'où viennent, en amont, les facteurs de production : c'est de l'industrie des semiconducteurs que provient l'essentiel de la valeur ajoutée introduite dans le secteur. Cette valeur ajoutée est créée par les branches de la recherche-développement en architecture de systèmes et, surtout, de l'écriture de logiciel, avec une place importante pour les systèmes d'exploitation et les logiciels d'environnement. Informatique et société Si l'informatique a changé la vie quotidienne, son développement n'est que l'un des aspects d'une société désormais dominée par l'information et la communication. Celles-ci, par exemple, représentent plus de 50 % de l'activité économique aux États-Unis. Les métiers de l'informatique Les informaticiens se ressentent également de l'explosion informatique. Ainsi, de nombreuses offres d'emploi ne sont pas pourvues, alors que beaucoup d'informaticiens ne trouvent pas de travail. Cette distorsion du marché s'explique par l'évolution de l'informatique : les nouveaux modes de fonctionnement de la grande informatique et l'avènement de la micro-informatique l'ont complètement destructuré en déplaçant les besoins et en prenant les professionnels à contre-pied. Les grandes entreprises utilisent de moins en moins de programmeurs. Il leur suffit d'une bonne équipe système pour faire marcher le site central et assurer le suivi des logiciels d'application acquis auprès des sociétés de services. En revanche, il leur faut davantage de personnes capables d'assurer l'interface entre les besoins de l'entreprise et les fournisseurs de logiciels. Les petites entreprises n'ont pas les moyens de recruter un informaticien, mais il leur faut des distributeurs qui assurent une fonction de conseil et une maintenance efficace. Elles ont besoin aussi de stages de formation aux logiciels qu'elles utilisent couramment. On assiste donc à une redistribution des qualifications et des profils. Les informaticiens travaillent désormais surtout dans les sociétés de services, chez les éditeurs de logiciels ou les constructeurs. Quelques informaticiens systèmes assurent le fonctionnement des grosses configurations. Beaucoup de commerciaux, technico-commerciaux et techniciens se trouvent dans les entreprises informatiques en contact avec les entreprises grandes, moyennes et petites, auprès desquelles ils jouent un rôle de conseil, d'assistance, de maintenance et de formation. Parallèlement, on assiste à l'émergence de nouvelles fonctions, notamment dans la gestion des bases de données et des réseaux. Complétez votre recherche en consultant : Les corrélats informaticien SSII Le monde de l'entreprise L'informatique s'est le plus souvent substituée à des tâches répétitives et relativement peu qualifiées, ce qui entraîne sans doute des suppressions de postes de travail et produit fréquemment des glissements d'activité, soit vers des tâches encore moins qualifiées, soit au contraire vers des tâches nettement plus qualifiées. S'il est excessif de dire que ce secteur entraîne systématiquement des pertes d'emploi, il est certain qu'il induit des modifications dans les relations, notamment hiérarchiques, entre personnels en mettant des informations à la disposition directe des agents d'exécution et en créant de nouvelles hiérarchies et de nouvelles divisions entre ceux qui maîtrisent et ceux qui ignorent l'outil informatique. L'informatique a aussi transformé la politique de communication de l'entreprise. Complétez votre recherche en consultant : Les livres informatique - centre de transactions bancaires, page 2518, volume 5 informatique - laminoir à froid, page 2518, volume 5 informatique - salle des marchés, page 2518, volume 5 La vie quotidienne La plupart des grandes surfaces ont un rayon micro-informatique, dont certains matériels ne dépareraient pas dans une entreprise. Ces matériels ne servent pas seulement à des jeux plus ou moins frivoles, mais permettent la gestion du budget du ménage ou le calcul des montants de remboursements d'un prêt. Les didacticiels peuvent aider les enfants dans leur activité scolaire, tandis que les travaux rémunérés de saisie à domicile se répandent. Le Minitel permet, par exemple, de réserver places et billets, de commander directement des articles, de puiser des informations juridiques, financières, économiques, immobilières ou commerciales. Les messageries les plus diverses se sont développées. Le générique de nombreuses émissions de télévision est fait d'images de synthèse entièrement réalisées sur ordinateur, tandis que la circulation automobile de plusieurs grandes villes est régulée par un système informatique qui optimise les flux de véhicules et que la mise en page des quotidiens est désormais faite sur une station de PAO (publication assistée par ordinateur), puis transmise à l'imprimerie par télétransmission. Pour sa part, Internet, le réseau des réseaux, est le créateur d'un « cyberespace « où les communications « en ligne « permettent toutes les formes d'interactivité, depuis les consultations d'ordre professionnel jusqu'aux programmes de radio ou de télévision émis en direct du monde entier. Les questions de confidentialité, de fiabilité, de responsabilité qu'il soulève sont autant de nouveautés de la réflexion juridique. Complétez votre recherche en consultant : Les corrélats didacticiel EAO (enseignement assisté par ordinateur) informatique et libertés (loi) Internet jeu - Les jeux électroniques météorologie - La prévision du temps Minitel multimédia (système) PAO (publication assistée par ordinateur) vidéotex Complétez votre recherche en consultant : Les corrélats écriture - L'écriture aujourd'hui techniques (histoire des) - La civilisation industrielle moderne Les livres informatique - l'ordinateur à l'école, page 2521, volume 5 informatique - centre de formation permanente, page 2521, volume 5 informatique - réservation sur Minitel, page 2522, volume 5 informatique - l'ordinateur domestique, page 2523, volume 5 Complétez votre recherche en consultant : Les corrélats cybernétique Les médias informatique - les enjeux éthiques et sociaux de l'informatique Les livres informatique - la tour Eiffel, en image informatique de synthèse, page 2516, volume 5 informatique - ordinateur ETA de Control Data, page 2517, volume 5 informatique - traitement d'images satellites par informatique, page 2519, volume 5 informatique - simulation d'un prototype, page 2519, volume 5 informatique - création d'une image de synthèse, page 2519, volume 5 informatique - image de synthèse à la télévision, page 2520, volume 5 informatique - image et voix de synthèse, page 2520, volume 5 Les indications bibliographiques Agence nationale pour l'emploi, Informatique, la Documentation française, Paris, 1995. B. Gates, la Route du futur, Laffont, Paris, 1995. P. Lévy, la Machine univers. Création, cognition et culture informatique, La Découverte, Paris, 1987 (Seuil, 1992). N. Negroponte, l'Homme numérique, Laffont, Paris, 1995.

« calculateur ordinateur - Introduction Les livres informatique - machine à calculer, page 2516, volume 5 La logique formelle L'informatique ne peut pas être réduite à une technique issue du calcul automatique ; elle trouve également ses origines dans la logique formelle. L'origine de la logique. Les sources de la logique du XX e siècle remontent au moins à Aristote (notion de syllogisme).

Euclide et Ératosthène formulèrent des algorithmes ; le mathématicien arabe al-Khārazmi (vers 780-vers 850) donna son nom au mot algorithme ; le Pisan Fibonacci introduisit la mathématique arabe en Europe au début du XIII e siècle.

Outre son apport au calcul automatique, Leibniz a fourni deux contributions majeures : son idée de « caractéristique universelle », qui aurait étendu à la logique la rationalité algébrique, préfigure les systèmes formels et les langages de programmation ; et, si l'usage de la numération binaire est dû à Francis Bacon (1561-1626), Leibniz (qui l'a notamment étudiée sur des documents chinois) en a compris le premier l'adaptation au calcul automatique.

Ce fut George Boole (1815-1864) qui donna une formulation mathématique à la logique aristotélicienne : l'algèbre de Boole devait pendant un siècle faire figure de divertissement avant de constituer l'introduction obligée à tout enseignement de la programmation et l'outil de base de l'industrie électronique pour décrire les circuits logiques. Complétez votre recherche en consultant : Les corrélats algorithme Boole George calcul électronique codage codage - Le codage binaire logique - La logique mathématique Logique moderne et informatique. Un groupe de mathématiciens britanniques animé par Bertrand Russel entreprit, en 1910, la publication des Principia mathematica , qui visaient à faire des mathématiques un système formel où toute proposition pourrait être démontrée par un calcul logique.

En 1931, l'Autrichien Kurt Gödel démontra que, pour tout système formel suffisant pour représenter l'arithmétique, il existait des propriétés vraies dont on ne pouvait démontrer ni la vérité ni la fausseté avec les règles du système lui- même.

Le théorème de Gödel ruinait le rêve de réunir les mathématiques dans un système déductif parfaitement cohérent. En 1936, le Britannique Alan Turing (1912-1954) s'attaqua au problème de décidabilité : un système est décidable s'il existe une procédure effective pour distinguer les propositions démontrables des autres.

Afin de définir rigoureusement la notion de procédure effective, Turing élabora un modèle d'automate appelé par la suite « machine de Turing », qui lui permit de définir la notion d'algorithme.

Ce faisant, il avait fondé l'informatique puisqu'il avait ainsi inventé une machine universelle dont tous les ordinateurs sont des réalisations matérielles. Turing obtint une bourse pour séjourner à Princeton, aux États-Unis, de 1936 à 1938.

S'y trouvaient, outre Einstein, l'Américain d'origine hongroise John von Neumann et Alonzo Church, avec qui il allait soutenir sa thèse et qui allait inventer le « lambda calcul », notation mathématique équivalente à une machine de Turing et dont est issu le langage de programmation Lisp.

Gödel devait aussi rejoindre Princeton. Ainsi, dix ans avant la construction du premier ordinateur, étaient réunis tous les fondements théoriques de l'informatique.

Il ne restait plus à von Neumann qu'à définir, en 1945, l'architecture matérielle des ordinateurs.. »

↓↓↓ APERÇU DU DOCUMENT ↓↓↓

Liens utiles