NATURAL
Este artigo não cita fontes confiáveis. (Setembro de 2019) |
NATURAL é uma linguagem de programação de Quarta Geração, uma geração após o Cobol, desenvolvida e distribuída pela Software AG no Brasil. É considerada Quarta Geração por trazer diversos comandos de controle automático do fluxo do programa, além de editor de tela de fácil uso, programação de eventos, dentre outras funcionalidades. É formado por dois componentes principais: o Sistema e a Linguagem.
O sistema é o veículo central de comunicação entre o usuário e todos os outros componentes do ambiente de processamento. As várias versões existentes permitem sua instalação em diversos equipamentos e sistemas operacionais.
A linguagem é estruturada e menos procedural que as linguagens convencionais.
Os objetos Natural (programas, mapas, áreas de dados, etc.) são armazenados em bibliotecas (“Libraries”), com estrutura parecida com o diretório DOS e podem ter 8 caracteres como nome máximo. Mesmo sendo objetos de diferentes tipos, não podem possuir o mesmo nome. Permite execução on-line e batch e utilitário de testes de programação.
NATURAL possui versões para MVS, UNIX, OS/2 e Windows. Pertence ao Paradigma Imperativo onde é utilizada a Programação imperativa, para saber mais sobre paradigmas de programação visite: Paradigma de programação.
Características
[editar | editar código-fonte]Algumas características do Natural são:
- Linguagem de programação com acesso a diversos bancos de dados: ADABAS (Hierárquico e relacional), Oracle, DB2, etc.;
- Utiliza diversos editores para criar programas, funções, telas pré-formatadas e áreas de dados;
- Permite uma programação modular;
- Utiliza funções e variáveis do sistema;
- Permite execução on-line e batch;
- Possui utilitário de testes de programação;
- Possui utilitário de criação/manutenção de mensagens de erros de aplicação;
- Qualquer aplicação pode ser facilmente portada para várias outras plataformas.
Os objetos Natural (programas, mapas, áreas de dados, etc.) são armazenados em bibliotecas (“Libraries”), com estrutura parecida com o diretório DOS e podem ter 8 caracteres como nome máximo. Mesmo sendo objetos de diferentes tipos, não podem possuir o mesmo nome.
Principais Vantagens
[editar | editar código-fonte]As principais vantagens do NATURAL em relação às linguagens tradicionais são:
- facilidade de acesso a Banco de Dados (ADABAS, DB2, ORACLE, etc..);
- velocidade de programação;
- dinamismo em testes e manutenção de programas; e
- menor preocupação com os demais recursos da instalação.
Diz-se "linguagem de IV geração" por possuir diversas vantagens de automatização de rotinas em relação às chamadas "III geração" (COBOL, PL/I, etc): editor de telas amigável, muito superior ao CICS; eventos (o que certamente ajudou a inspirar VB, Delphi etc.) e muitas outras inovações para a sua época. A linguagem NATURAL possui diversos controles automáticos que facilitam o controle do programa através de blocos de código acionados automaticamente. Exemplo:
READ EMPLOYEES BY NAME AT END OF DATA ADD TOTAL-PARCIAL TO TOTAL WRITE TOTAL END-ENDDATA END-READ
Este bloco de código será sempre executado todas as vezes que o ponteiro de leitura alcançar o último registro selecionado, não sendo necessário que o programador se preocupe em que parte do programa este código será escrito (contanto que esteja dentro do LOOP de leitura).
Tal como o bloco no exemplo, o NATURAL possui outros que são ativados em diversas situações: no início da leitura; na quebra de seqüência da classificação da chave; antes da quebra; depois da quebra etc. Além destas características, a linguagem possui diversas outras que fizeram e fazem do NATURAL uma grande linguagem de programação.
Componentes
[editar | editar código-fonte]O Natural tem os seguintes componentes principais:
- Núcleo - executa os comandos e instruções e gerência os demais componentes;
- Compilador - de execução interativa;
- System File - arquivo ADABAS de suporte ao Natural.
- Módulos de interface:
- Com o Sistema Operacional - executa todos os comandos de entrada/saída e demais comunicações;
- Com o monitor de TP - gerência todos os recursos necessários à aplicação;
- Com o ADABAS - executa todos os comandos ADABAS e controla vários processos de acessos/atualizações.
Tipos
[editar | editar código-fonte]Tem tipagem Forte, Estática e Explicita.
Formato | Código | Tamanho Máximo | Observação |
Alfanumérico | A | 253 | |
Numérico | N | 27 | Máximo de 7 decimais |
Compactado | P | 27 | Máximo de 7 decimais |
Inteiro | I | 1, 2 ou 4 | I1 – valores de -128 até 127 |
I2 – valores de -32768 até 32767 | |||
I4 – valores de -2147483648 até +2147483647 | |||
Data | D | ||
Hora | T | ||
Lógico | L | TRUE ou FALSE | |
Binário | B | 126 | |
Controle | C | Atributo de controle de mapas | |
Ponto Flutuante | F | 4, 8 |
System File
[editar | editar código-fonte]O System File é um arquivo ADABAS reservado para uso do Natural, que contém:
- Todos os programas Natural, tanto em formato fonte (programas) como em formato objeto (compilado), agrupados em bibliotecas;
- Os módulos de definição de arquivos, ou DDM’s (Data Definition Modules), com a definição para o Natural dos arquivos ADABAS e suas userviews;
- As mensagens de erro do Natural;
- Os textos da função “Help”.
Programas
[editar | editar código-fonte]Os programas Natural, fontes e objetos são identificados por nomes com formação igual aos nomes das bibliotecas, ou seja, até 8 caracteres, sendo o primeiro alfabético. Fontes e objetos podem (mas não devem) ter nomes diferentes.
Os programas fontes são formados por linhas de até 72 posições, numeradas por 4 dígitos. Esta numeração é gerada pelo Natural durante a criação do programa e é usada pelo Compilador e Editores, e tem importantes funções lógicas dos programas.
Dentro das linhas, a disposição das instruções (statements ou comandos de programas) é livre, não havendo instruções nem parâmetros posicionais. Os comentários podem ser incluídos de duas formas:
- Caracter “*” ou “**” : toda linha que for iniciada com estes caracteres será considerada comentário (* todo o conteúdo da linha é um comentário);
- Sequência de Caracteres “/*” : tudo que estiver à direita será considerada um comentário (/* tudo a direita, será comentário);
Exemplo:
0010 * Estas duas linhas (0010 e 0020) 0020 ** são comentários. 0030 FORMAT LS=80 /* Bem como esta parte da linha (0030) . . 0200 END
As instruções “END” ou “ . “ indicam fim de programa.
Interface Natural
[editar | editar código-fonte]Ao entrar no Natural, nos é apresentada a seguinte tela:
Compiladores
[editar | editar código-fonte]Aqui tem um exemplo: AG Natural 6.3
- http://www.softwareag.com/Corporate/products/natural/download/default.asp Em falta ou vazio
|título=
(ajuda)
Exemplos
[editar | editar código-fonte]Um exemplo de código de um "Hello, World!"
* Hello World in NATURAL WRITE 'Hello World!' END
Um exemplo de código com a implementação de um programa nessa linguagem que encontre os quatro primeiros números perfeitos:
DEFINE DATA LOCAL 1 #LIMITE (N16) 1 #CONT (N16) 1 #X (N16) 1 #SOMA (N16) 1 #I (N16) 1 #RESULTADO (N16) 1 #RESTO (N16) END-DEFINE RESET INITIAL #CONT #X DISPLAY 'QUANTOS NUMEROS PERFEITOS VOCE DESEJA ENCONTRAR?' INPUT #LIMITE DISPLAY 'OS NUMEROS PERFEITOS SAO:' REPEAT ADD 1 TO #X MOVE 0 TO #SOMA FOR #I 1 #X-1 1 DIVIDE #X INTO #I GIVING #RESULTADO REMAINDER #RESTO IF #RESTO = 0 ADD #I TO #SOMA END-IF END-FOR IF SOMA = X DISPLAY #X ADD 1 TO #CONT END-IF UNTIL CONT=LIMITE END-REPEAT END
Ligações externas
[editar | editar código-fonte]- «NATURALs product home page» (em inglês)
- «Adabas and Natural Developer Community» (em inglês)
- «Free Natural Software for developers» (em inglês)