1) Des Machines et des Noms

Chronologie Sommaire de l'Édification de l'Informatique
Antiquité Abaques, Calculateurs et calendriers- Mécanisme d'Antikythera
IX° Prémices de l'algorithmique avec Mukhamad Ibn Musa Al'Khowarizmi
XVII° Les logarithmes de John Napier
La règle à calculer de William Oughtred
La machine à calculer de Wilhelm Schickard
La Pascaline de Blaise Pascal
Le calculateur de Gottfried Wilhelm Leibniz
XIX° Le métier à tisser à cartes perforées de Joseph Marie Jacquard
L'Arithmomètre de Charles Xavier Thomas de Colmar
Le moteur différentiel puis le moteur analytique de Charles Babbage
L'écriture algorithmique de Ada Augusta Byron, Comtesse de Lovelace
Les lois de la logique de Georges Boole
Le téléphone d'Alexander Graham Bell
La machine à cartes perforées d'Herman Hollerith
Création de la Tabulating Machine Company qui deviendra International Building Machine en 1924
Première

moitié

du

XX°

siècle
1904 : La diode de John Ambrose Fleming
1906 : La triode de Lee De Forest
1925-1930 : Le calculateur analogique de Vannevar Bush
1928 : Le tube cathodique de Vladimir Zworykin
1928 : L'Entscheidungsproblem de David Hilbert
1936 : La machine d'Alan Turing
1937-1942 : L'ABC de John Vincent Atanasoff et Clifford Berry
1938 : Création de Hewlett-Packard par William Hewlett et David Packard
1938-1941 : Les Z1, Z2, Z3 de Konrad Zuse
1939-1940 : Le Bell Labs Model 1 de Georges Stibitz et Samuel Williams
1939-1949 : Les MARK-I, II et III de Howard Aiken pour Harvard et IBM
1942-1943 : Le décrypteur Colossus
1943-1945 : L'ENIAC de John Presper Eckert et John Mauchly
1944-1946 : Projet de l'EDVAC par Eckert, Mauchly et John von Neumann
1945 : L'architecture de von Neumann
1945 : Le Z4 de Zuse et le langage "PlanKalkul"
1945 : Grace Murray Hopper découvre le premier "bug"
1945 : "As we may think" de Vannevar Bush
1946-1949 : L'EDSAC de Maurice V. Wilkes
1947 : Le transistor de John Bardeen, Walter Brattain et William Shockley
1947-1949 : Le BINAC d'Eckert et Mauchly
1948-1949 : Le Manchester MARK-I "Baby"
1948 : Le SSEC d'IBM
1948-1951 : L'UNIVAC d'Eckert et Mauchly (rachetés par Remington-Rand)
1949 : Short Order Code, premier langage évolué par John Mauchly
1950 : L'Assembleur de Maurice V. Wilkes
1950 : Test de Turing sur l'intelligence artificielle
1951 : Le compilateur A0 de Grace Hooper
1952 : L'EDVAC est finalisé à la Moore School
1952 : L'IBM 701
1952 : Le CUBA premier ordinateur français
1955 : L'ENIAC est mis hors service
1956 : Le premier disque dur d'IBM (5 Mo)
1958 : Les ordinateurs à transistors
1958 : Le premier circuit intégré

2) Les Langages Informatiques

