wws@raphael.cray.com (Walter Spector) (02/07/91)
In article <PCG.91Feb2211921@odin.cs.aber.ac.uk>, pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: > A very important language for the 635 was Jovial. I think that Jovial is > one of the more widely used languages, in terms of lines of code lying > around. Wasn't the USA military WWCCS implemented in a few million lines > of (among others) Jovial on GE 600 (in their various later incarnations > as Honeywell 6000, etc.) machines? I have a few questions on Jovial: - When was JOVIAL written? - What were the salient features of Jovial? - What did it do/not do well? - What machines was it developed on? and did it run on? - Why did(/do) the Feds love it so much? - What other good stories does anyone have? In short, what was Jules Schwartz thinking when he wrote his Own Version of IAL? > Notable point about Jovial: it is the only language I have seen that > makes explicit the important difference between serial and parallel > representations of arrays of records. SYMPL (SYsteMs Programming Language) for the 60-bit CDC systems had this feature. Walt Spector (wws@renaissance.cray.com) Sunnyvale, California _._ _._ _.... _. ._.
dt@yenta.alb.nm.us (David B. Thomas) (02/07/91)
wws@raphael.cray.com (Walter Spector) writes: >I have a few questions on Jovial: > - When was JOVIAL written? > - What were the salient features of Jovial? > - What did it do/not do well? > - What machines was it developed on? and did it run on? > - Why did(/do) the Feds love it so much? > - What other good stories does anyone have? Up until very recently, I was working for a big company -- make that big, slow, stodgy, ungainly bureaucracy -- steeped in computer tradition. All of their business data, to this day, resides on a univac 1100 (vintage 1957.. not a good year for computers) which was set up poorly then, and still does not begin to do what it is capable of. Yes, that's good for a few shudders. They still use paper tape, EBCDIC, ... escuse me... <puuuuuuuuaafffhh> okay, I'm back. Now where was I? Oh! Well, anyway, JOVIAL was one of the very newest and freshest things I got my hands on while I was there. We had to distinct compiler/linker/debugger toolsets (both full of bugs) running on VAXen under VMS. I'll probably get flamed for saying this, but I really liked J's handling of types, both builtin and user-defined. It did pointers and bit fields much more sensibly, but not as flexibly as C. You rode pretty close to the machine, and the structure was formal without being ridiculous. Linking with assembly code was a cinch. Lucky thing, too, since one of our compilers was messed up, in such a way that a "return from interrupt" was impossible to code in jovial. It HAD to be done in assembler. Oh well... most languages don't do that anyway. A nifty conecpt in J is that of a COMPOOL, which is sort of a cross between and .o and a .h file all rolled into one. You declare shared data in it, then compile the compool, and include it at the tops of your other sources. In C, global data must be externally referenced in the .h file, so all the sources know its type, but it must be declared in just one place, another .c file. So if it changes you have to change it in two places. The COMPOOL serves both purposes and allows you to keep exactly one description of each object that both specifies its type and defines/declares/allocates it. An interesting piece of J folklore: NO console i/o. None! Zippo! That really messed me up, since the most natural thing to do in a new language is to write a "hello, world" program. Aaack! I suppose I could have stuffed the bits in i/o registers and pretended that the registers were driving the display unit in an F-16 fighter (I really did work with some J code that might just be helping to delete a few iraqis along about now). If you really HAD to have console i/o there was a way you could link to a fortran object file. Imagine doing all that just to say "hello, world"! One more thing of note ... in C, you always end statements with a semicolon. In pascal, it's a bit trickier. Sometimes you'll mess yourself up with extra ones. In J you REALLY had to watch it. Even in such things as block definitions or the very last statement of a function, an extra semicolon could stop your code from compiling. >In short, what was Jules Schwartz thinking when he wrote >his Own Version of IAL? hahahhaa. Ever use that handy unix tool, Juan's Obsequious Implementation of 'N'? little david -- Computer interfaces and user interfaces are as different as night and 1.
joe@oilean.uucp (Joe McGuckin) (02/07/91)
I used to work for Proprietary Software Systems - a small (< 35) company that won the contract to maintain and upgrade the base 1750A JOVIAL compiler for the USAF. Unless they received exemptions, contractors developing embedded applications for ordinance or on-board flight systems were required to use the 1750A/JOVIAL combination. -- Joe McGuckin oilean!joe@sgi.com Island Software joe@parcplace.com (415) 969-5453
jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) (02/07/91)
From article <193900.598@timbuk.cray.com>, by wws@raphael.cray.com (Walter Spector): > > - When was JOVIAL written? The name dates the language. Algol 58 was also known as the IAL, or International Algorithmic Language. By the time of the Algol 60 report, the name IAL was dead. > > - What were the salient features of Jovial? The COMPOOL (common variable pool, if I remember correctly); I think this was analogous to FORTRAN unnamed common in many ways. > > - What did it do/not do well? For the time it was written, it was a great improvement on all of the alternatives. By 1975, it was probably still better than many alternatives for embedded systems. > > - What machines was it developed on? and did it run on? It ran on essentially every machine the Air Force ever used. When I was at the Rockwell Collins Government Avionics Division in the summer of 1986, there were lots of Jovial programmers. As I understand it, the Collins CAPS minicomputer (a nice stack based architecture) tended to be programmed in JOVIAL for military applications and PL/I for civilian applications. The first generation GPS receivers each contain a CAPS processor programmed in JOVIAL. (I worked with the people who were developing the Ada compiler for the AAMP -- the monolithic successor to CAPS.) > > - Why did(/do) the Feds love it so much? Because having a language standard is so much better than having no standard, even if the language could be improved on. JOVIAL was never widely used or loved outside the Air Force and their contractors, but within the Air Force, it was the standard language until Ada came along. Doug Jones jones@cs.uiowa.edu
timr@gssc.UUCP (Tim Roberts) (02/08/91)
In article <193900.598@timbuk.cray.com> wws@raphael.cray.com (Walter Spector) writes: >In article <PCG.91Feb2211921@odin.cs.aber.ac.uk>, pcg@cs.aber.ac.uk >(Piercarlo Grandi) writes: > >> A very important language for the 635 was Jovial. I think that Jovial is >> one of the more widely used languages, in terms of lines of code lying >> around. I have to agree. There is a GREAT deal if Jovial code still running today on some fascinating and arcane architectures. > - What did it do/not do well? It shares many of its strong (and weak!) points with C. It tends to rather easily allow direct bit-level access to hardware. It was typed, but (like C) rather weakly. Also, Jovial code tends to make strong use of pointers and linked lists, simply because the language supports them so well. > - Why did(/do) the Feds love it so much? The Feds loved it by definition. It was, for a long time, THE standard programming language of the US Air Force. >> Notable point about Jovial: it is the only language I have seen that >> makes explicit the important difference between serial and parallel >> representations of arrays of records. > >SYMPL (SYsteMs Programming Language) for the 60-bit CDC systems >had this feature. Control Data's SYMPL is a very close derivation of Jovial. ITEMs, ARRAYs and BASED ARRAYs, the odd variable declaration syntax, all of this came from Jovial. The early SYMPL compilers shared a great deal of common code with CDC's Jovial compiler. If you know SYMPL, you can read Jovial almost immediately. -- timr@gssc.gss.com Tim N Roberts, CCP Graphic Software Systems Beaverton, OR This is a very long palindrome. .emordnilap gnol yrev a si sihT
lsmith@cs.umn.edu (Lance "Billy Fish" Smith) (02/08/91)
In <193900.598@timbuk.cray.com> wws@raphael.cray.com (Walter Spector) writes: >In short, what was Jules Schwartz thinking when he wrote >his Own Version of IAL? Hmmmm, I read an unpublished interview with Jules Schwartz where he talked about JOVIAL. Let me see what I can remember. (<-- In other words, don't trust anything I say.) As I recall: JOVIAL was developed at SDC which was a spin-off of the RAND Corporation. They were responsible for most of the software of the early military systems like SAGE and other early warning systems. I think JOVIAL was developed on the Q-32 which was a computer SDC wound up with after the Super-SAGE project was terminated. Didn't Schwartz have help on JOVIAL? I seem to remember the name was a bit of a tweak. For more concrete information try the either Jean Sammet's or Richard Wexelblat (ed) history of programming languages. You might also try The System Builders by Claude Baum. Or maybe the ACM's upcoming History of Programming Languages Conference will deal with it... -- Lance "Analog" Smith Not all those that wander are lost. Excuse me, but I'm only in this for the entropy. Send monetary units to: PO Box 13345, Dinkytown Station, Minneapolis, MN 55414
frisbie@flying-disk.com (Alan Frisbie) (02/08/91)
In article <1991Feb8.212943.2233@en.ecn.purdue.edu>, wailes@en.ecn.purdue.edu (Tom S Wailes) writes: > Some years ago I had the honor of programming one of the worlds largest > collections of vacuum tubes ever put into large scale use. It was called > the SAGE computer system and boasted of having 54,000 vacuum tubes (all > trying to ruin your day). IBM made these systems ~ 1956-58 for the > Air Force for the Air Defense of the United States and Canada. It was > labeled the "AFSN/Q-7" or the "Q-7" for short. I believe the correct designation was AN/FSQ-7. If I remember right, all military equipment of that vintage had the designation AN/xxx-n. "A/N" stood for something like Army/Navy, but I don't really know. Each of the three letters "xxx" had a meaning. "FSQ" meant something like "Equipment associated with a Radar set, meant to be used in a fixed location". If anyone is *really* interested, I could look up the list of what each letter actually meant. > It was put out of service at the end of 1983. What is not well known is that the three companies in the US which made vacuum tubes for it (RCA, GE & Sylvania) stopped producing them in 1975. The Air Force figured that since the Q-7 was scheduled to be replaced in 1980, they would buy a five-year supply (a *lot* of tubes). What happened between 1980 and 1983? They had to buy tubes from the only qualified supplier they could find -- in Czechoslovakia! In 1982, I was part of a tour sponsered by The Computer Museum to visit the Q-7 at North Bay, Canada. 700 feet below solid granite, is a three-story building, with a blast door that looks just like the one in "War Games". Part (a very small part) of this same computer is now on display at The Computer Museum, 300 Congress Street, Boston, Mass. It just isn't the same, however, as being led *through* the computer while it was in operation. "On your left are bits three through six of the accumulator." :-) --- Alan E. Frisbie Frisbie@Flying-Disk.Com (Preferred) --- Flying Disk Systems, Inc. or ...elroy!flying!frisbie --- 4759 Round Top Drive or Flying!Frisbie@Elroy.jpl.nasa.gov --- Los Angeles, CA 90065 or Frisbie%Flying@oxy.edu --- (213) 256-2575 or ...oxy!flying!frisbie
wailes@en.ecn.purdue.edu (Tom S Wailes) (02/09/91)
In article <193900.598@timbuk.cray.com>, wws@raphael.cray.com (Walter Spector) writes: > In article <PCG.91Feb2211921@odin.cs.aber.ac.uk>, pcg@cs.aber.ac.uk > (Piercarlo Grandi) writes: > > - What machines was it developed on? and did it run on? > > - Why did(/do) the Feds love it so much? > > - What other good stories does anyone have? > > Walt Spector > (wws@renaissance.cray.com) Some years ago I had the honor of programming one of the worlds largest collections of vacuum tubes ever put into large scale use. It was called the SAGE computer system and boasted of having 54,000 vacuum tubes (all trying to ruin your day). IBM made these systems ~ 1956-58 for the Air Force for the Air Defense of the United States and Canada. It was labeled the "AFSN/Q-7" or the "Q-7" for short. It was put out of service at the end of 1983. At that time it was replaced by modern main frames. At one time there were ~30 of these systems up and running in the US and Canada. Most of the main programs were written in Assembly Language, and of course there was no operating system. Millions of lines of Assembly Code were maintained by a group of programmers devoted to keeping the machine up to date (imagine how it was for us to interface the AWACS). Anyway, we had a Jovial compiler (any compiler is better than none) and as I recall we used it for our off-line processing. Things like our exercise tape creation (for testing our radar scope operators and intercept directors) was done with programs written in Jovial. I even looked at some of them. But as things would happen, a very common practice was to make updates to the assembly code generated by the Jovial compiler. You have to keep in mind that everyone knew our Assembly code. Only a very few knew Jovial. I think that at one time alot of the Code written for the NORAD command center (in C-Springs) was written in Jovial. But perhaps someone who actually worked there could enlighten us on that. Tom
tomr@dbase.A-T.COM (Tom Rombouts) (02/13/91)
In article <1991Feb7.203948.1861@cs.umn.edu> lsmith@cs.umn.edu (Lance "Billy Fish" Smith) writes: > >For more concrete information try the either Jean Sammet's or Richard Wexelblat >(ed) history of programming languages. You might also try The System Builders >by Claude Baum. Or maybe the ACM's upcoming History of Programming Languages >Conference will deal with it... The above mentioned Wexelblat book is a polished version of the 1978 ACM History of Programming Languages Conference, held in Los Angeles. The proceedings can still be ordered from the ACM ($17 members, c. $24 for non-members.) order department. This is perhaps the most entertaining collection of language histories ever put together. For the record, the following languages are covered with about 10 or 15 pages each: ALGOL, APL, APT, BASIC, COBOL, FORTRAN, GPSS, JOSS, JOVIAL, LISP, PL/I, SIMULA and SNOBOL. Jean Sammet, also mentioned above, was the chariperson of the committee that put on this conference. Also, I have heard that audio tapes of these lectures are also available from the ACM, but have no ordering info. P.S. - Watch for "The Language List" - coming to this news group real soon now! Tom Rombouts Torrance 'Tater tomr@ashtate.A-T.com V:(213)538-7108