Talk:JOVIAL

JPL Rovers
Ive heard that JPL uses JOVIAL in some parts of their Mars rovers. If true, that should go into "notable uses" categorySavuporo


 * Hi, well, you might be right. I would however not say "JPL, Rover or Mars", it was used in a different era, different organizations, rover-names (robots, landers, etc.), different targets (missions). According to https://trs.jpl.nasa.gov/bitstream/handle/2014/37929/04-1124.pdf?sequence=1 but I couldn't find more evidence. Basically JOVIAL always connects with the hardware. Search https://ntrs.nasa.gov which seems a good resource.--𝔏92934923525 (talk) 22:45, 23 February 2021 (UTC)

Who's Jules?
Who's Jules? -- Zoe

While a journeyman programmer using JOVIAL (in 1979-1983), I had been given to understand that Jules was a Project Manager for the JOVIAL language (a financial, non-technical position), and that his name was on the contract which created the project.

The following explanation comes from a more reliable source. The wiki description of Jules Schwartz being a leader or critical to the creation of the language seem over done in light of this reference.

This is from http://www.stsc.hill.af.mil/crosstalk/1996/04/jovial.asp:


 * The high order language JOVIAL was developed for the U.S. Air Force by the System Development Corporation (SDC) in the late 1950s. The name originally recommended was OVIAL, for Our Own Version of the International Algebraic Language. Jules Schwartz, a computer scientist then employed at SDC, wrote,


 * "In the late 1950s, society wasn't quite as free thinking as it is today. The name OVIAL seemed to have a connotation relative to the birth process that did not seem acceptable to some people."


 * At a January 1959 meeting, the subject of an acceptable name was discussed. Someone suggested the name JOVIAL as the easiest transition from OVIAL. The question of the meaning of the "J" arose. Since Jules Schwartz was standing in the front of the room conducting the meeting, someone suggested the language be called, "Jules' Own Version of the International Algebraic Language." The meeting ended without finalizing the name, but when a contract for SDC to develop the language and a compiler was published, the arbitrarily chosen name was used, and it has stuck. [1]


 * 1. JOVIAL Language Control Facility Newsletter, Vol. 4, No. 3, June 1982.

The following is an update on 9/17/06. I am quite able to answer the question above--"Who's Jules?". I am Jules, Currently retired and a resident of California. I can also clarify a few points that were made in this discussion and the description of JOVIAL in the main article.

I was the Project Manager and was the one who provided the original definition of the language, which I called OVIAL, and the proposal and responsibility to build the first compilers for it. I also was the manager,for about two years, of the original compiler development efforts. That is the reason that I was standing in front of the above mentioned meeting. I found out about twenty years later how the word JOVIAL was put into the contract to build the compilers. Three members of the Prime Contractor organization(IEC, a subsidiary of IT&T) were at the meeting. When they went back to their offices they decided on the name change and put it into the contract, along with the schedule etc. Of course, with time, others have contributed to the development of the language.

