Retour à la page précédente

LES LANGAGES INFORMATIQUES

 

                            FORTRAN

 


Premier  langage  évolué, FORTRAN (FORmula TRANslator) a été créé par BACKUS à partir de 1955.

C'est un langage orienté vers les applications scientifiques  qui utilise les notations mathématiques.

Ainsi  on  écrit  S  =  P+Q pour faire la somme de 2 variables ce qui  représente  un  immense  progrès  pour  le  programmeur  qui travaille en assembleur :

          LD A, (adr1)       pour ajouter 2 octets avec le

          LD B, (adr2)       classique 8080, pour ajouter 2

          ADD A,B            entiers il faut compter une

          LD (adr3),A        centaine d'instructions !

 

La  version  de  1959 voit apparaître la notion de sous-programme (sub-routine).

Le Fortran IV  de  1963  permet  le  traitement  des  chaines  de caractères.

Jusqu'en  1970,  Fortran demeure le   roi des langages dans   la   mini-informatique puisqu'un compilateur de 8 kilo-octets lui suffit.

Le Fortran 77 apporte de nouvelles améliorations.

A  l'origine  le  fichier source est créé à l'aide d'un paquet de cartes perforées mais FORTRAN a su  s'adapter  à l'évolution  de l'informatique  puisqu'il  est  disponible sur les compatibles et utilisé en 1989 sur les  super-ordinateurs  CRAY1  et  CYBER  205 (FORTRAN 'étendu').

Un seul inconvénient : sa faiblesse en gestion.

 

 

                            COBOL

 

 

COBOL  (COmmon Business Oriented Language) nait officiellement en 1962 à la demende du Ministère de la  Défense  aux  USA,  il  est comme FORTRAN, encore abondamment utilisé en 1989.

C'est  un  langage  bien  adapté  à  la  gestion  :  création  et utilisation de fichiers.

Sa structure est américaine :

 

                      ADD P TO Q pour faire une somme

 

La création de COBOL  conduira  à  un  clivage  artificiel  entre informatique de gestion et informatique scientifique.

 

Fortran et Cobol sont les langages dits de première génération.

 

 

 

 

 

                            ALGOL

 

 

ALGOL  (ALGOrithmic Language) est né en 1958 des idées originales de H. RUTISHAUSER et est dû à une équipe  dirigée  par  P.  NAUR, signalons  que  le  premier  compilateur  algol  a fonctionné sur BULL, à l'époque 100% française.

Algol a l'ambition  d'une  définition  cohérente  et  possède  la première  spécification  formelle  de  la syntaxe d'un langage de programmation ( FNB : forme noramale de Backus).

Algol posséde déjà la notion de procédure mais  les  instructions d'entrées/sorties  sont  entièrement  laissées  à l'initiative du constructeur (la notion de portabilité était inexistante).

On considère que algol est l'ancêtre de Pascal (apparu  en  1970), ce langage sera revu en 1960 puis en 1966 (algol W).

 

 

 

                            LISP

 

 

LISP  comme  LISt Program est l'oeuvre de John Mac Carthy et a vu le jour en 1962 (Fortran 2 se répandait  et  Algol  60 était  en cours de définition), il est bâti autour de la structure de liste chaînée et est facilement extensible, c'est le langage idéal pour 'l'intelligence  artificiel'  ,  manipulation  de robots ... LISP favorise  la  programmation   interactive,   notion   entièrement nouvelle à cette date, puisque tout ce qui est frappé est exécuté sans  délai.  Les listes sont évidemment entourées de parenthèses et les opérateurs sont placés  devant  les  arguments  (préfixé).

LISP  est  le  langage  idéal pour créer des stuctures de données élaborées du genre ensemble,  difficilement  utilisables  par  la plupart   des   langages  utilisant  des  structures  de  données statiques (Pascal ...). Deux versions françaises  de  LISP  :  le VLISP  développé  par  le  pionnier  de  Lisp en France , Patrick Greusay (Université de Vincennes) sous Unix et Lelisp de  l'INRIA (Jérôme  Chailloux).  Mulisp  de  Microsoft a été un des premiers Lisp a fonctionner sous MSDOS.

