Mathématiques, Cinéma, Informatique

Histoire de l'informatique

En 1966, l’informatique a été définie par l’Académie française comme la « science du traitement rationnel, notamment par machines automatiques, de l’information considérée comme le support des connaissances humaines et des communications dans les domaines techniques, économiques et sociaux ».

L’informatique s’étend sur plusieurs domaines.

Représentation de données


Le codage binaire des caractères est apparu avec COBOL en 1959 et a permis de stocker et de manipuler des libellés : nom et prénom, adresse…

C’est surtout en informatique de gestion que l’importance des fichiers de données s’est fait sentir : fichier des clients, des fournisseurs, des employés. À partir de 1970, les bases de données prennent un statut indépendant des programmes qui les utilisent. Elles regroupent toutes les informations qui étaient auparavant dispersées dans les fichiers propres à chaque programme.

Le traitement de textes s’est développé peu à peu avec l’apparition des machines personnelles dans les années 1980. On code non seulement le texte mais sa mise en forme matérielle. Les directives de mise en forme du texte : police de caractère, gras et italique, taille des caractères, justification, format de la feuille, numéros de page, permettent de calculer la mise en page à partir des directives. Il existe deux types de traitement de texte, ceux où on voit aussitôt la mise en forme de ce qu’on tape (WYSIWYG1) comme Word, Works… et ceux où on voit des chaînes de caractères dont certains sont des directives et d’autres du texte (TEX, HTML)

Histoire de la représentation des données

Interaction entre l’homme et la machine sur le Web


À partir des années 1990, l’internet, réseau des réseaux à l’échelle du monde, devient d’accès public. L’internet propose divers services à ses utilisateurs (courrier électronique, transfert de fichiers, connexion à distance sur un serveur quelconque). Pour cela, il s’appuie sur les protocoles TCP (Transmission Control Protocol) et IP (Internet Protocol), qui définissent les règles d’échange des données ainsi que la manière de récupérer les erreurs. Ces protocoles, souvent appelés protocoles TCP/IP, offrent un service de transport de données fiable, indépendamment des matériels et logiciels utilisés dans les réseaux.

Le 30 avril 1993, le CERN, le laboratoire européen de recherches nucléaires, basé à Genève, autorisait l’utilisation du protocole "World Wide Web" – sur lequel s’appuie la majeure partie des contenus créés sur l’internet – et, ce faisant, mettait en ligne le premier site internet au monde.

Avec le Web, les langages de scripts ont trouvé un terrain de développement imprévu. Au départ, les langages de scripts sont inclus dans les systèmes d’exploitation et servent à décrire des enchaînements de tâches du système. C’est le cas par exemple du Shell d’Unix. Un nouveau langage de scripts, Perl est créé en 1987 pour ajouter des services dynamiques aux pages Web, par exemple pour compter le nombre de visites sur une page. Puis PHP est créé en 1994 avec une bibliothèque de fonctions écrites en langage C pour l’efficacité. Il est aussi utilisé pour développer des applications client-serveur.

À partir des années 2000, la vente en ligne et développe. Les banques et l’administration utilisent le Web pour la circulation des documents. Un protocole sécurisé HTTPS est mis en œuvre pour ces usages.

Histoire d’internet

Histoire du Web

Histoire des réseaux sociaux

Architectures matérielles et systèmes d’exploitation


Vers 1930, Gödel invente pour faire des démonstrations d’indécidabilité un codage numérique des expressions logiques. Ce travail fournira plus tard des bases théoriques au codage informatique. Dans les codes informatiques ASCII (7 bits), ISO (8 bits), Unicode (16 bits), tous les caractères ont un équivalent numérique qui permet de passer d’une représentation interne sous forme de 0 et de 1 sur laquelle l’ordinateur calcule, à leur présentation lisible par l’homme sur un écran ou une feuille de papier.

En 1936 la machine de Turing définit abstraitement la notion de calcul et permet de définir ce qui est calculable ou non. C’est une machine abstraite qui définit les calculs comme des opérations qu’on peut enchaîner mécaniquement sans réflexion. Le "lambda-calcul" d’Alonzo Church en est l’équivalent.

Les premiers ordinateurs datent de 1950. C’est la notion de programme enregistré, due à John von Neumann et à ses collaborateurs, en 1945, qui transforme les machines à calculer en ordinateurs.

La mémoire centrale des machines est volatile et ne conserve les données que pendant la durée d’exécution des programmes. Or les fichiers doivent être conservés d’une exécution à l’autre. D’abord sous forme de paquets de cartes perforées, les fichiers sont conservés ensuite dans des mémoires auxiliaires comme des bandes magnétiques ou des disques durs (1956). Ces fichiers sont soit des programmes, soit des données.

