Les langages de programmation de quatrième génération (L4G) (4GL en anglais) sont un type de langage de programmation apparu en 1980, proche des langues naturelles, qui permet d'écrire plus de choses avec moins de lignes de programmes et moins d'erreurs. Faciles à apprendre, ils permettent de décrire certaines opérations de manière non procédurale et permettent d'obtenir rapidement des résultats à partir de courts programmes1,2.
Il n'existe pas de distinction formelle entre les générations 3e et 4e de langages de programmation. Le mot L4G est utilisé comme buzzword pour vendre des langages de programmation, et selon Holger Herbst en 1997, la plupart des L4G sont en fait des langages de 3e génération auxquels a été ajoutée une syntaxe déclarative basée sur SQL3. De nombreux logiciels de base de données tels que dBase, Oracle ou Informix incluent un langage de programmation de 4e génération. Celui-ci est similaire à un langage généraliste tel que Pascal et comporte des constructions additionnelles qui permettent un lien étroit avec le moteur de base de données telles que des commandes permettant de manipuler les bases de données4.
Selon un sondage réalisé à Hong-Kong en 1994, les caractéristiques essentielles d'un L4G sont la facilité d'apprentissage, l'accélération du travail de programmation, la présence d'un ensemble d'outils permettant de construire rapidement des menus ainsi que des formulaires électroniques et des rapports. La majorité des sondés ont trouvé difficile de répondre à la question : « Quelle est la définition d'un L4G ? »5.
Sommaire [afficher]
Quatre générations[modifier | modifier le code]
Les langages de programmation sont souvent catégorisés en quatre générations.
Les première et deuxième générations de langage de programmation sont dits de bas niveau. Dans ce type de langage le programmeur doit écrire les instructions d'une manière facile à comprendre pour le matériel informatique. Chaque ligne de code correspond à une seule opération effectuée par le système informatique. De tels langages sont également dépendants de la machine : un programme écrit pour un ordinateur donné ne pourra pas être utilisé sur un autre type d'ordinateur6.
La première génération — le langage machine — sont les instructions sous forme de suites de 0 et de 1 (opcode) telles qu'elles vont être exécutées par un processeur. Chaque type de processeur avait — et a toujours — une palette d'instructions qui lui est propre7. Le langage machine est la seule forme compréhensible par l'ordinateur6. Aujourd'hui, plus personne n'écrit en langage machine8.
La deuxième génération, celle du langage assembleur, existe depuis 19558. Dans ce type de langage les opcodes sont écrits sous une forme alphanumérique plus facile à retenir6. Par exemple l'instruction dont la suite de bits est 01101001 sur le processeur 6502, s'écrit LDA en langage d'assemblage et correspond à une opération load accumulator7. Les programmes écrits dans ce langage doivent être traduits en langage machine en vue d'être exécutés. Tout comme dans la première génération, il existe différentes palettes d'instructions en fonction du type de processeur7. Par rapport aux programmes écrits dans des langages de 3e génération, l'exécution des programmes écrits dans le langage assembleur est généralement plus rapide. L'écriture et la maintenance de tels programmes demande cependant plus de temps6. Le langage assembleur est utilisé dans des situations où le temps de réponse du processeur est d'importance critique8. Bien que cette génération soit un progrès significatif par rapport à la génération précédente, elle reste très primitive par rapport aux possibilités offertes par les langages de 3e et de 4e génération7.
Les langages de 3e et 4e génération sont dits de haut niveau : les langages sont plus proches des langues naturelles, ce qui rend les programmes plus faciles à écrire. Ils sont généralement indépendants de la machine : le même programme pourra être utilisé sur plusieurs types d'ordinateurs sans avoir été altéré — toutefois, un programme écrit en langage de haut niveau est souvent conçu pour utiliser un système d'exploitation en particulier6.
Les langages de 3e génération sont apparus au début des années 1960. Ils ont permis d'écrire des programmes d'une manière plus familière, proche de l'anglais, et qui ne dépendent pas du processeur qui sera utilisé. Ce qui a apporté un progrès significatif par rapport aux deux générations précédentes. Le premier langage de ce type a été FORTRAN, en 19577,8. Les langages de programmation de 3e génération tels FORTRAN, COBOL, BASIC ou Pascal sont de style procédural, alors que les langages C++, Java, Python et Ruby sont de style orientés objet. Les programmes écrits dans ces langages doivent être traduits par un compilateur ou un interpréteur avant d'être exécutés6.
4e génération[modifier | modifier le code]
Le terme de « langage de 4e génération » a été pour la première fois formalisé par James Martin en 1982 dans son livre Applications Development Without Programmers9 (« développement d'applications sans programmeurs ») pour désigner des langages de programmation de haut niveau. Comme le titre de l'ouvrage l'indique, le but de ce type de langage était de permettre à des développeurs non professionnels (par exemple des ingénieurs non informaticiens) de développer leurs propres applications.
Les langages de 4e génération sont apparus dans les années 1970. Contrairement aux langages polyvalents de troisième génération, les langages de 4e génération sont conçus pour résoudre des problèmes spécifiques8. Il n'existe pas de définition formelle des langages de 4e génération. Les programmeurs reconnaissent qu'ils ne sont pas procéduraux, qu'ils sont plus proches des langues naturelles que les langages de 3e génération, et plus faciles à utiliser6.
De tels langages permettent aux programmeurs d'écrire des programmes avec peu de code, ce qui augmente leur productivité. Les programmes écrits dans ces langages s'exécutent plus lentement et sont plus gourmands en ressources, et les programmeurs préféreront dans certains cas utiliser un langage de 3e ou de 2e génération6. Les langages de 4e génération sont souvent utilisés pour accéder aux bases de données6. Les catégories principales sont les langages de reporting, les langages de requête (SQL, Prolog…) et les générateurs de programmes8. SQL est un langage utilisé pour écrire des demandes de recherche d'informations dans une base de données6.
Le fait que le langage soit dédié implique que les opérations spécifiques au domaine traité sont incluses dans le lexique du langage là ou des langages généralistes (tels que le langage C) demandent l'emploi de bibliothèques logicielles complémentaires ou des développements spécifiques. Le haut niveau d'abstraction implique des programmes plus brefs et plus lisibles2 dans le champ dédié du langage. En contrepartie ces programmes sont moins polyvalents et permettent moins d'optimisation que des langages de bas niveau et/ou généralistes.
Le but recherché de tels langages est de diminuer le coût de développement de logiciels et ils sont souvent utilisés comme outils CASE (sigle de computer-aided software engineering — génie logiciel assisté par ordinateur)10,11.
Aucun commentaire:
Enregistrer un commentaire