Natural


Natural
Page d'aide sur l'homonymie Pour les articles homonymes, voir Natural (homonymie).

Natural est un langage de programmation semi-compilé, édité par la société allemande Software AG.

Sommaire

Définition

Sa syntaxe est fortement inspirée de celle de Cobol : on y retrouve des instructions telles que move, perform, compute, ainsi que des principes tels que la redéfinition de données ou la possibilité de définir le scope d'une variable. Néanmoins, cette syntaxe reste assez simple et beaucoup moins verbeuse que Cobol :

  • l'en-tête du programme est réduite à sa plus simple expression;
  • il n'y a pas de caractère de fin de ligne;
  • ...

L'intérêt d'un langage semi-compilé est sa portabilité sur différents systèmes (mainframe, Unix, Windows, etc.) ; en effet il suffit de porter le « RunTime Natural » sur une plateforme pour pouvoir y exécuter des programmes Natural originellement créés sur une autre plateforme (c'est le même principe que celui de Java avec les portages des JVM.

Ce langage fut créé au départ pour permettre l'accès aux bases de données Adabas (du même éditeur). Il s'est rapidement enrichi pour pouvoir supporter des bases de données relationnelles comme DB2 ou non relationnelles comme DL1, VSAM. Il est surtout utilisé dans l'industrie et les sociétés de grande taille, car la base Adabas est supportée non seulement sur des plateformes comme Unix ou Windows mais surtout sur de gros systèmes autorisant une gestion d'I/O massive.

Les instructions d'accès au système de gestion de base de données (SGBD) sont fonctionnelles (elles masquent les requêtes physiques et l'organisation des données) : chaque instruction d'accès à une table de la base se présente sous forme d'une boucle de lecture suivant une clé simple ou composée.

Par exemple, la lecture se présente sous la forme de deux mots-clefs.

READ Table    (Accès à la table → Début boucle de lecture)
   instruction(s).... sur l'enregistrement
   gestion de sortie de la boucle de lecture souvent à la discrétion du programmeur
END-READ      (Marqueur de fin de boucle)

Le langage dispose d'extension permettant également le codage des accès sous forme de requêtes SQL.

Exemple de Source Natural