Un  langage dérivé : LOGO présente des caractéristiques analogues tout  en  étant  plus  à  la  portée  des  débutants   (plus   de parenthèses)  En  1979  A.  Rich  et  D.  Stoutemyer (Softhouse à Honolulu, Hawaï) ont publié une version améliorée de  LISP  :  le MU-SIMP  avec  lequel Microsoft a écrit Mu-Math destiné au calcul symbolique : calcul formel d'intégrales ..  Signalons  le  XLISP, freeware   écrit  en  C,  livré  avec  la  source  et  facilement modifiable.  Le  COMMON  LISP, l'un des derniers avatars du Lisp, est très fortement orienté objet.

 

 

 

                             APL

 

 

APL  est  le  premier  langage  conversationnel,  il  utilise les notations mathématiques de KEN IVERSON transformé en  un  langage très  puissant  et  concis  mais hors de la portée du programmeur moyen et nécessitant un clavier spécial.

APL permet de travailler globalement sur des  tableaux (addition de matrices, rotation de vecteurs ...)

Comme  la  langue  esquimau,  APL  est  holophrastique puisqu'une phrase s'exprime par un seul mot !

APL n'a pas été soutenu par son promoteur (IBM) qui lui a préféré PL/1.

En 1986, APL a un renouveau aux USA  chez  les  amateurs  puisque 250000  exemplaires d'un livre sur APL se vendent instantanément, en France APL* a des partisans  malgré  la  nécessité  d'une  ROM spéciale.

 

 

                            PL/1

 

 

Créé  par IBM en 1964 (Programming Language number 1) dans le but de  réunifier  l'informatique  en  réunifiant  les  avantages  de Fortran,  Cobol  et Algol (ses détracteurs affirment qu'il réunit les recettes de ces trois langages), il a  l'inconvénient  de  ne pas présenter une conception unifièe.

Sa   complexité   rend   difficile   l'écriture  de compilateurs efficaces puisqu'il faut disposer de 100 kilo-octets au moins  ce qui est énorme à l'époque.

 

 

 

                               BASIC

 

 

Né  à  l'Université  de  Portsmouth  (USA)  en 1964 à l'époque de l'avénement   des   mini-ordinateurs   qui   pour    se    vendre nécessitaient la création d'un langage facile à apprendre.