The original compilers were for the USAF 465L System(prime contractor IEC, subcontractor SDC). They were on the IBM Main Frame AN/FSQ-32 and 7090 Computers(started on the 7090). Although pretty much after the original schedule and originally with a fair number of problems they were delivered and were used for some time. The language, or different versions of it, had compilers produced on other main frames and, eventually a variety of embedded computers. One non-military use was for the enroute Air Traffic Control System. It was originally programmed by IBM, taken over by CSC and was still in use less than ten years ago. I always assumed (but wasn't certain) that it became useful for embedded computers because it was oriented to binary computers. JIS 9/17/06

Hi, see here: https://en.wikipedia.org/wiki/JOVIAL#cite_note-3 or here https://jovial.com, meaning: "By the way, the acronym has come to mean "Jules' Own Version of IAL," but within the team it originally stood for "Just Our Version of IAL." IAL stands for "International Algorithmic Language," (or maybe it's "Algebraic"). IAL was an early name for ALGOL." ... discussion done? ✅--𝔏92934923525 (talk) 21:54, 23 February 2021 (UTC)

Type-III product
Hi, I have launched a new article on IBM Type-III products. I have heard from folklore that JOVIAL was released in this manner, but I was only able to find a news post (hardly a credible source). Does anyone have some background they could share to help me with my research? John Vandenberg 09:42, 30 September 2006 (UTC)

Popularity
(Resorted paragraphs in talk page Riordanmr 23:23, 2 June 2007 (UTC))

JOVIAL is not as popular as it used to be. The F18 does not use JOVIAL, the F/A-18C is written in AN/AYK-14 assembler (CMS-2) and the F/A-18E/F is written in a "High Order Language". F-16 from Block 50 on do not have any Jovial, older variants do. —Preceding unsigned comment added by 70.250.194.8 (talk) 00:43, 30 October 2007 (UTC)

Example
Most wikipedia pages on programming languages contain some overview of syntax, interesting features, and hello world type programs. Could someone familiar with JOVIAL write up some of this?

Wws 6/8/2006

Would be good with an example snippet code of "Hello world" or something. —The preceding unsigned comment was added by Frap (talk • contribs) 15:21, 4 March 2007 (UTC).

One minor issue with the "hello world" program is that JOVIAL doesn't have anything like I/O statements (other than !TRACE directives). — Preceding unsigned comment added by 24.23.193.172 (talk) 08:16, 10 November 2011 (UTC)


 * Could someone provide a short subroutine that, for example, calculates square roots, or does a array bubble sort? Just enough code to give the flavor and syntax of the language would be sufficient. — Loadmaster (talk) 00:56, 17 May 2018 (UTC)


 * I added a dumb example from the Programming manual, public-domain since it's from a US Government pub. You may want to replace this or add additional examples. Peter Flass (talk) 02:04, 17 May 2018 (UTC)


 * Thanks for that. I added an explanation of the code. — Loadmaster (talk) 22:17, 24 May 2018 (UTC)

Systems using JOVIAL
As far as I know, JOVIAL is used in F-16 but is not used in F-15. Does anyone know for sure about the F-15? 84.109.241.50 (talk) 04:17, 11 May 2009 (UTC)
 * Hi, interesting question, going deep, not 100% sure, but https://ntrs.nasa.gov/citations/19790018916 (340 pages, 1979!) mentions JOVIAL with regards to flight-control DAIS (Digital Avionics Integration System) see p. 177. Btw, survey mentions the 8080 at $40 in 1979 😅 and lists possible targets in table "TABLE5.2.1-I SUMMARY OF TYPICAL MICROPROCESSORS". F-15, F-16 are mentioned but not in combination with JOVIAL explicitly. I think the target needs to be clear. Engine control unit could be written in a different language. Well, also note the significant architecture changes from 60s to 70s, see Fig.2 p.50 https://ntrs.nasa.gov/citations/19790005565, which usually leads to hardware/software changes influencing the find for an answer, well, but according to same resources p.49 the Fire Control Computer of the F-16 is programmed in JOVIAL. Fig. 4 p.51 is showing the development stages. Wow, https://ntrs.nasa.gov/citations/19720013553 is a major document on JOVIAL, but not jet systems. Text https://apps.dtic.mil/dtic/tr/fulltext/u2/a107906.pdf clearly mentions JOVIAL in context of DAIS again and so named AN/AYK-15A processors with YF-22 and YF-23 systems according to http://vipclubmn.org/computersAF.html. Picture of AN/AYK-15A in https://www.bly.com/newsite/Pages/PDFs/aerospace-defense-boeing-litton-westinghouse.pdf. I stop here. I think there is not easy answer, many variants of both planes. Some true experts only can answer and reference.--𝔏92934923525 (talk) 23:46, 23 February 2021 (UTC)

High-order
--Abdull (talk) 08:59, 11 September 2010 (UTC)
 * "JOVIAL is a high-order computer programming language similar to ALGOL, [...]"
 * What is a high-order language?


 * I changed it to a "high-level computer programming language", which is the more correct terminology. — Loadmaster (talk) 18:44, 19 January 2015 (UTC)


 * Probably so. High-order language is pentagonese. Peter Flass (talk) 19:39, 19 January 2015 (UTC)
 * It might have been a Pentagon-ese variant, but was an accepted term at the time. Jovial was one of the "DoD Approved High Order Programming Languages" in interim instruction 5000.31 (November 1976). See DoD's Common Programming Language Effort, The Software Life Cycle-A Management and Technological Challenge in the Department of Defense, both IEEE 1978, and High Order Language Working Group. So I've reverted Loadmaster's change. - Pointillist (talk) 01:01, 22 January 2015 (UTC)


 * How about a compromise? I I think that WP articles tend to use modern language (especially) in the intro paragraphs to describe the subject, and only later down in the article (e.g., in a "History" section) do they use more archaic terminology to set the context of the origins of the subject. So why not describe JOVIAL as a "high-level computer programming language" in the lede sentence, and then use the earlier "high-order language" term in the "History" section? This would serve to explain things in modern terms for WP readers while preserving the historical context of it as well. — Loadmaster (talk) 15:32, 25 January 2015 (UTC)


 * Sorry about the delay replying. Yes, I agree. I've checked a load of sources (list below) and AFAICS the DoD was using 'high(er) order' to mean the same as what we call 'high level'. I would have done the edit myself but ran out of time. Here are the links I found. I can explain the articles if necessary, I have academic access to them. - Pointillist (talk) 23:13, 26 January 2015 (UTC)
 * https://www.youtube.com/watch?v=3Z5j7nydZcs | Jules Schwartz lecture on JOVIAL - YouTube,
 * http://www.scribd.com/doc/49080668/Computer-programming-manual-for-the-JOVIAL-J73-language-1981-AD-A101-061#scribd | Computer programming manual for the JOVIAL (J73) language (1981) AD-A101 061
 * http://eric.ed.gov/?id=ED162661 | ERIC - Simulation Higher Order Language Requirements Study., 1978-Aug
 * http://computer-programming-forum.com/44-ada/aaea13a0e7cb71ed.htm | Ada, Eiffel for DoD
 * http://sw-eng.falls-church.va.us/3405-1.html | Dod Directive 3405.1, Programming Language
 * http://computer-programming-forum.com/26-programming-language/28da0e797c51c04e.htm | Programming language, The Language List Version 2.2 (Part 6 of 11)
 * http://www.legacy.com/obituaries/latimes/obituary.aspx?pid=165410251 | Jules I. Schwartz Obituary: View Jules Schwartz's Obituary by Los Angeles Times
 * http://academic.research.microsoft.com/Author/51277405/jules-i-schwartz | Jules I. Schwartz
 * http://dl.acm.org/citation.cfm?id=1476606 | Interactive systems
 * http://dl.acm.org/citation.cfm?id=800091.802915 | Software engineering in 1968
 * http://academic.research.microsoft.com/Publication/888682/the-development-of-jovial | The development of JOVIAL


 * I changed the lede to use the more modern term (and link), and added the older historical term to the 'History' section. I did not have time to add any of your references above, though, and would appreciate it if someone who does have more time could do this. I don't think we need to go into any detail about the different terms other than to provide cites to pages that use the term. — Loadmaster (talk) 16:23, 28 January 2015 (UTC)

(indentation omitted) I created Jules Schwartz and used the obituary link given, thanks for that. Peter Flass (talk) 17:19, 28 January 2015 (UTC)
 * Nice work, thanks! - Pointillist (talk) 17:48, 28 January 2015 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 4 external links on JOVIAL. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20041105105841/https://wrc.navair-rdte.navy.mil/warfighter_enc/weapons/SensElec/RADAR/anapg73.htm to https://wrc.navair-rdte.navy.mil/warfighter_enc/weapons/SensElec/RADAR/anapg73.htm
 * Added archive https://web.archive.org/web/20070905194139/http://rocky.dlib.vt.edu/~cs4624/spring_2001/history_of_prog_lang/schwartz.html to http://rocky.dlib.vt.edu/~cs4624/spring_2001/history_of_prog_lang/schwartz.html
 * Added archive https://web.archive.org/web/20061214090232/http://dodssp.daps.dla.mil/ to http://dodssp.daps.dla.mil/
 * Added archive https://web.archive.org/web/20141031215637/http://www.ddci.com/products_DJCS.php to http://www.ddci.com/products_DJCS.php

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 09:04, 3 September 2017 (UTC)

Whither COMPOOL?
I've always assumed that the most important feature that JOVIAL introduced was COMPOOL, but there is nothing on it in the article. Could someone familiar with JOVIAL add a section? Shmuel (Seymour J.) Metz Username:Chatul (talk) 02:43, 29 May 2020 (UTC)
 * Isn’t this like FORTRAN “COMMON”? Peter Flass (talk) 13:27, 29 May 2020 (UTC)


 * No. COMMON is one big blob of storage and there is no mechanism to ensure that every routine defines variables in it the same way. COMPOOL is more like a library of header files.


 * JOVIAL also introduced the concepts of status variables (now called enumerations) and items (now called structures). Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:24, 29 May 2020 (UTC)
 * Just FYI, it's Jules I. Schwartz (capital i) not L.  M r A urelius R   Talk! 20:03, 27 May 2022 (UTC)