Natural
Natural es un lenguaje de programación de cuarta generación semi-compilado publicado por la empresa alemana Software AG .
Definición
Su sintaxis está fuertemente inspirada en la de Cobol : contiene instrucciones como mover , ejecutar , calcular , así como principios como la redefinición de datos o la posibilidad de definir el alcance de una variable. Sin embargo, esta sintaxis sigue siendo bastante simple y mucho menos detallada que Cobol:
- el encabezado del programa se reduce a su forma más simple;
- no hay carácter de final de línea ;
- ...
La ventaja de un lenguaje semi-compilado es su portabilidad en diferentes sistemas ( mainframe , Unix , Windows , etc.); de hecho, basta con portar el “RunTime Natural” a una plataforma para poder ejecutar programas de Natural creados originalmente en otra plataforma (es el mismo principio que el de Java con los puertos de las JVMs .
Este lenguaje se creó originalmente para permitir el acceso a las bases de datos de Adabas (del mismo editor). Creció rápidamente para poder admitir bases de datos relacionales como DB2 o bases de datos no relacionales como DL1, VSAM . Se utiliza principalmente en la industria y las grandes empresas, ya que la base de datos Adabas es compatible no solo en plataformas como Unix o Windows sino especialmente en grandes sistemas que permiten una gestión masiva de E / S.
Las instrucciones para acceder al sistema de gestión de la base de datos (DBMS) son funcionales (ocultan las solicitudes físicas y la organización de los datos): cada instrucción para acceder a una tabla de la base de datos tiene la forma de un bucle de lectura siguiendo una clave simple o compuesta.
Por ejemplo, la lectura tiene la forma de dos palabras clave.
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)
El lenguaje tiene una extensión que también permite la codificación de accesos en forma de consultas SQL .
Ejemplo de fuente 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
Histórico
- La primera versión de Natural se lanzó en 1979.
- Inicialmente limitada al mundo de los sistemas mainframe ( IBM , Siemens , etc.), apareció una versión que se ejecutaba en Windows durante la década de 1990.
- A principios de 2003, un entorno de desarrollo gráfico (Natural para Windows) hizo posible desarrollar y depurar programas de Natural en el mainframe desde una estación de trabajo con Windows.
- Natural 2006 se enriquece con un estudio de gráficos bajo Windows y también un estudio en forma de "plugin" de Eclipse .
Evoluciones
Natural 2006 tiene un vocabulario extenso para procesar documentos XML de forma nativa.
Restos naturales, como Cobol, fuertemente orientados a aplicaciones de gestión, debido a:
- sus facilidades para el manejo de datos (acceso al DBMS, redefiniciones);
- su alto rendimiento, especialmente para el procesamiento masivo.
- de sus instalaciones para la gestión de interfaces de usuario tipo 3270 para una entrada de datos controlada intensiva.
enlaces externos