Pour être exécuté sur un ordinateur, un programme informatique doit être écrit en langage machine c'est à dire qu'il ne peut contenir que des instructions compréhensibles par le processeur. Un programme exécutable est totalement dépendant de la machine pour laquelle il est écrit. Ainsi, les programmes pour IBM PC doivent être compatibles avec le jeu d'instructions des microprocesseurs Intel de la famille 80x86 qui ne présente aucune compatibilité avec les microprocesseurs de la famille 68000 de Motorola qui équipent le McIntosh de Apple.
Quel que soit son degré d'évolution, un processeur n'est capable d'exécuter qu'un nombre limité d'instructions "plus ou moins" rudimentaires (lecture/écriture de la mémoire, opérations arithmétiques et logiques élémentaires, utilisation des registres, gestion d'interruptions programmées ... ). Une action "complexe" (opérations sur des nombres décimaux, affichage, impression, ... ) doit être décomposée jusqu'au niveau du processeur.
Le langage de programmation de plus "bas niveau" est le langage machine, suite ésotérique de nombres binaires. Un ton au dessus se situe le langage d'assemblage. Il utilise des abréviations (mnémoniques) qui correspondent aux instructions élémentaires mais sont plus claires pour le programmeur. Le programme source obtenu doit être ensuite traduit (assemblé) dans le langage machine par un programme (assembleur) adapté au processeur afin d'obtenir le programme objet exécutable.
Dans les langages de plus haut niveau les instructions élémentaires associent de nombreuses instructions du langage machine. Le programme source est plus rapide à écrire (dans la mesure où les mots utilisés sont pris dans le langage naturel), plus facile à modifier et indépendant de la machine à laquelle il est destiné. La traduction en langage exécutable se fera à l'aide d'un programme adapté à l'ordinateur : compilateur ou interpréteur.
Programme compilé : s'il ne rencontre pas d'erreur de syntaxe dans le code source, le compilateur crée un programme objet (indépendant du langage dans lequel il a été écrit) puis un programme exécutable après édition de liens. Pour le modifier, il faudra intervenir sur le programme source et refaire une compilation.
Programme interprété : l'interpréteur ne traduit le programme source en langage machine qu'au moment de son exécution. Celle-ci est moins rapide que dans le cas d'un programme compilé et le programme "plante" sur les erreurs de syntaxe.
Programme pré-compilé : un "compilateur virtuel" fabrique un p-code (commun à toutes les machines). Ce code est ensuite interprété par chaque ordinateur pour son processeur.

Eléments d'un langage de programmation
Types d'Instructions Contenus
Entrées et Sorties Entrées : Clavier, Souris, Lecture de fichiers, ...
Sorties : Ecran, Imprimante, Ecriture de fichiers, ...
Calculs Numériques : Arithmétiques, algébriques, trigonométriques, ...
Alphanumériques : Concaténations, extractions de chaînes, ...
Structures de contrôle Alternatives (conditionnelles)
Itératives (répétitives)
Manipulations de données Recherches, Ajouts, Mouvements, Suppressions, ...

Un langage général doit être complet c'est à dire qu'il doit permettre d'exprimer tous les algorithmes calculables.
Ne sont pas considérés comme langages de programmation :
les langages de description de pages comme HTML ou PostScript
les langages de 4ème génération souvent destinés aux bases de données relationnelles comme SQL ou Oracle
les systèmes d'exploitation comme UNIX ou Linux
les applications comme Excel

