Progress 4GL
Progress 4GL é uma linguagem de programação de quarta geração, daí a sigla 4GL, baseada em eventos e proprietária. Ela foi desenvolvida pela empresa Progress Software Corporation em 1984, inicialmente para o sistema operacional (y) Positivo com uso em mainframes para processamento de grande volume de dados, como alternativa para outras linguagens à época como Cobol, Adabas, Natural, Clipper, CORO, etc., pois elas exigiam que o programador escrevesse um código muito extenso para qualquer aplicação. Também, uma alternativa como banco de dados relacional de alto desempenho e segurança, embutido em um único produto. A Progress Corporation tem sua sede em Bedford, Massachusetts USA, com filiais em diversos países. No Brasil sua representante é a Progress do Brasil/SP. Um dos maiores atrativos da linguagem Progress é sua portabilidade e independência de plataforma, ela funciona em praticamente todos os sistemas operacionais existentes, como: MS-DOS, Windows 3x,95,NT, UNIX, OS/2, Novell, VMS, Motif, Xenix, CTOS entre diversos outros, isso utilizando o mesmo código fonte.
A integração entre linguagem e banco de dados fazem da Progress uma excelente ferramenta para construção de qualquer aplicação comercial. Uma das maiores desvantagens de progress são as camadas de desenvolvimento - regras de negócios, dados e interface estão totalmente acopladas. A atualização e distribuição dos aplicativos é bastante simplificada, um sistema pode ser totalmente centralizado para acesso de vários clientes simultâneos, usando o conceito de sistema "stand-alone", e atualizado a qualquer tempo, parcialmente ou completamente sem gerar qualquer erro ou necessitar de uma parada momentanea do sistema.
A linguagem Progress é utilizada, basicamente, para desenvolvimento de sistemas de gestão empresarial (ERPs), que são sistemas integrados para controle de uma empresa. É principalmente dirigida às corporações de médio e grande porte, devido o alto custo financeiro de suas licenças.
Exemplo de um programa em Progress:
Exibe n números perfeitos
DISP 'Hello World'.
MESSAGE' 'Hello World'.
DEFINE VARIABLE i AS INTEGER INIT 0 NO-UNDO. DEFINE VARIABLE j AS INTEGER INIT 0 NO-UNDO. DEFINE VARIABLE soma AS INTEGER INIT 0 NO-UNDO. DEFINE VARIABLE num-achados AS INTEGER INIT 1 NO-UNDO. DEFINE VARIABLE qtd-procurada AS INTEGER INIT 0 NO-UNDO. DEFINE VARIABLE num-perf AS INTEGER INIT 0 NO-UNDO.
FORM num-perf HELP "Digite um número" WITH 1 DOWN 1 COL ROW 5 CENTER FRAME numero. UPDATE num-perf WITH FRAME numero.
ASSIGN qtd-procurada = num-perf i = 0. DO WHILE (num-achados <= qtd-procurada): ASSIGN i = i + 2. IF (i MOD 10 = 6 OR i MOD 10 = 8) THEN DO: ASSIGN soma = 0 j = 1. DO WHILE (j <= (i / 2)): IF (i MOD j = 0) THEN ASSIGN soma = soma + j j = j + 1. END. IF (i = soma) THEN DO: MESSAGE i ' é Numero Perfeito' VIEW-AS ALERT-BOX INFO BUTTONS OK. ASSIGN num-achados = num-achados + 1. END. END. END.
Ligações externas
- Progress
- Progress Brasil