Informix-4GL
Este artigo não cita fontes confiáveis. (Abril de 2014) |
O Informix 4gl é uma linguagem de quarta geração desenvolvida pela Informix em 1986 e tem-se mantido bastante estável desde então. A Informix Corporation foi adquirida pela IBM.
Histórico
[editar | editar código-fonte]Informix 4GL | |
---|---|
Paradigma | programação genérica |
Surgido em | 1986 |
Criado por | Informix corporation |
Principais implementações | cfgl, fglpc, 4js, Querix, Aubit4GL |
Dialetos: | Informix, 4js |
O Informix-4GL (4GL) foi uma das linguagens mais bem sucedidas nos anos 80 e 90. Muitos milhões de linhas de código são ainda mantidos e muitos sistemas críticos de negócio dependem ainda de programas desenvolvidos em 4GL. Infelizmente a Informix não foi capaz de providenciar um caminho de evolução para a linguagem, apesar de ter tentado por duas vezes, primeiro com o 4GL for Windows e depois com o New Era. Após a aquisição pela IBM, apareceu mais um candidato a substituto - o EGL - mas tem tardado a impor-se.
Devido ao facto de o 4GL continuar a gerar interfaces em modo alfanumérico é visto, com frequência, como um "sistema legado" (legacy system). Devido a diversas limitações técnicas, até a versao 7.31 o 4GL não integra facilmente em ambientes web ou em arquitecturas elaboradas com Java ou .Net, o que prejudica a sua utilização em projectos mais actuais. Apesar disto, muitas organizações continuam a usar o 4GL nos seus sistemas, provavelmente devido ao facto de ser uma linguagem muito fácil de aprender e com um ciclo de desenvolvimento-teste-produção extremamente rápido. Mas a partir da versão 7.50 a IBM incluiu recursos de web services no 4GL, além disso você pode personaliza-lo através de funções escritas em C (existem empresas que implementaram seu próprio gerenciador de socket/tcp no 4GL).
Diversas alternativas existem hoje ao compilador 4GL da IBM. As mais conhecidas são o 4js, o Querix e o projecto open-source Aubit4GL. Todas elas resolvem o problema do interface alfanumérico e possibilitam a utilização das aplicações em modo gráfico.
Está disponível online um manual de 4GL em Português.
Exemplos de código
[editar | editar código-fonte]Exemplo de main com menu
[editar | editar código-fonte]O main é onde o programa inicia.
main define codigo smallint open window Janela at 10,5 with 22 rows, 78 columns attribute (border) let codigo = funcao_pega_codigo() menu 'Menu' command key ('I') 'Incluir' 'Chama a funcao Incluir' call funcao_incluir() command key ('A') 'Alterar' 'Altera o codigo carregado' call funcao_incluir(codigo) command key ('X') 'eXcluir' 'Exclui o Fulano da Silva' call funcao_excluir('Fulano da Silva') command key ('E') 'Encerra' 'Sai do Menu' exit menu end menu close window Janela end main
Exemplo de funcao
[editar | editar código-fonte]function funcao_exemplo() define l_status smallint ,mensagem char(100) define record_variaveis record variaveis1 like NomeTabela.CampoTabela ,variaveis2 char(300) ,variaveis3 smallint end record initialize record_variaveis to null let l_status = true let record_variaveis.variaveis3 = 5521 call funcao_retono(record_variaveis.variaveis3) returning record_variaveis.variaveis1 ,record_variaveis.variaveis2 ,l_status if l_status = true then let mensagem = 'Funcao executada com sucesso' else let mensagem = 'Funcao retornou erro' end if return mensagem end function