JOVIAL is a high-level language derived from ALGOL 58, created by Jules Schwartz at System Development Corporation (SDC) starting in 1959, with the first version appearing around 1960. Its name stands for "Jules' Own Version of the International Algebraic Language". If you are wondering what is JOVIAL used for in military aircraft, it is the language in which much U.S. Air Force avionics and command-and-control software was written from the 1960s through the 1980s, and some of that code is still maintained.
Origins at System Development Corporation
SDC was spun out of the RAND Corporation in the 1950s to write software for large U.S. Air Force systems, starting with work related to the SAGE air defence network. By the late 1950s SDC faced a new generation of command-and-control projects, including the Strategic Air Command Control System, which needed a language better suited to real-time military work than either assembly or Fortran.
Jules Schwartz based his design on the International Algebraic Language, the 1958 proposal soon called ALGOL 58. He kept its algebraic notation and block structure but added features for the kind of data embedded systems actually handle, such as packed bit fields, fixed-point numbers and shared table definitions.
Design and key features
JOVIAL was intended for systems programming on machines with tight memory and hard real-time limits:
- COMPOOL (communication pool). A central set of shared data definitions that separately compiled modules could reference, so large teams used consistent layouts for tables and messages.
- Tables with controllable layout. Programmers could specify how entries were packed into machine words, which mattered for sensor data and message formats.
- Bit and byte manipulation built into the language.
- Fixed-point arithmetic, important on processors without floating-point hardware.
- Status types, an early form of enumerated types.
- Escape to assembly where hardware access demanded it.
Versions and standards
| Version | Approximate date | Notes |
|---|---|---|
| JOVIAL J1 / J2 | 1959–1961 | Early SDC versions |
| JOVIAL J3 | 1960s | Widely used version, later defined in a U.S. Air Force manual |
| JOVIAL J73 | 1973 onward | Standardised as MIL-STD-1589, with revisions A, B and C |
| MIL-STD-1589C | 1984 | Final major revision of J73 |
A short code example
The fragment below is a simplified illustration in the J73 style, summing the squares of 1 to 10. Exact details, such as type specifiers and program framing, varied by compiler:
START
PROGRAM SUMSQ;
BEGIN
ITEM TOTAL U;
ITEM I U;
TOTAL = 0;
FOR I : 1 BY 1 WHILE I <= 10;
TOTAL = TOTAL + I * I;
END
TERM
ITEM declares a scalar variable, and U marks an unsigned integer. The loop syntax shows the ALGOL heritage while reflecting JOVIAL's own conventions.
What is JOVIAL used for in military aircraft
JOVIAL became the U.S. Air Force's standard high-level language for embedded and real-time systems. It has been used in flight control, navigation, weapons management, radar and mission computers. Commonly cited examples include software on the B-52, B-1B and B-2 bombers and on the F-15 and F-16 fighters, as well as airborne surveillance platforms and satellite and missile ground systems. Outside the military, large parts of the FAA's en route air traffic control software were written in JOVIAL.
The language suited these roles because it gave programmers precise control over data layout and timing while still offering structured, readable code, which mattered for long-lived systems maintained by changing teams.
Influence and legacy
JOVIAL influenced other military and real-time languages, including Britain's CORAL 66 and the U.S. Navy's CMS-2. Its biggest legacy, though, is indirect. The U.S. Department of Defense's concern about the many languages in its systems, JOVIAL among them, led to the project that produced Ada, which the Pentagon mandated for new development from the 1980s. New JOVIAL projects largely stopped after that.
Is JOVIAL still used today?
Yes, in maintenance mode. Aircraft and ground systems stay in service for decades, so JOVIAL code continues to be updated, and the Air Force has funded tools to keep compilers running on current hosts and to translate JOVIAL into C or C++ where upgrades allow.
So what is JOVIAL used for in military aircraft today? Mostly keeping proven avionics software flying, with occasional updates and gradual migration, long after the language stopped being chosen for anything new.
Frequently asked questions
What does JOVIAL stand for?
JOVIAL stands for "Jules' Own Version of the International Algebraic Language". It refers to Jules Schwartz, who designed it, and to the International Algebraic Language, the original name of ALGOL 58.
Is JOVIAL related to ALGOL?
Yes. JOVIAL was derived from ALGOL 58 and keeps its algebraic notation and block structure. It added features for embedded military systems, such as packed tables, fixed-point arithmetic and shared COMPOOL data definitions.
Why did the U.S. military replace JOVIAL with Ada?
By the 1970s the Department of Defense was supporting hundreds of languages and dialects, which made software expensive to maintain. It sponsored a single standard language, Ada, and required it for new systems, leaving JOVIAL mainly for existing programs.