Jusqu’aux années 1970, les ordinateurs recevaient les programmes et les données sur des cartes, des rubans perforés ou des bandes magnétiques. Ils renvoyaient leurs résultats quand ils étaient terminés ou retournaient des messages d’erreur énigmatiques.

Dans les années 1970 sont apparus de nouveaux types de machines informatiques avec disque dur, écran et clavier. Elles ont d’abord fonctionné en mode « ligne de commande », purement textuel et asynchrone. Elles ont pu employer les premiers langages interprétés comme Lisp et BASIC, élaborés une décennie plus tôt. Au lieu d’écrire un programme, l’utilisateur tape une commande qui est exécutée. Il garde le contrôle du processus de calcul et peut tenir compte des résultats précédents pour enchaîner.

Puis l’écran est devenu graphique et la souris a permis la manipulation directe. Les machines deviennent interactives. Le développement des interfaces ou IHM (interface homme-machine) introduit les notions d’action et d’événement dans la programmation. De ce fait, le temps compte et il n’est pas possible de recommencer une exécution à l’identique. Pour construire des interfaces facilitant l’interaction, de nouveaux concepts sont apparus comme les fenêtres, les menus déroulants, les boutons à cliquer, les cases à cocher, les formulaires. La métaphore du bureau a fait le succès du Macintosh d’Apple : elle transfère les objets (dossiers, fichiers, corbeille) et les actions du travail de secrétariat (couper, coller) dans l’univers de l’interface.

Les premiers systèmes d’exploitation datent des années 1950, mais leur emploi s’est généralisé vers 1965. Avec la deuxième génération d’ordinateurs, la gestion des périphériques s’est alourdie. Il devint impossible pour un programmeur de concevoir à la fois les logiciels d’application et les logiciels de gestion de la machine. Une distinction s’établit donc entre les applications (programmes de l’utilisateur) et les programmes système (logiciel de gestion des ressources de la machine).

Histoire de l’architectures matérielles et systèmes d’exploitation

Langage et programmation


Vers 1960 la théorie des langages de Schutzenberger donne un fondement solide à la définition, à la compilation et à l’interprétation des langages de programmation. Ce sera aussi le départ de la linguistique computationnelle de Chomsky.

Les langages de programmation évolués, comme Fortran en 1956 pour le calcul scientifique ou Algol en 1960, plus généraliste, ont facilité le travail des programmeurs. Un programme en langage évolué est un texte qui doit être compilé dans le langage de chaque machine avant d’être exécuté. Les programmes informatiques sont donc des textes analysés et transformés par d’autres programmes (éditeurs, analyseurs lexicaux et syntaxiques, compilateurs, calcul des références croisées).

Chaque machine a un langage propre correspondant à son jeu d’instructions. Les langages d’assemblage sont d’abord apparus pour écrire des programmes moins dépendants des machines en nommant les opérations et les registres. Dès la seconde moitié des années 1950, la création de langages de programmation évolués : COBOL pour la gestion des entreprises, Fortran pour les ingénieurs et les scientifiques, permet de s’affranchir du jeu d’instructions et de registres d’une machine particulière. Les programmes peuvent être réutilisés d’une machine à l’autre en écrivant des compilateur appropriés.

En 1960, deux langages très différents, Lisp et Algol sont créés à partir de bases mathématiques plus solides. Lisp est créé pour la manipulation récursive de listes et il sera le langage de prédilection de l’intelligence artificielle. Les listes représentant des expressions mathématiques peuvent être manipulées formellement ou évaluées. Les fonctions sont des objets manipulables. Interlisp en 1980 est un des premiers langages interprétés. Algol est créé pour exprimer des algorithmes. Il utilise aussi la récursivité et définit des blocs pour la portée des variables.

Le langage C a été développé vers 1970 pour la programmation du système Unix. C’est un langage impératif, orienté par les fonctionnalités des machines plus que par les facilités d’expression des programmeurs. C’est le langage de référence pour les applications de bas niveau et beaucoup de bibliothèques de programmes en C sont utilisées par les autres langages pour implanter les fonctions répétitives à cause de son efficacité.

La programmation par objets est née avec Smalltalk-80, mais elle hérite aussi des concepts d’événement et de processus de Simula. Elle a été popularisée par CLOS (Common Lisp Object System) en 1994 puis par Java en 1997.

Histoire des langages

Algorithmique


Donald Knuth (né en 1938), est l’auteur du traité (en)The Art of Computer Programming, paru en plusieurs volumes à partir de 1968. Il décrit de très nombreux algorithmes et pose des fondements mathématiques rigoureux pour leur analyse.

Source: Wikipedia