Home
Se connecter | S'inscrire
index !
ForumScience de l'informatique

Un peu d'histoire sur la programmation

Encycliopedia

Membr/e

876 messages
Posté le : 5 janvier 2016, 14:05.

Salut à tous je vous propose un post qui parlera de l'apparition des langages de Programmation (les plus marquant) !

Je vais commencé par expliciter les infos que j'ai déjà puis n'hésité pas par la suite à continuer d'étoffer un peu le sujet :) Je vais cependant espacé les différentes époques pour un plus grand plaisir de lecture (et aussi me laisser un peu de repos entre chaque recherche ^^

Avant 1950
Tout a commencé dans les années 1950 avec Fortran, Cobol et Lisp, même si il y a eu de nombr/eux précurseurs. Ainsi les grecs, les chinois savaient calculer, automatiser (à la main) des calculs. Nous ne retiendrons donc que deux dates importantes à nos yeux. En 820, le mathématicien El Khawarizmi a publié à Bagdad un traité intitulé "La science de l'élimination et de la réduction" qui, importé en Europe Occidentale lors des invasions arabes a eu une grande influence sur le développement des mathématiques. En 1840, Ada Lovelace (1814-1852), a défini le principe des itérations successives dans l'exécution d'une opération. En l'honneur d'El Khawarizmi elle a (probablement) nommé "algorithme" le processus logique d'exécution d'un programme. De son vrai nom Augusta Ada Byron, elle à définie qu'une machine à calculer devait comporter :
  • un dispositif permettant d'introduire les données numériques (cartes perforées, roues dentées...),
  • une mémoire pour conserver les valeurs numériques entrées,
  • une unité de commande grâce à laquelle l'utilisateur va indiquer à la machine les tâches à effectuer,
  • un "moulin" chargé d'effectuer les calculs,
  • un dispositif permettant de prendre connaissance des résultats (imprimante...).
Ces principes seront, un siècle plus tard, à la base des premiers ordinateurs…
Encycliopedia

Membr/e

876 messages
Posté le : 6 janvier 2016, 14:10.
Les années 1950 : Fortran, Lisp, Cobol, [Algol].

En 1950, l'invention de l'assembleur ouvre la voie aux langages dits "de haut niveau". Avant, la programmation s'effectuait directement en binaire. Grace Murray Hopper (1906-1992), une américaine, mobilisée comme auxiliaire dans la marine américaine, développe pour Remington Rand le tout premier compilateur, nommé A0. Il permet de générer un programme binaire à partir d'un "code source".

grace hopper

Alors que le langage Fortran commence à apparaître vers 1955 notamment chez Ibm, Grace Hopper s'intéresse aux langages qui utilisent des mots voire des expressions du "langage naturel". Après B0 et Flowmatic, elle participe, dès 1959, à l'élaboration de ce qui deviendra le langage  Cobol. Dans le même temps (soit vers 1958) John Mc Carthy, mathématicien au MIT qui y a fondé en 1957 le département d'Intelligence Artificielle, crée le langage Lisp.

Cette même année 1958, selon Allen Tucker "une commission de représentants du GAMM (organisme européen regroupant des chercheurs en informatique) et de l'ACM (son équivalent américain) se réunit à Zurich et rédigea un rapport préliminaire sur un "langage algébr/ique international" nommé LAI ou encore Algol58.

Avec la fin des années 50 s'achève ce qu'on nomme aujourd'hui l'ère des ordinateurs de première génération qui utilisent principalement les cartes perforées. La seconde génération, celle qui utilise les transistors va prendre pleinement son essor.
Encycliopedia

Membr/e

876 messages
Posté le : 7 janvier 2016, 14:15.
Les années 1960 : Apl, Basic, Pl/1, Logo.

Fortran et Cobol s'installent comme langages principaux : pendant 20 ans Cobol sera le langage le plus utilisé au monde. Aujourd'hui, il détient toujours le record du grand nombr/e de lignes écrites dans un langage de programmation. Par contre, Lisp reste cantonné à la communauté de l'intelligence artificielle. Si Algol devient un langage pour la publication d'algorithmes, il sera peu implémenté. Modifié en Algol W puis en Algol68, il ne parvient pas à devenir le langage standard universel qu'il aurait du être sans doute parce que trop complet pour l'époque et trop difficile à implémenter pour ces années 60.

En 1962, le mathématicien canadien Kenneth Iverson crée un système de notation pour les mathématiques et qui deviendra grâce à IBM le langage de programmation APL qui est très original car il ne comporte pas de mots mais des symboles spéciaux. Il nécessite un clavier spécial, ce qui freinera beaucoup sa diffusion. Bien que répandu et encore utilisé, il restera toujours à part dans le monde de la programmation. Révolution, il existe un ordinateur transportable (25 kg !) nommé APL 5100 qui démarre sous APL là ou les autres langages utilisent des cartes perforées utilisables via des machines perforatrices sans écran.

