| JOVIAL | |
|---|---|
| Paradigma | procedural, imperativo, estruturada |
| Surgido em | 1960 |
| Criado por | System Development Corporation |
| Família | ALGOL |
| Projetado por | Software Engineering Associates |
| Principais implementações | MVS, OpenVMS, macOS, Windows, Linux, SPARC, PowerPC, MIL-STD-1750A, outros sistemas legados |
| Dialetos | J3, J3B-2, J73 |
| Influenciada por | ALGOL 58, SAGE |
| Influenciou | CMS-2, Coral 66, SYMPL |
JOVIAL é a sigla for "Jules Own Version of the International Algorithmic Language", uma linguagem de programação de alto nível destinada a desenvolver software embarcado para aeronaves militares por Jules Schwartz em 1959.
Em junho de 1958 a System Development Corporation iniciou um projeto de pesquisa voltado a investigação de problemas relacionados a geração automática de código. Este projeto resultou no desenvolvimento da linguagem CLIP, uma derivação da linguagem ALGOL 58. Em fevereiro de 1959, a SDC iniciou o trabalho na linguagem JOVIAL. Um ano mais tarde, um interpretador JOVIAL já estava rodando em uma máquina IBM 709. De princípio, o nome OVIAL (Our Version of the International Algorithmic Language) foi proposto, mas, por fim, um dos membros da equipe sugeriu o nome JOVIAL.
Jovial é derivada de ALGOL 58. Com relação ao escopo, a linguagem segue a regra de escopo estático.
Jovial é basicamente usada apenas pelo Departamento de Defesa dos Estados Unidos.
IF <expressão booleana> $ <comando>
IFEITH <expressão booleana> $ <comando> [rótulo .] ORIF <expressão booleana> $ <comando> [rótulo .] ORIF <expressão booleana> $ <comando> [rótulo .] ORIF <expressão booleana> $ <comando> ... END
FOR <lista_parametros 1> $ [nome .] FOR <lista_parametros 2> $ [nome .] FOR <lista_parametros n> $ BEGIN <comandos> END onde uma lista_parametros pode ter a forma: parametro = valor-inicial, incremento, valor-final $ ou parametro = ALL (nome) $