DEFINE DATA PARAMETER /* paragraphe de déclaration des paramètres du programme
1 PARAM1  (A001) /* alphanumérique
1 PARAM2 (N004) /* Numérique
LOCAL /* paragraphe de déclaration des variables du programme
1 CLE_COMPOSEE (A022)
1 REDEFINE  CLE_COMPOSEE /* redéfinition de la variable cle_composee
  2 VAR1_1 (A001)
  2 VAR1_2 (N020)
1 VAR3  (L)  /* booléen
1 VAR4  (D)  /* Date
1 VAR5  (N5) /* Numérique sur 5 positions
END-DEFINE   /* début de programme

ON ERROR /* paragraphe de gestion des erreurs
   WRITE 'erreur N°' *ERROR-NR 'ligne ' *ERROR-LINE 'dans programme' *PROGRAM
END-ERROR

MOVE PARAM1 TO VAR1_1
MOVE PARAM2 TO VAR1_2

/* le paragraphe find .... end-find définit une boucle de lecture. 
/* Tant que des enregistrements de la table satisfont aux critères
/* de recherche, on revient au début de la boucle pour trouver 
/* l'enregistrement suivant ...
FIND TABLE WITH TABLE.CLE = CLE_COMPOSEE  /* boucle de recherche d'enregistrements 
 IF NO RECORD FOUND
  WRITE 'aucun enregistrement trouve'
  ESCAPE BOTTOM                           /* sortie de la boucle de lecture
 END-NOREC

 IF TABLE.CHAMP1 = 'toto'
  ESCAPE TOP               /* passage à l'itération suivante 
                           /* (pour éviter, par exemple, de traiter
                           /* certains enregistrements)
 END-IF

 PERFORM TRAITER_CHAQUE_RECORD_LU
END-FIND

DEFINE SUBROUTINE TRAITER_CHAQUE_RECORD_LU
    WRITE TABLE.CHAMP1 TABLE.CHAMP2
END-SUBROUTINE

END  /* fin de programme

Historique

  • La première version de Natural voit le jour en 1979.
  • Limité au départ au monde des grands systèmes (IBM, Siemens, etc.), une version fonctionnant sous Windows est apparue durant les années 1990.
  • Début 2003 un environnement de développement graphique (Natural for Windows) permet de développer et de mettre au point des programmes Natural sur mainframe à partir d'un poste de travail sous Windows.
  • Natural 2006 s'enrichit d'un studio graphique sous Windows et aussi d'un studio sous forme de « plugin » Eclipse.

Évolutions

Natural 2006 dispose d'un vocabulaire étendu pour traiter de façon native les documents XML.

Natural reste, comme Cobol, fortement orienté vers les applications de gestion, du fait:

  • de ses facilités pour la manipulation des données (accès au SGBD, redéfinitions);
  • de ses performances élevées notamment pour les traitements de masse.
  • de ses facilités à gérer les interfaces utilisateurs de type 3270 pour des saisies contrôlées intensives.

Liens externes

Site officiel


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Natural de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Natural — Nat u*ral (?; 135), a. [OE. naturel, F. naturel, fr. L. naturalis, fr. natura. See {Nature}.] 1. Fixed or determined by nature; pertaining to the constitution of a thing; belonging to native character; according to nature; essential;… …   The Collaborative International Dictionary of English

  • natural — adjetivo 1. De la naturaleza o producido por la naturaleza, y no por el hombre: fronteras naturales, recursos naturales. Me gusta la fruta natural, no la que viene en conserva. Las tormentas son un fenómeno natural. ciencias naturales. luz*… …   Diccionario Salamanca de la Lengua Española

  • natural — (Del lat. naturālis). 1. adj. Perteneciente o relativo a la naturaleza o conforme a la cualidad o propiedad de las cosas. 2. Nativo de un pueblo o nación. U. t. c. s.) 3. Hecho con verdad, sin artificio, mezcla ni composición alguna. 4.… …   Diccionario de la lengua española

  • natural — NATURÁL, Ă, naturali, e, adj., adv., s.n. I. adj. 1. Care se referă la natură (1), care aparţine naturii; care se găseşte în natură. ♢ Bogăţie naturală = bogăţie (necultivată) a solului sau a subsolului, a unei regiuni, a unei ţări. Ştiinţele… …   Dicționar Român

  • natural — [nach′ər əl, nach′rəl] adj. [OFr < L naturalis, by birth, according to nature] 1. of or arising from nature; in accordance with what is found or expected in nature 2. produced or existing in nature; not artificial or manufactured 3. dealing… …   English World dictionary

  • Natural — es un adjetivo que se refiere a la Naturaleza. Puede referirse a: Persona nacida en un determinado lugar (véase también vecino, ciudadano y súbdito) Lenguaje natural Números naturales Espacio natural Parque natural Reserva natural Ciencias… …   Wikipedia Español

  • natural — nat·u·ral adj 1: based on an inherent sense of right and wrong natural justice see also natural law, natural right 2 a: existing as part of or determined by nature …   Law dictionary

  • NATURAL — is a fourth generation programming language from Software AG. It is largely used for building databases output in plain text form, for example. * Hello World in NATURAL WRITE Hello World! END It has the ESCAPE TOP flow control instruction, which… …   Wikipedia

  • natural — adj 1 *regular, normal, typical Analogous words: ordinary, *common, familiar: *usual, customary, habitual, accustomed, wonted Antonyms: unnatural: artificial: adventitious 2 Natural, simple, ingenuous, naive, unsophisticated, artless, unaffected… …   New Dictionary of Synonyms

  • natural — adj. 2 g. 1. Da natureza ou a ela relativo. 2. Produzido pela Natureza. 3. Oriundo, originário. 4. Que não tem artifício, composição ou mistura. 5. Não artificial. 6. Não postiço; próprio. 7. Simples, singelo; sem doblez nem impostura. 8. Lógico; …   Dicionário da Língua Portuguesa

  • Natural — Nat u*ral (?; 135), n. 1. A native; an aboriginal. [Obs.] Sir W. Raleigh. [1913 Webster] 2. pl. Natural gifts, impulses, etc. [Obs.] Fuller. [1913 Webster] 3. One born without the usual powers of reason or understanding; an idiot. The minds of… …   The Collaborative International Dictionary of English