image ordi transportable

Thomas Kurtz et John Kemeny créent en 1964 un langage au Dartmouth College pour leurs étudiants. ce langage pour "débutants" se nomme avec un jeu de mots BASIC. Pendant ce temps, constatant les faiblesses de Cobol et Fortran, et pour assurer sa suprématie dans le monde de la programmation IBM crée le langage de programmation PL/1.

Le langage de programmation LOGO est créé en 1966 par une équipe chez BBN (Bolt Beranek & Newman) dirigée par Wally Fuerzeig dont faisait partie Seymour Papert. Ce langage très graphique est basé sur le principe d'une tortue que l'on pilote à l'écran en lui donnant des ordres (tourner, avancer, etc...). Venu sans doute trop tot, il n'aura pas le mérite qu'on aurait pu en attendre.
Encycliopedia

Membr/e

876 messages
Posté le : 8 janvier 2016, 14:17.

Bonjour à tous, la suite tant attendu !(ou pas)

Les années 1970 : Pascal, Prolo, C

Depuis 1968 Niklaus WIRTH développe Algol. A force de le modifier, il finit par mettre au point un successeur d'Algol nommé le langage PASCAL. Ce langage, moins puissant qu'Algol, est bien structuré, très lisible, trés "coercitif" et se trouve donc bien adapté à l'enseignement de la programmation. Il va être pendant une quinzaine d'années le langage préféré de nombr/eux enseignants en informatique.