Classes de langages
Algorithmique
ou
Impératif
ou
Procédural
Les programmes décrivent séquentiellement une suite d'actions que la machine doit effectuer.
Une procédure est une portion de programme qui accomplit une tâche spécifique.
Certaines procédures appartiennent au langage (intrinsèques), d'autres sont écrites par le programmeur.
Ex : Fortran, Algol, Cobol, Ada, Basic, Pascal
Déclaratif fonctionnel
ou
Déclaratif logique
Les programmes sont construits sur la déclaration de fonctions et/ou de relations.
Ces langages sont utilisés en Intelligence Artificielle.
Ex : Lisp, ML, C, Prolog
Orienté objets Les programmes manipulent des objets eux mêmes issus de classes (un objet est une instance d'une classe) qui possèdent leurs propres attributs et méthodes.
Ces langages pratiquent l'encapsulation (interdiction d'accéder au contenu d'un objet), l'héritage (une classe hérite de la classe dont elle dérive) et le polymorphisme (une méthode pourra agir différemment suivant la classe à laquelle elle s'applique).
De nombreux langages ne sont pas purement orientés objets (hybrides).
Ex : Smalltalk, Eiffel, C++, Java

3) Petite Histoire des Langages

La première programmation des machines consistait en interventions manuelles sur le cablage électrique. On vit ensuite apparaître des tableaux de connexion amovibles qui permettaient de développer un programme sans immobiliser le système puis des tableaux de connexion secondaires (sortes de sous programmes). Les premières machines informatiques à programme, dérivées des concepts de Von Neumann, apparurent au début des années 50 et avec elles les langages de création de programmes exécutables.

  SE : Système d'Exploitation - LP : Langage de Programation
LDP : Langage de Description de Page - A : Application
1950
1951
1956
1959
1959
L'Assembleur de Maurice V. Wilkes - LP
Le Compilateur de Grace Murray Hopper - LP
Fortran pour IBM - LP
Cobol par Grace Hopper - LP
 Lisp par John Mac Carthy au MIT - LP
1960
1964
1965
1968
1969
Algol - LP
PL/1 - LP
Basic - LP
Pascal par Nikhlaus Wirth - LP
Unix par K. Thompson - SE
1972
1972
1974
1978
1979
1979
C par D. Ritchie - LP
Prolog par Alain Colmeraurer - LP
CP/M-DOS par G. Kikdall - SE
WordStar par John Barnaby - A
VisiCalc par Dan Bricklin et Bob Franston - A
Ada par Jean Ichbiach - LP
1981
1981
1982
1985
Lotus 1.2.3 - A
MS-DOS par Tim Paterson pour MicroSoft - SE
PostScript d'Adobe - LDP
Windows de Microsoft - SE
1990
1991
1995
HTML par T. Berners-Lee - LDP
Linux par Linus Torvalds - SE
Java de Sun MicroSystems - LP

L'ACM (Association for Computing Machinery) a organisé deux conférences sur l'histoire des langages de programmation (HOPL). Les langages pris en considération devaient exister depuis (au moins) dix ans, être encore utilisés et avoir eu une influence importante dans le monde de la programmation. Vers 1967, on dénombrait cent vingt langages dont quinze seulement étaient vraiment utilisés. En 1978, parmi les treize langages retenus pour la première conférence on trouve Algol, APL, Basic, Cobol, Fortran, Jovial, Lisp, PL/1, Simula et Snobol. En 1993, sur des critères semblables, la seconde conférence en retint quatorze dont Ada, Algol 68, C, C++, Forth, Icon, Lisp, Pascal, Prolog et Smalltalk.
Les principaux langages actuels (2002) sont sans doute Ada, C, C++, Cobol, Fortran, Haskell, Java, JavaScript, Lisp, ML, Perl, PHP, PostScript, Prolog, Python, Smalltalk et VisualBasic.

4) Mini Dictionnaire des Langages

