langagenom masculin(de langue) Cet article fait partie du DOSSIE
INFORMATIQUELe principe d'un langage de programmationComme les « langages naturels » (le français, l'anglais…), les langages de programmation sont des systèmes d'expression et de communication. Mais les « phrases » utilisées par ces langages, appelées programmes, forment des textes destinés à être compris par des ordinateurs. Cependant, les langages utilisés pour communiquer avec les ordinateurs ne sont pas tous considérés comme des langages de programmation. Il s'agit seulement des langages qui, théoriquement, sont suffisamment universels pour exprimer tous les traitements possibles (algorithmes) qu'un ordinateur peut effectuer. Ne sont pas considérés comme des langages de programmation, les langages d'interrogation de bases de données, et plus généralement les langages dits « de quatrième génération » (L4G en abrégé) – langages SQL (Structured Query Language) et Java – qui permettent de réaliser de façon conviviale des applications particulières.On peut considérer qu'un programme est un texte dépourvu de toute ambiguïté et qui doit être écrit en respectant scrupuleusement les « règles de grammaire » du langage.Les niveaux de langageUn programme est constitué d'instructions destinées à être exécutées par la machine. Seules les instructions qu'une machine, ou plus précisément le processeur de l'ordinateur, est capable d'interpréter directement sont celles d'un langage de nature binaire (les programmes sont des combinaisons de nombres binaires 0 et 1). Ce langage est appelé « langage machine ». C'est le langage de plus « bas niveau ». Sur les premiers ordinateurs, c'était le seul moyen d'écrire un programme. Mais, très vite est apparue la nécessité d'utiliser des langages de programmation plus évolués, de plus « haut niveau », c'est-à-dire plus proches de l'esprit humain, et cela pour deux raisons : la première raison est qu'écrire un programme en langage machine est une tâche extrêmement minutieuse et fastidieuse, ce qui entraîne un risque d'erreurs très élevé ; la deuxième raison est que chaque processeur a son propre langage machine, ce qui empêche de transporter le même programme d'un matériel à un autre.Un programme écrit dans un langage de plus haut niveau que le langage machine ne peut pas être exécuté directement par l'ordinateur. Il doit être préalablement traduit en langage machine. Cette traduction est effectuée automatiquement par l'ordinateur lui-même. C'est un programme appelé « traducteur » qui effectue ce travail.Les langages d'assemblageUn premier niveau de langage au-dessus du langage machine a commencé à être utilisé dans les années 1950. Il s'agit du langage d'assemblage qui, en gros, remplace des suites de 0 et de 1 par des notations symboliques. La traduction d'un tel langage s'appelle l'assemblage. Mais ce genre de langage dépend encore de la famille d'ordinateurs pour laquelle il a été développé. De plus, il reste peu facile à lire et à comprendre et il ne convient donc pas pour écrire de gros programmes fiables.Les langages évoluésOn appelle « langages évolués » les langages de haut niveau qui non seulement sont indépendants de toute machine mais aussi sont plus faciles à lire et à comprendre parce qu'ils regroupent en une seule instruction de haut niveau des suites d'opérations élémentaires de bas niveau, par exemple additionner deux variables numériques sans se préoccuper des détails de transfert entre mémoire centrale et registres du processeur. Il y a essentiellement deux sortes de programmes traducteurs pour ce genre de langage : les compilateurs et les interpréteurs.Le programme en langage évolué qui doit être traduit est appelé programme source. Un interpréteur traduit les instructions du programme source l'une après l'autre et les exécute au fur et à mesure. Le compilateur traduit la totalité du programme source en produisant une nouvelle version exécutable. Comme un programme est en général destiné à être exécuté de nombreuses fois, l'avantage de la compilation est que cette traduction est faite une fois pour toutes et sollicite beaucoup moins le processeur. Mais l'interprétation peut aussi avoir des avantages : d'une part, il est plus facile de produire un interpréteur qu'un compilateur et d'autre part, l'interprétation rend plus aisée la mise en place des méthodes d'aide à la mise au point des programmes.Les langages algorithmiques/déclaratifs/objetsL'évolution des langages décrite précédemment a conduit à des langages de haut niveau qui restent liés à un style de programmation dit algorithmique ou encore impératif ou procédural. Tout se passe comme si on programmait dans le langage machine d'une machine virtuelle de très haut niveau. Par exemple, la notion de variable est une abstraction de la notion de case mémoire et l'instruction d'affectation décrit l'action fondamentale qui consiste à modifier la valeur d'une variable. De façon générale, un programme décrit une suite d'actions que la machine doit effectuer.Quelques langages algorithmiques classiquesParmi les langages algorithmiques classiques, on peut citer en particulier FORTRAN apparu dès 1954 et encore utilisé pour la programmation de calculs scientifiques, COBOL (1959) utilisé pour des applications de gestion, BASIC (1964). Le langage Pascal (1969) a marqué une étape dans la structuration rigoureuse des programmes et est encore largement utilisé pour l'enseignement de la programmation. Le langage Ada est particulièrement adapté à la production de très gros programmes vus comme des assemblages de « composants logiciels ». Le langage C est aussi largement utilisé, en liaison avec l'essor du système d'exploitation UNIX.Le langage déclaratif ou descriptifAu style de programmation algorithmique, largement dominant, on peut opposer un style de programmation dit déclaratif ou encore descriptif, qui cherche à atteindre un niveau encore plus haut. Un programme est alors vu comme la définition de fonctions (on parle alors de « programmation fonctionnelle ») ou de relations (on parle alors de « programmation logique »). Le langage LISP (1959) peut être considéré comme un précurseur des langages fonctionnels. Parmi les langages fonctionnels, on peut aussi citer les différents dialectes actuels du langage ML. La famille des langages de programmation logique est composée principalement de PROLOG (1973) et de ses successeurs. Les langages fonctionnels ou logiques sont surtout utilisés pour certaines applications relevant de ce qu'on appelle « l'intelligence artificielle ».La programmation « orientée objets »Le style de programmation « orientée objets » constitue une autre avancée importante dans l'évolution des langages de programmation et connaît actuellement un essor considérable. L'idée fondamentale est de permettre au mieux la conception et la réutilisation de composants logiciels et, pour cela, de structurer les programmes en fonction des objets qu'ils manipulent. On peut citer en particulier Smalltalk, Eiffel, mais le langage orienté objets le plus utilisé est certainement C++, extension du langage C. Ada 95 se veut aussi une extension de Ada adaptée à la programmation objets. Le langage Java, dont la vogue actuelle est liée à des applications au World Wide Web (Internet) est aussi un langage orienté objets. Il présente l'immense avantage d'être portable, c'est-à-dire qu'un programme écrit en Java peut fonctionner sur des machines de constructeurs différents et sous plusieurs systèmes d'exploitation sans aucune modification.Les programmes Java sont soit interprétés soit compilés. Les versions interprétées sollicitent beaucoup l'unité centrale de l'ordinateur et cela peut avoir des conséquences fâcheuses pour les temps de réponse des applications interactives.Le parallélismeCitons aussi, sans entrer dans les détails, le parallélisme, c'est-à-dire les techniques qui permettent d'accroître les performances d'un système grâce à l'utilisation simultanée de plusieurs processeurs. Des problèmes difficiles se posent pour exprimer le parallélisme dans des langages de programmation et pour compiler ces langages. Le langage HPF (High Performance FORTRAN ) est un exemple récent de tentative pour résoudre ces difficultés.
LINGUISTIQUELe langage est un système qui a pour finalité de réaliser un message d'un émetteur vers un récepteur. Cela permet d'englober plusieurs modes de communication formalisés : langue naturelle, langages artificiels (de programmation informatique, par exemple), ou tout autre code : Code de la route, langage des fleurs, etc. Chaque langue naturelle est un code original propre à l'espèce humaine ; les langages artificiels proviennent de simplifications et de conventions à partir des langues naturelles.La hiérarchisation des signesCe système est dit « articulé » (A. Martinet), ce qui signifie que tout énoncé langagier doit pouvoir s'analyser à deux niveaux. Au niveau de la production de chaque langage, chaque unité s'articule en deux unités non significatives mais distinctives, par exemple entre le phonème (son émis) et le morphème (forme minimale de signification ; exemple : le pluriel en -s), entre le morphème et le syntagme (unité dans une organisation phrastique ; exemple : « le chien » dans « le chien dort »), etc. La combinaison des morphèmes, liée à la syntaxe (L. Bloomfield, Z. Harris), et l'assemblage des syntagmes forment une structuration hiérarchisée d'éléments constituants. C'est là que se situe la spécificité du langage humain, par opposition à un « langage » animal, dont on ne peut parler que par métaphore : les abeilles communiquent, mais leur mode de communication est exclusivement signalétique ; ce n'est donc pas un langage articulé.Différentes écoles ont tenté de décrire l'intégration systémique du langage humain : les structuralistes (F. de Saussure, L. T. Hjelmslev) ont mis l'accent sur les oppositions et les complémentarités dans les distributions de phonèmes, morphèmes, lexèmes, etc., d'où résulterait le fonctionnement du système langagier. Les dernières théories de N. Chomsky ont permis d'avancer l'hypothèse d'une organisation en modules, c'est-à-dire en petites unités de traitement distribuées en réseaux réglés pour permettre la communication de l'information.Les fonctions du langageR. Jakobson a distingué six fonctions qui, dans toute langue, se rapportent chacune à l'un des pôles fondamentaux de la communication linguistique. Toute communication fait en effet intervenir six facteurs : l'émetteur, le message, le destinataire, le contexte, ou référent, le code commun à l'émetteur et au destinataire, le canal (le support physique) de la communication. Le linguiste distingue la fonction référentielle, qui renvoie au contexte, la fonction phatique, qui renvoie au canal ou au contact (exemple : « Allo, ne coupez pas »), la fonction conative, qui vise à influencer le destinataire (exemple : « Corrige-moi si je me trompe »), la fonction émotive, qui centre le message sur l'émetteur (exemple : « Quel sale temps ce week-end ! »), la fonction poétique, qui concerne le message en lui-même, la fonction métalinguistique, qui renvoie au code lui-même (exemple : « Porte-manteau est invariable »).Les universaux du langageOn peut dénombrer dans le langage un certain nombre d'universaux, parmi lesquels on peut distinguer des universaux substantiels et des universaux conditionnels.Dans la catégorie des universaux substantiels entreraient le prédicat (ce qu'on dit d'un sujet dans un énoncé quelconque) ainsi que les mots fonctionnels. En effet, dans toutes les langues du monde existent des formes (noms ou verbes) susceptibles de recevoir la fonction prédicative et se trouvent également des morphèmes ne désignant rien par eux-mêmes (ils ne renvoient pas aux choses), mais dont la fonction est d'établir tel ou tel rapport entre les unités du lexique : les prépositions, les postpositions, les conjonctions, etc.Les universaux conditionnels mettent en relation deux phénomènes : ils sont formulés sous une forme d'implication (si p, alors q). Ainsi, dans les langues à prépositions, le génitif suit presque toujours le nom régissant ; dans les langues à postpositions, il le précède presque toujours. Les langues à ordre PSO (prédicat-sujet-objet) sont toujours à prépositions (l'arabe, par exemple). Avec une fréquence qui ne peut être due au hasard, les langues à ordre SOP (sujet-objet-prédicat) sont postpositionnelles (le japonais, les langues altaïques, le birman, par exemple). [→ langue.]
PSYCHOLOGIELa première manifestation de ce qui sera le langage apparaît sous forme d'actes pulsionnels. Le cri et le gazouillis constituent la marque initiale par laquelle le nourrisson commence à exercer son appareil phonatoire ; le résultat traduit souffrance ou bien-être : mais c'est la mère qui leur donne ce sens. De ce fait le nourrisson établit une relation avec elle et donne aux émissions vocales la valeur d'un système signalétique. La communication affective précède la fonction symbolique. Le gazouillis, qui exprime une situation de contentement, s'ajuste d'abord sous la forme du jeu ; en même temps, ou ultérieurement, le babillage se façonne par la sélection qu'opère l'enfant dans les sons qu'il entend et la différenciation des phonèmes se réalise dans un mode de communication ludique et égocentrique. Le langage débute quand l'enfant saisit la valeur symbolique des enchaînements des sons, c'est-à-dire le rapport du signifiant et du signifié. Dès lors, les sons qu'il émet sont des mots-phrases, en ce sens qu'ils associent un sujet et un prédicat : « maman », « papa », veulent dire : « maman est là », ou encore « je veux que maman soit là », ou encore « cet objet appartient à maman ». Les phrases de deux mots apparaissent dans la deuxième année, puis le troisième mot dans la 3e année, exprimant la modalité du rapport entre sujet et prédicat. Sur ces bases, l'enfant acquiert dès la 3e année la construction des énoncés par la régularité avec laquelle il entend la construction de ces énoncés : de là, chez lui, le très grand nombre d'essais et d'erreurs, la création de syntagmes agrammaticaux ou de néologismes inexistants, mais qui auraient pu être possibles. Ces écarts morphologiques ou syntaxiques disparaissent plus ou moins vite vers 4-5 ans. Les relations qui unissent l'acquisition du langage et le développement de la connaissance font l'objet de nombreuses hypothèses, toujours en discussion.
Aucun site ajouté récemment