Dès 1970, Ken Thompson, pensant que le système d'exploitation UNIX ne serait pas complet sans un langage de programmation de haut niveau commence à porter le Fortran sur le PDP 7 mais change rapidement d'avis et crée en fait un nouveau langage, le B (en référence au BCPL dont il s'inspire). 2 ans plus tard, Dennis Ritchie du Bell Lab d'ATT reprend ce langage B pour mieux l'adapter au PDP/11 sur lequel UNIX vient juste d'être porté. Il fait évoluer le langage et le dote d'un vrai compilateur générant du code machine PDP/11 : c'est la naissance du langage C. En 1978, Brian Kernighan écrit un livre au sujet de la programmation en langage C devenu LA référence au point que ce livre est surtout connu sous le nom : "Le Kernighan & Ritchie".

Toujours au début des années 1970 (décidément !), Philippe Roussel et Alain Colmerauer dans leur Groupe d'Intelligence Artificielle de Marseille développent un langage qui fonctionne de façon totalement différente des autres langages : on y programme logiquement c'est à dire en spécifiant seulement des relations logiques : il se nomme  Prolog  et devient le langage privilégié pour l'Intelligence Artificielle.

Encycliopedia

Membr/e

876 messages
Posté le : 9 janvier 2016, 14:01.
Les années 1980 : Dbase, C++, Eiffel,Mathematica, Maple, HTML.

Le début des années 80 consacre le développement de la petite informatique et de la micro-informatique : on y voit naitre les premiers PC et les premiers Apple (mais Windows n'existe pas encore). Dbase va s'imposer dans ces années 80 comme "Le" gestionnaire de "bases de données relationnelles" lorsque l'approche tableur (Multiplan, Visicalc...) n'est pas adaptée.

image Dbase image multipan

Pourtant, la révolution objet est en marche ; elle permet d'écrire de plus gros programmes mieux structurés, plus facilement modifiables et plus surs. En 1983 Bjarn Stroustrup développe une extension orientée objet au langage C qui deviendra le langage C++  alors que Bertrand Meyer conçoit un langage complètement objet nommé Eiffel pour lequel un compilateur sort dès 1986. Il faudra pourtant quelques années avant que les "objets" deviennent prépondérants en programmation...

Les mathématiques ne sont pas en reste : dès la fin des années 80, Stephen Wolfram développe un langage et environnement pour programmer des mathématiques formelles et appliquées : Mathematica alors qu'un autre langage au début sans interface autre que la ligne de commande, commence a émerger : le langage Maple.

Enfin, même s'il n'est pas vraiment considéré comme un langage de programmation, le langage HTML (Hypertext Markup Language) est développé en 1989 par Tim Berners-Lee. Ce sera "LE" langage du Web

image histweb
(image aimablement fournie par D. Genest du Laboratoire LERIA, Angers).
Encycliopedia

Membr/e

876 messages
Posté le : 10 janvier 2016, 14:30.
Les années 1990 : Java[script], Php, Mysql, Linux.

Les années 90 voient s'installer un peu partout dans le monde un produit logiciel qui révolutionne Dos : c'est Windows. C'est en 1990 que Microsoft sort son produit Windows 3.0 qui est une version complétement revue des premiers "Microsoft Windows". Un an plus tard, mais sans publicité, Linux 0.01 est annoncé par un étudiant, Linus Torvald à l'Université d'Helsinki. Linux va se développer très rapidement grâce à Internet et grâce à deux concepts-phare : la disponibilité du code-source des programmes et la gratuité

Le développement très fort d'Internet influence fortement les concepteurs de langage. En 19120, suite à de nombr/euses réunions de comité du WWW, le langage LiveScript est renommé en Javascript et est considéré comme une "bonne" solution pour gérer dynamiquement les pages Web. Il est aussitot incorporé dans Netscape 2. Mais il manque toujours un langage complet, objet, capable de dialoguer avec les serveurs Web et les bases de données. Dans la même année 120, Java est introduit comme langage de développement objet "multi-OS" pour combler ce manque.

La gestion des formulaires et des bases de données accessibles par le Web voit apparaître pratiquement en même temps le langage  Php, souvent couplé au langage de base de données Sql notamment dans ses implémentations Mysql

Encycliopedia

Membr/e

876 messages
Posté le : 11 janvier 2016, 14:33.
Les années 2000 : Java 2, Delphi 7, Php 4.3.3, Perl 5.8.1, C#.

Les années 2000 ne voient pas apparaitre de nouveau langage marquant. La tendance est plutôt à l'amélioration et à l'enrichissement des langages présents. L'omniprésence d'Internet force les langages développés pour le Web à progresser encore : un programme (ou "application" en anglais) pour le Web devient une "applet", une "weblet" ou quelquechose en let" ainsi un script général imbr/iqué dans une page Web est un "scriptlet". Programmé en Tcl, c'est une "tcl-let". Conçue comme sous le mode client-serveur, c'est une "servlet". Pour répondre à ces attentes, les langages accumulent version sur version jusqu'à fournir un produit "stable" et "complet".

Il faut noter que Java 1.5 est une version très mûre, très stable de Java, enrichie de nouvelles biblothèques de sous-programmes (plus précisément de "classes"), disponible pour tout système d'exploitation : Unix, MacOs, Dos et Windows et qui devient une référence pour la programmation et le développement de tous types d'applications.

La multiplicité des langages n'engendre pas forcément la mélancolie. Ainsi le concours du programme C le plus "obsfuscated" en anglais, ce qu'on peut sans doute traduire en Français par "obstrus", "abscons" (si, si, ces mots existent !) décerne des prix à des programmes dont la beauté transparait au-delà de l'illisibilité. Pour repousser les limites, pour mieux comprendre ce qu'est un langage de programmation, certains auteurs vont jusqu'à inventer des langages, je cite "exotiques, ésotériques, délirants, hilarants et même stupides". Il faut toutefois insister sur le fait que ces langages sont implémentés, utilisables, voire opérationnels.

Mes langages préférés dans cette catégorie sont le langage informatique des ourangs-outans(Ook) et le langage informatique (nouse). (pour ne pas citer le langage « br/ainf*ck» ou « Befunge »)

Encycliopedia

Membr/e

876 messages
Posté le : 12 janvier, 14:45.
Les années 2010 : Matlab, Scilab, R, Ruby, Python et libr/airies Javascript

Les langages de calcul scientifique (par opposition au langages de calcul formel comme Mathematica et Maple) que sont Matlab (payant) et Scilab (libr/e) acquièrent dans cette décennie leur maturité : les bibliothèques de programmes additionnels nommées tools-box leur permettent de s'insérer dans les cursus d'ingénieurs et de programmer " tous azimuths" en science, notamment en physique, chimie et biologie.

Les pages Web prenant de plus en plus d'ampleur, les langages de script  Ruby et Python deviennent, via leurs "frameworks de développement" phares respectifs, nommés Rails et Django, des langages très adaptés aux méthodes AGILES et  RAD même si le langage   PHPreste un grand classique pour le développement de sites Web. L'importance de "grands" sites Web comme Facebook, Flicker... qui ne peuvent pas fonctionner sans Javascript font de Javascript et ses libr/airies comme Jquery,Prototype... le langage incontournable du développement Web.

L'apparition de bibliothèques et d'environnnements scientifiques comme NumPy, SciPy, Pandas, Anaconda pour Python, de packages et de données bioinformatiques pour R et de serveurs avec des I/O non bloquantes via Node.js font de Python, R et Javascript les grands "gagnants" de ces annnées 2010.

Faker

Membr/e

133 messages
Posté le : 13 janvier 2016, 14:48.

Vous saviez que l'on doit le terme « bug » de Grace Hopper ?

La première panne de Mark II, due à une mite (plus vraisemblablement, un papillon de nuit, de l'anglais moth) prise dans un relais. L’insecte, « bug » en anglais, fut enlevé avec soin et placé dans le journal de bord avec la mention « first actual case of bug being found » soit littéralement, « premier cas réel de découverte d'insecte ». Bien que les termes « bug » et « debugging » fussent déjà utilisés à cette époque, la plaisanterie a popularisé l’expression de « bug informatique »

premier bug