Ada (Hommage à Ada Augusta Byron comtesse de Lovelace dont le nom est déjà tout un programme)
Né en 1979, Ansi en 1983, Iso en 1987, Objet en 1995.
Langage de programmation compilé conçu par Jean Ichbiach de CII Honeywell Bull après un concours du Département de la Défense qui en a fait son langage standard. Caractérisé par un fort typage des données, il est arrivé trop tard pour les "main frames" et trop tôt pour la micro. Concurencé par C, il reste présent sur les systèmes embarqués de l'US Air Force.
Dérivé de Pascal. Souche de Eiffel, Oak.
Algol (Algorithmic Language)
Né en 1958, modifié en 1960,1968.
Langage de programmation compilé conçu par un consortium européen pour concurrencer Fortran trop proche d'IBM. Très théorique et indépendant de la machine, il permet les calculs sur des variables en mémoire et autorise la récursivité.
Dérivé de Fortran. Souche de CPL, Pl/1, Simula, Mesa.
APL (A Programming Langage)
Né en 1960, APL2 en 1984, objet en 1996.
Langage de programmation interprété conçu par Ken Iverson d'IBM pour être aux nombres ce que LISP était aux caractères. Il utilise des symboles mathématiques non disponibles au clavier. Il échoua devant Basic et les tableurs dérivés.
Souche de J.
Basic (Beginner's All-purpose Symbolic Instruction Code)
Né en 1964, MS Basic 2.0 en 1975, Visual Basic 1.0 en 1991, Visual Basic 6.0 en 1998, Visual Basic Net en 2002.
Langage de programmation interprété conçu par John Kemeny et Thomas Kurtz à Darthmouth. Il fut diffusé en plusieurs dialectes et étendu au graphique et au multimédia sur les premiers micros (Bill Gates créa un Basic pour Altaïr). Faiblement typé et peu structuré, il est compilé et orienté objet dans l'environnement Visual Basic de Microsoft.
Bug Le 09/09/1945 à 15 h 45 Grace Murray Hopper (en faisant le ménage ?) découvre un papillon dans le Relais 70 du Panneau F du prototype de Mark-II et note "First actual case of bug being found".
C (Après B ?)
Né en 1971, K&R en 1978, Ansi en 1989, Iso en 1990, 1996, 1999.
Langage de programmation compilé conçu par Brian Kernighan et Dennis Ritchie au Bell Laboratories à partir des langages du MIT. C'est le langage système utilisé pour le développement d'Unix. Moyennement typé, très structuré, il utilise une syntaxe particulière. Ce langage de haut niveau permet d'utiliser, comme l'assembleur, des instructions de bas niveau.
Héritier de CPL, BCPL, B. Souche de Awk, Csh, C with Classes, Concurent C, Objective C, Python, Cmm.
C++ (de C)
Né en 1983, Ansi/Iso en 1998.
Langage de programmation compilé conçu par Bjarne Stroustrup au Bell Lab en utilisant le compilateur C. Il appartient à la chaîne GNU du MIT. Langage objet avec héritage multiple, pointeurs et surcharge d'opérateurs. Visual C++ conserve sa puissance dans un environnement plus convivial.
Héritier de C with Classes. Souche de Cmm, C#
Cobol (Common Business Oriented Language)
Né en 1959, modifié en 1961, Extended en 1962, modifié en 1965, Ansi en 1968, 1974, Osi/Ansi en 1985, Objet en 1997.
Langage de programmation compilé conçu par Grace Hopper et un comité de normalisation des applications de gestion pour un consortium américain dont le Département de la Défense. Il est spécialisé dans les fichiers et le traitement de données. Verbeux, sa syntaxe et son vocabulaire sont proches de l'anglais courant.
Héritier de B-O, Flow-Matic. Souche de PL/1.
CP/M-DOS (Control Platform for MicroComputer - Disk Operating System)
Système d'exploitation pour micro-ordinateur conçu en 1976 par Gary Kildall pour Digital Research. Adaptation simplifiée (très !) d'Unix à une seule machine.
dBase Logiciel de base de données relationnelle pour micro-ordinateur, développé par Wayne Ratliff pour Ashton Tate, muni d'un langage de création et gestion de type SQL, et commercialisé en 1980 sous le nom de dBase II. Les versions III et IV ont occupé 70% du marché et leur format de fichiers s'est imposé comme standard de base de données sur micros. Incapable de s'adapter à Windows, la société a été rachetée en 1991 par Borland.
L'environnement Clipper (Nantucket) lui apportait un langage de programmation complet et un compilateur.
Forth (Pour Fourth)
Né en 1969, Objet en 1987.
Langage de programmation interprété conçu par Charles Moore astronome. Il fournit un langage exécutable pour machine virtuelle. Il manipule deux piles (évaluation et contrôle), un dictionnaire (modifiable par ajout ou modification de mots), la récursivité et la notation Polonaise Postfixée. Utilisé comme système d'exploitation sur certains micro-ordinateurs, il a été utilisé dans plusieurs satellites pour la gestion de processus en temps réel. Le système est adaptable à tous les processeurs (du microcontrôleur 8 bits au Cray) et à tous les systèmes d'exploitation.
Souche de PostScript
Fortran (Formula Translator)
Né en 1954, I en 1956, II en 1957, III en 1958, IV en 1962, Ansi en 1966, 1978, Iso en 1991, 1997, modifié en 2002.
Langage de programmation compilé conçu par John Backus pour un IBM 704. Il devient dès 1957 le standard pour le calcul mathématique. En dépit de ses faiblesses pour le traitement des chaînes et des ensembles de données, l'existence de très importantes bibliothèques font de ce vétéran un langage encore très demandé par les scientifiques.
Souche de Algol, PL/1.
HTML (HyperText Markup Langage)
Né en 1990, 1.0 en 1992, 2.0 en 1995, 3.2 en 1997, XML 1.0 en 1998, 4.0en 1999, XHTML en 2000.
Langage informatique pour la description de pages sur l'internet conçu par Tim Berners-Lee du CERN. Il utilise des marques sous la forme de balises (Tags) pour décrire les pages et les caractères qui les composent, insérer le multimédia et utiliser les liens hypertextes.
Héritier de SGML.
Java (Kawa !)
Oak en 1991, I en 1995, 1.2 en 1998, 1.3 en 2000, 1.4 en 2002.
Langage de programmation précompilé conçu par James Gosling pour Sun MicroSystems. Après une pré-compilation unique en byte-code ou p-code pour une machine virtuelle, les applets sont interprétés en temps réel par chaque machine. Moyennement typé, très structuré, c'est un langage objet avec garbage collection, héritage simple et surcharge des méthodes.
Héritier de Objective C, Ada, C++, Cedar, Smalltalk, Scheme. Souche de NetRexx, C#.
JavaScript (de Java)
Cmm en 1992, LiveScript puis JavaScript en 1995, 1.5 en 1998
Langage de programmation interprété à base de syntaxe Java. C'est le plus utilisé des langages de scripts sur l'internet. Il est à l'origine d'un certain nombre de dialectes.
Héritier de C, C++. Souche de JScript, ECMAScript.
Linux (Linus et Unix)
Système d'exploitation pour micro-ordinateur conçu en 1991 par Linus Torvalds pour le microprocesseur Intel 386. Le noyau est actuellement disponible et gratuit pour tous les systèmes. Accompagné des logiciels libres du GNU, il est une alternative aux systèmes propriétaires (Windows entre autres).
Lisp (List Processing)
Né en 1958, I en 1959, 1.5 en 1962, Common en 1984, Ansi en 1994,
Langage de programmation compilé conçu par John Mac Carthy pour le MIT. Premier langage de programmation fonctionnel. Il est à l'origine d'un certain nombre de dialectes (dont Scheme). C'est un langage automodifiable basé sur le traitement de listes et de symboles, récursif avec garbage collection.
Souche de Logo, Smalltalk, Scheme, Clos.
Logo (du grec Logos - Raison ?)
Né en 1968, Object en 1986.
Langage de programmation conçu par une équipe dirigée par Wally Fuerzeig pour Bolt & Newmans. Il ajoute des primitives graphiques aux bases de Lisp. S'appuyant sur les théories de Piaget, Seymour Papert développe autour de la "tortue" une pédagogie de la découverte.
Héritier de Lisp.
Lotus 1.2.3 Développé en 1983 par Mitch Kapor pour Lotus. Il intégrait tableur, grapheur et base de données dans le même environnement. Son succés fut comparable à celui de VisiCalc sur Apple II.
MacOS (Operating System for Mac Intosh)
Système d'exploitation installé par Apple sur Mac Intosh depuis 1993. Il gère le multitâche et le multimédia. MacOS8 pour le PowerPC a supprimé toute compatibilité avec les processeurs 68xxx.
Maple Système algébrique sur ordinateur conçu par B.W. Char, K.O. Geddes, W.M. Gentleman et G.h. Gonnet pour l'Université de Waterloo en 1980. Ecrit en B puis en C, en perpétuelle évolution, il reste un très puissant outil dans le monde des mathématiques.
Modula (Modular Language)
Né en 1975, 2 en 1979, 3 en 1988, Iso 1997.
Langage de programmation compilé conçu par Niklaus Wirth en se rapprochant de C pour combler les lacunes de Pascal et donner accès au hardware. Le programme est découpé en modules contenant du code et des données visibles localement. Les modules sont compilés séparément et réutilisables. Peu utilisé hors du cadre universitaire.
Héritier de Pascal, Mesa. Souche de Oberon, Python.
MS-DOS (MicroSoft - Disk Operating System)
Système d'exploitation pour micro-ordinateur conçu en 1980 par Tim Paterson pour Microsoft et livré avec le Personal Computer d'IBM sous le nom de PC-DOS puis distribué sur une multitude de clones sous le nom de MS-DOS.
La communication passe par un interpréteur de commandes (Command.com). Il reste jusqu'à Windows 95 la plate forme de l'Interface Utilisateur Graphique (GUI).
Pascal (Hommage à Blaise Pascal)
Né en 1970, Afnor en 1983, Object en 1985, Borland Object en 1989, Delphi en 1995, 5 en 1999, 6 en 2001, 7 en 2002.
Langage de programmation compilé conçu par Niklaus Wirth à l'ETH de Zurich. Le premier compilateur (P4) générait du p-code pour une machine virtuelle. Le passage sur micro-ordinateur fut réalisé avec l'USCD par Kenneth Bowles de l'Université de Califormie à San Diégo puis avec le Turbo-Pascal de Philippe Kahn et Niels Jansen pour la société Borland. Il est largement utilisé comme premier langage. Moyennement typé, fortement structuré (programmation modulaire), sa syntaxe est simple et rigoureuse. Il en existe aujourd'hui de nombreux dialectes dont celui de Borland dans l'environnement Delphi.
Héritier de Algol. Souche de CLU, Mesa, Modula, Ada
Perl (Practical Extracting and Report Language)
Né en 1987, 2 en 1988, 3 en 1989, 4 en 1991, 5 en 1994, 5 en 1998, 5.6 en 2000, 5.8 en 2002.
Langage de programmation interprété conçu par Larry Wall comme langage de ligne de commande pour Unix. En dépit de la lourdeur de sa syntaxe, il permet d'analyser et de traiter efficacement du texte structuré. Utilisable sur PC (Windows) ou Mac Intosh, il est très utilisé pour créer des scripts CGI.
Héritier de SH, NAWK. Souche de Ruby, PHP.
PHP (Personal Home Page Hypertext Preprocessor)
Né en 1995, 2 en 1997, 3 en 1998, 4 en 2000, 4.1 en 2001, 4.2 en 2002, 4.3.1 en 2003
Langage de programmation interprété conçu par Rasmus Lerdorf. Le code intégré dans une page HTML est transformé en HTML pur par le serveur. Non typé, il utilise une syntaxe proche du C. Son succés est du à son statut de logiciel libre associé à un serveur web Apache et à un moteur de base de données MySQL.
Héritier de Perl.
PL/1 (Programming Language One)
Né en 1964, Ansi en 1976
Langage de programmation à vocation universelle conçu par George Radin pour IBM en reprenant le meilleur des langages existants. Très typé, il manipule nombres complexes, chaînes de bits, listes et tableaux dynamiques, utilise pointeurs, récursivité et primitives de synchronisation pour gérer le multitâche, et offre un macro-générateur permettant d'étendre le langage ainsi qu'une bonne gestion des fichiers et de l'édition. Il avait contre lui d'être exigeant en mémoire à une époque où celle-ci était rare ... et d'être la propriété d'IBM. Souvent utilisé, avec une pincée d'assembleur, comme langage système sous diverses déclinaisons (EPL pour Multics, PL/6, HPL pour Honeywell-Bull, PL/M pour CP/M, PL/S pour IBM ...) jusqu'à l'apparition de C (beaucoup moins élégant), il est toujours largement utilisé chez IBM.
Héritier de Algol, Fortran, Cobol. Souche de PL/M.
Prolog (Programmation en logique)
Né en 1970, II en 1982, III en 1984, IV en 1997.
Langage de programmation compilé conçu à Marseille par Alain Colmeraurer de la Faculté des Sciences de Lumigny et Philippe Roussel d'Elsa Software, et à l'Université d'Edimbourg par Robert Kowalski. Après la modélisation d'un problème (faits, règles, but à atteindre) à l'aide de formules (Clauses de Horn), le moteur d'inférence est capable de tirer des conclusions en utilisant des déductions logiques (arbres et backtracking). En dépit de la débacle japonaise des ordinateurs de la Vème génération, il reste un bon langage pour réaliser rapidement des maquettes en intelligence artificielle.
PostScript Né en 1982, level 2 en 1992, level 3 en 1996.
Langage de description de pages mis au point par Adobe qui permet de combiner et de stocker des éléments de provenances diverses (fontes décrites par des courbes de Bézier, graphisme vectoriel ou BitMap) destinés à être imprimés. Il utilise des piles et un dictionnaire.
Héritier de Forth.
Scheme (de Schemer)
Né en 1975, MIT en 1978, modifié en 1984, IEEE en 1990, R5RS en 1998.
Langage de programmation (dialecte de Lisp) compilé conçu par Gerald Sussman et Guy Steele au MIT. Symbolique et fonctionnel, permettant la représentation directe de données complexes, il est très utilisé en enseignement et en recherche sur la programmation.
Héritier de Lisp, Algol. Souche de Haskell, Oak.
Simula (Simulation)
Né en 1964, modifié en 1967.
Langage de programmation conçu par Ole Johan Dahl et Krysten Nygard au Centre Informatique Norvégien d'Oslo pour la simulation de systèmes réels. Il définit des classes, des sous classes et des objets (instances de classes) possédant des méthodes. A l'origine de la programmation orientée objet.
Héritier de Algol. Souche de Smalltalk, C with Classes, Eiffel.
Smalltalk Né en 1969, modifié en 1972, 1974, 1976, 1978, 1980.
Langage de programmation conçu par Alan Kay et Adele Goldberg pour Xerox dans un environnement graphique avec fenêtres et souris. Il est totalement orienté objet avec constructeurs et destructeurs, communication par messages, héritage simple, surcharge d'opérateurs et garbage collection.
Héritier de Lisp, Simula. Souche de Objective C, Self, Oak, Ruby.
SQL (Structured Query Language)
Quel en 1972, Sequel en 1974, SQL en 1982, Ansi en 1986, Iso en 1989, SQL2 en 1992.
Langage de création et d'interrogation de bases de données conçu pour IBM sur les idées de Ted Codd et Larry Ellison en relation avec les Systèmes de Gestion de Bases de Données Relationnelles (SGBDR). De type déclaratif, il n'utilise ni variables, ni procédures, ni fonctions.
Unix (Opposition à Multics)
Né en 1969, Version C en 1973, BSD en 1977, III en 1982, V en 1983.
Système d'exploitation en temps partagé, multitâches et multiutilisateurs conçu par Ken Thompson et Dennis Ritchie au Bell Lab. Constitué d'un noyau primitif, d'un shell, de quelques utilitaires et d'un éditeur, il est totalement écrit en langage C. AT&T, Berkeley, Western Electric et Novell ont participé à son évolution. Il en existe de nombreuses variantes avec ou sans interface graphique (X-Windows, Solaris, Linux).
VisiCalc (Visible Calculator)
Tableur écrit en Pascal UCSD par Dan Bricklin et Bob Franston (qui n'en déposèrent pas le brevet) en 1979. Il fit la gloire de l'Apple II.
Windows Née en 1985, l'interface utilisateur graphique de Microsoft (très inspirée de celle du MacIntosh) trop lente ne décolle pas. En 1990, la version 3 est une réussite (échange interactif de données, réseau poste à poste), Apple ne gagne pas son procès pour plagiat et Windows s'impose sur tous les micro-ordinateurs. Ce n'est qu'en 1995 avec Windows 95 et Windows NT (réseau client-serveur) qu'il deviendra un véritable système d'exploitation multitâches.
WordStar Traitement de texte écrit par John Barnaby pour MicroPro en 1979. Ses combinaisons de touches sont entrées dans la légende.

Dictionnaire des langages de programmation
Exemples de programmation multi-langage
Interactions des langages