Le  Basic  (Beginners'  all-purpose  symbolic  instruction  code) offre une nouveauté dans sa première version : un interpréteur.

 

Très  célèbre  avec  ses  mots  clés  de trois lettres (PRT ...), basic subira de nombreux avatars  :  Tiny  basic  pour  les  O.I. courants,   basicois,   basique,   basoc  ...  Mbasic  Microsoft, jusqu'aux compilateurs pour PC :  Quick  Basic  de  Microsoft  et Turbo Basic de Borland.

Ses  inconvénients  :  faiblesses  des sous-programmes (nettement inférieur à Fortran) appelés  par  un  numéro  et  non  un  label alphanumérique,  pas  de transfert de paramètres, non portabilité d'une machine à l'autre ...

Mais en 1983 apparaît  le  basic  du  Lynx  (société  GOLEM)  qui possède   WHILE   ..WEND,  REPEAT..UNTIL,  des  booléens  et  des procédures avec passage de paramètres.

Bientôt les numéros de ligne n'existeront plus (basics  compilés, locomative basic).

 

 

 

                            BAL

 

 

Comme  Business  Application  Language,  développé  par Bull pour utiliser les possibilités de  son système Prologue.

Similitudes  avec  le  basic  (chr$,  data,  peek,   poke ...),

possibilité mais non obligation de numéroter les lignes.

Obligation  de  déclarer  les  variables (DCL chaine$= ), possède les   While ..Wend, IF .. else ..endif, repeat ..until.

 

 

 

 

 

                             PASCAL

 

 

Créé par N. WIRTH en 1969 à Zurich.

Langage algorithmique et procéduriel qui sait faire  une  place aussi large aux déclarations (obligatoires) qu'aux instructions.

Oblige le programmeur à penser et à organiser son travail.

Pascal a une portabilité  relative, une  facilité  de  construction du compilateur mais reste assez lourd à utiliser pour un débutant : éditeur  de  texte (ED)  puis  compilateur (MTPLUS), éventuellement retour à ED pour corrections, éditeur de liens (LINKMT) , essais puis retour à  ED ...tel  était le lot des utilisateurs du pascal MTPLUS à l'époque héroïque où  la  correction  d'une  erreur  pouvait  prendre  six minutes !

Le Pascal UCSD (Université de Californie de San  Diègo)  créé  en 1978  a  aussi  eut  son  heure  de  célébrité  jusqu'en 1983; il utilisait des Units séparant nettement implementation et mise en oeuvre des procédures.

Le Turbo-Pascal (de Borland) a été une véritable révolution  chez les  programmeurs  par  sa convivialité (Compilation et linkage à une allure record et éditeur intégré). Le Turbo  Pascal  4.0  est devenu  un  outil  professionnel  avec sa possibilité de dépasser aisément les 64 ko sans utiliser  d'overlays  et  ses  nombreuses procédures.

Turbo Pascal version 5 a  été  lancé  le  30/09/88,  le  débugger intégré en constitue la principale innovation.

 

De nombreux langages sont dérivés de Pascal : Euclid, Lis, Mesa

,Sue ,Sylph, Modula puis Ada ...

 

 

 

 

                              ADA

 

 

ADA né en 1978 ainsi nommé en l'honneur de Ada  Augusta comtesse de  Lovelace  fille  de  Lord Byron et qui eut des relations avec Babbage (1978 était l'année de la femme comme tout le monde  s'en souvient);  il  fallut  attendre quelques années avant de voir le premier compilateur ADA opérationnel.

En  1975  ,  appel d'offres du Dt de la Défense aux USA qui avait recensé 400 langages différents  dans  ses  services.  C'est  une équipe  en  grande  partie  française  autour de Jean Ichbiah qui présenta le projet finalement retenu (projet CII Honeywell Bull).

ADA est un véritable prolongement  de  Pascal  et  privilégie  la notion de tâches parallèles. ADA est à fortes composantes objet.

 

 

 

                            MODULA

 

 

Modula  a  été  écrit  dix  ans après Pascal par N. Wirtz, il est plus performant que Pascal en compilation et exécution.

La programmation est véritablement modulaire  (avec  des  modules compilables  séparément), et Modula permet des accés facilités au système et registres et des tableaux de dimensions variables.

Curieusement  Modula  n'obtint  pas  le succès de Pascal et n'est utilisé que par des programmeurs  avertis  (ABSoft  International vend Modula 2 pour un prix modique).

Comme C, Modula 2 est surtout destiné à la réalisation d' OS.

 

 

 

                            FORTH

 

 

Lancé par son créateur Charles Moore en 1970 (FORTH  pour  FOURTH: langage de 4me génération).

Centré  autour  de la notion de piles , Forth utilise la notation polonaise inversée (ou postfixé)  comme  les  Hewlet  Packard  du genre HP 25.

En   dehors   du   concept  de  piles,  Forth  utilise  celui  de dictionnaire,  tout  programme  n'étant  qu'une  utilisation   du dictionnaire, enrichissable par l'utilisateur.

La notion de branchement est totalement inconnue de Forth.

Le Forth a une grande aptitude à la récursivité, il contient dans son langage de base les mots du langage machine (rapidité).

Le Jupiter Ace  ,  appareil  qui  eut  son  heure  de  gloire  ne travaillait  qu'en Forth.

Rapid File, "petit frère de DB3", a été écrit en Forth.

 

 

                       

                             L S E

 

 

Créé  à  partir  de 1970 à la demande du Ministère de l'Education par le service Informatique de Sup'Elec (Hebenstreit), ce Langage Symbolique  d'Enseignement  s'est vite avéré un "Langage Sclérosé pour l'Enseignement" ; seul langage appris et  enseigné  par  les "Formés  Lourds"  de  l' époque, il a participé au cercle vicieux [cellule logicielle <--> E A O <--> LSE] qui est l'une des causes reconnues  de  la faillite de l'enseignement de l'Informatique en France concurremment à l'utilisation du Nanoréseau,  du  matériel

Thomson et de logiciels "éducatifs" débilisants. Dès sa création, le  LSE  était en voie d'extinction car non évolutif comme le fit remarquer Bergman (UER de Marseille). Par quelle  aberration  LSE peut-il  encore  être en 1989 l'un des trois langages autorisés à l'Option Informatique ?

 

                   

                              SYLPH

 

 

Sylph est un langage mis au point par PROCYON à Bordeaux en  1982 et se veut synthèse de plusieurs langages ( C et Pascal).

Langage  structuré  comme  Pascal, il permet l'utilisation facile d'instructions en  assembleurs  et  privilégie  l'utilisation  de pointeurs:

   ^(X) = 'a'   range à l'adresse X le caractère 'a'

   ^ + pvar     post incrémentation d'un pointeur

   ^!+ pvar     pré  incrémentation

et de décalage:

   X.Y       équivaut à ^(#X+Y)

  ^X.Y                  ^(^(#X+Y)

 

Langage   compilé   d'une   grande  flexibilité,  peu  emcombrant (compilateur et  éditeur  de  liens  tenait  facilement  sur  une disquette  5'1/4 à l'époque où le MT-Plus en exigeait deux) s'est vu  concurrencer  par  le  Pascal  de  Borland  a  l'éditeur   si sympathique.

(PROCYON 65 Av. V. Hugo 33110 LE BOUSCAT-BORDEAUX tél 56505410)

 

 


                          PROLOG

 

 

PROgramme  LOGique,  mis  au  point au CNRS à Marseille-Luminy par Alain Colmerauer à partir de 1970 est un langage conceptuel  avec  base de  données  incorporée  utilisant  la  logique  de premier ordre (avec moteur d'inférences).

Prolog I s'appuyait sur les travaux d'Alan Robinson en démonstration automatique et est apparu en 1972.

Malheureusement, l'algorithme utilisé pour "l'unification", dû à Robinson, ne permet pas le traitement de termes fonctionnels et après un remaniement profond est apparu Prolog III en 1983.


Exemples de programmation efficace en Prolog

 

Langage "descriptif" et non procéduriel (comme  Pascal),  destiné à  l'intelligence  artificielle  et  au développement de systèmes experts,  il  eut  d'abord  un  gros  succés  au  Japon ; en 1986 Philippe Khan (Borland) vend 30.000 exemplaires en 3 mois de  son Turbo Prolog ...(qui n'est pas Prolog III !).

Prolog III permettra bientôt l'utilisations des inégalités linéaires (d'où des applications en recherche opérationnelle) et possédera une algèbre de Boole complète en vue de mieux formuler les règles de fonctionnement des sytèmes experts.

 

 

 

                               C

 

 

bref historique:

 

Martin Richard crée le BPCL en 1967.

Ken Thompson écrit le B en 1970 puis réécrit UNIX en B sur PDP-11 Dennis  Ritchie  met  au  point  le  C  en 1972, en 1973 UNIX est réécrit en C.

La bible des programmeurs en C reste "The C Programming Language" de Kernigham et Ritchie.

Turbo C est sorti en 1987 mais le C de référence reste celui de

Microsoft.

BPCL  et  B  possédaient  déjà  les  instructions de contrôle if, while,  do,  case,  des  pointeurs,   variables   dynamiques   et récursivité.

 

caractéristiques:

 

C  allie  universalité,  portabilité  et  performances,  accés  à toutes  les  fonctionnalités  du  MS-DOS   et   librairies   très fournies, grande rapidité.

Le C est le langage utilisant les pointeurs par excellence.

Notons  que  les  variables  statiques  locales  conservent leurs valeurs entre deux appels de la fonction.

La plupart compilateurs, des  traitements  de  textes,  des  SGBD (Dbase 3+), des logiciels de communications sont écrits en C.

 

Le C++ de Bjärne Stroustrup est un langage à  fortes composantes objet.

 

En  dehors de ceux qui ne veulent pas faire l'effort d'étudier C, ce langage a aussi ses détracteurs, citons un article  du  N°  27 de  "Pascalissime" de Février 1989 : "C du charabia", il est vrai que cette éminente revue est spécialisée  en  Pascal  et  propose des stages de formation à Pascal (4 jours : 6997 f TTC).

 

 

                            SMALLTALK

 

 

Smalltalk est "Le langage objet"

Smalltalk  a  été  développé  dès  1970  à Palo Alto par Alan Kay (Rank Xerox) et était à l'origine destiné à des  fins  éducatives et pédagogiques (enseignement de la programmation).

Mais  les  buts  de Smalltalk vont se modifier progressivement du Smalltalk-76 au Smalltalk-80 et  suivants  et  "la  programmation orientée vers les objets" va se préciser.

Smalltalk-80  permet  de  créer  simultanément  plusieurs  objets indépendants qui se comportent chacun comme un  micro-ordinateur, chaque objet pouvant envoyer des messages aux autres.

Programmer  en  Smalltalk c'est décrire des classes d'objets avec leurs caractéristiques ("variables")  et  les  messages  auxquels ils répondront par une méthode ("procédure").

En  bref,  un  objet  doit  "exporter"  des procédures et donc la fonctionnalité et la mise en oeuvre sont distinctes.

Ce  concept  date  de  1972  (type abstrait) et pouvait déjà être élaboré par les Units du pascal UCSD en 1978 (il faudra  attendre Modula en 1979 puis Turbo Pascal en 1987 pour que le principe des Units se généralise).

Les langages objets (Smalltalk, Loops) constitue l'une des trois classes de langage constituant l'arsenal de l'I.A. ; les deux autres étant les langages du type LISP et les Prolog.

 

         22 avril 1989

 

Et maintenant en 2003?
Il y a longtemps que le ministre de l'Education nationale a supprimé l'option informatique des lycées (sauf erreur, il s'agit de Jospin) ,décidément, nos ministres voient rarement l'intérêt des élèves, encore moins celui des enseignants.
Maintenant qui programme parmi les élèves ou les maîtres ?
On entend des sirènes incompétentes proclamer qu'avec les nouveaux logiciels il n’est plus nécessaire d’étudier un langage
Bien qu'on puisse entièrement réaliser un site informatique avec des outils efficaces, la maintenance sans connaissance de Javascript, Java ou Perl est compromise.
Et les Visual C++, Visual Basic, Delphi qui effectivement permettent de remplacer de longues procédures par quelques clics exigent néanmoins une connaissance minimale de C, Basic ou Pascal.


N'oublions pas aussi ces jeunes (!) qui utilisent illégalement leur parfaite connaissance d'un langage (C Visual  Basic ou Delphi) pour construire :
un Keygen (un générateur de clé d'enregistrement d'un logiciel)
ou un crack (qui modifie automatiquement le logiciel grevé par une version limitée)
ou un patch (par exemple traduction française d'un logiciel).

Programmation sous Windows

Les langages du Net

 

 

Retour à la page précédente