Privacy Policy Cookie Policy Terms and Conditions

[HOME PAGE] [STORES] [CLASSICISTRANIERI.COM] [FOTO] [YOUTUBE CHANNEL]


Langage de programmation de quatrième génération

Langage de programmation de quatrième génération

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 programmes[1],[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 SQL[3]. 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ées[4].

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].

Quatre générations

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'ordinateur[6].

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 propre[7]. Le langage machine est la seule forme compréhensible par l'ordinateur[6]. Aujourd'hui, plus personne n'écrit en langage machine[8].

La deuxième génération, celle du langage assembleur, existe depuis 1955[8]. Dans ce type de langage les opcodes sont écrits sous une forme alphanumérique plus facile à retenir[6]. 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 accumulator[7]. 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 processeur[7]. 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 temps[6]. Le langage assembleur est utilisé dans des situations où le temps de réponse du processeur est d'importance critique[8]. 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ération[7].

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 particulier[6].

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 1957[7],[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és[6]. À noter que Fortran et COBOL permettent la programmation orientée objet depuis les standards ISO de 2003 et 2002 respectivement, et qu'il existe également des dialectes orientés objet de Pascal et Basic, par exemple Delphi et Visual Basic, apparus respectivement en 1995 et 1991.

4e génération

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 Programmers[9] (« 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écifiques[8]. 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 à utiliser[6].

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ération[6]. Les langages de 4e génération sont souvent utilisés pour accéder aux bases de données[6]. Les catégories principales sont les langages de reporting, les langages de requête (SQL, Prolog…) et les générateurs de programmes[8]. SQL est un langage utilisé pour écrire des demandes de recherche d'informations dans une base de données[6].

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 lisibles[2] 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].

Exemples

  • Genexus

Base de données

Mathématiques

  • Scilab
  • Mathematica
  • MATLAB
  • Maple

Statistiques

Gestion d'entreprise

  • ABAP (propriétaire, SAP)

Voir aussi

Notes et références

  1. (en) Colin Ritchie, Database Principles and Design, Cengage Learning EMEA - 2008 (ISBN 9781844805402).
  2. 1 2 (en) Seema Kedar et Sanjay Thakare, Principles of Programming Languages, Technical Publications - 2009 (ISBN 9788184315776).
  3. (en) Holger Herbst, Business Rule-Oriented Conceptual Modeling, Springer - 1997 (ISBN 9783790810042).
  4. (en) Colin Ritchie, Relational Database Principles, Cengage Learning EMEA - 2002 (ISBN 9780826457134).
  5. (en) Mehdi Khosrowpour, Managing Social and Economic Change With Information Technology, Idea Group Inc (IGI) - 1994 (ISBN 9781878289261).
  6. 1 2 3 4 5 6 7 8 9 10 (en) Deborah Morley et Charles S. Parker, Understanding Computers: Today and Tomorrow, Comprehensive, Cengage Learning - 2009 (ISBN 9780324830132).
  7. 1 2 3 4 5 (en) Michael Ekedahl, Programming with Microsoft Visual Basic 2008: An Object-Oriented Approach, Cengage Learning - 2009 (ISBN 9780324786248).
  8. 1 2 3 4 5 6 (en) J. B. Dixit, Computer Programming, Firewall Media - 2007 (ISBN 9788131800683).
  9. (en) James Martin, Application Development Without Programmers, Prentice-Hall - 1982 (ISBN 9780130389435).
  10. (en) InfoWorld 27 août 1990, Vol. 12, No 35 (ISSN 0199-6649).
  11. (en) Allen Kent et James G. Williams, Encyclopedia of Computer Science and Technology (ISBN 9780824722715).

Articles connexes

  • SQL, un langage de requêtes pour les bases de données
  • Langage machine dit de première génération
  • Langage assembleur dit de deuxième génération
  • Langage de haut niveau dit de troisième génération
  • Langage dédié ou Domain Specific Language
  • Langage de programmation de cinquième génération
  • Portail de la programmation informatique
This article is issued from Wikipédia - version of the Wednesday, September 23, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.
Contents Listing Alphabetical by Author:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Unknown Other

Contents Listing Alphabetical by Title:
# A B C D E F G H I J K L M N O P Q R S T U V W Y Z Other

Medical Encyclopedia

Browse by first letter of topic:


A-Ag Ah-Ap Aq-Az B-Bk Bl-Bz C-Cg Ch-Co
Cp-Cz D-Di Dj-Dz E-Ep Eq-Ez F G
H-Hf Hg-Hz I-In Io-Iz J K L-Ln
Lo-Lz M-Mf Mg-Mz N O P-Pl Pm-Pz
Q R S-Sh Si-Sp Sq-Sz T-Tn To-Tz
U V W X Y Z 0-9

Biblioteca - SPANISH

Biblioteca Solidaria - SPANISH

Bugzilla

Ebooks Gratuits

Encyclopaedia Britannica 1911 - PDF

Project Gutenberg: DVD-ROM 2007

Project Gutenberg ENGLISH Selection

Project Gutenberg SPANISH Selection

Standard E-books

Wikipedia Articles Indexes

Wikipedia for Schools - ENGLISH

Wikipedia for Schools - FRENCH

Wikipedia for Schools - SPANISH

Wikipedia for Schools - PORTUGUESE

Wikipedia 2016 - FRENCH

Wikipedia HTML - CATALAN

Wikipedia Picture of the Year 2006

Wikipedia Picture of the Year 2007

Wikipedia Picture of the Year 2008

Wikipedia Picture of the Year 2009

Wikipedia Picture of the Year 2010

Wikipedia Picture of the Year 2011