THE DEVELOPMENT of JOVIAL Jules L Schwartz Computer
Total Page:16
File Type:pdf, Size:1020Kb
THE DEVELOPMENT OF JOVIAL Jules L Schwartz Computer Sciences Corp. 1. THE BACKGROUND One of the significant things that got the JOVIAL lan- guage and compiler work started was an article on 1.1 The Environmental and Personnel Setting Expression Analysis that appeared in the 1958 ACM Communications (Wolpe 1958). The fact that this was The time was late 1958. Computers that those who were actually quite a revelation to us at that time seems involved with the first JOVIAL project had been using interesting now. Since that day, of course, there have included the JOHNNIAC (built at Rand Corporation), the been many developments in the parsing of mathematical IBM AN/FSQ-7 (for SAGE), 701, and 704. A few had and logical expressions. However, that article was the worked with board wired calculators. Some had never first exposure many of us had to the subject. Some of programmed. For those using IBM, the 709 was the us who had just finished work on some other projects current machine. There were various other manufactur- (including SAGE) began experimentation with the proc- ers at the time, some of whom do not exist today as essing of complex expressions to produce an interme- computer manufacturers. diate language utilizing the techniques described. There was no compiler language at the time in our plans, but The vacuum tube was still in vogue, Very large memo- the idea of being able to understand and parse complex ries, either high speed direct access or peripheral expressions in itself was of sufficient interest to moti- storage, didn't exist, except for magnetic tape and vate our efforts. drums on some computers. Another article which was to have great influence on our The first large scale system which was built and main- future development was also published in the ACM Com- tained by thousands of people was in the process of being munications in 1958. This was the description of what installed after a considerable amount of effort, expense, was then called the International Algebraic Language and technological innovation. Called SAGE, it was a (IAL, later called ALGOL), which had been defined by large real-time system (very large by 1958 standards). what became (and for the most part had been) an It had, among other things, an interesting and very val- esteemed group of computer people (Perlis and uable (even by today's standards) utility system for Samuelson 1958). assisting in development. This included the Communi- cation Pool. The Comm Pool's purpose was to permit 1.2 The Economic and Situation Stimulus the sharing of System Data among many programs by providing a centralized data description. Programming JOVIAL really got its beginning because of the launching for SAGE had been done in machine language, as was by the Air Force of another large system. This one almost all programming up to that time. followed SAGE and it was called the SACCS System. SACCS was to be developed from scratch. This meant FORTRAN existed and had been in use for a few years, new computers, a new system, new programming tech- but use of higher level languages wasn't nearly as com- niques, and a new operating (executive) system. All of mon as the use of such languages today. Certainly the these had to be developed before the operational pro- majority of people involved in compiler efforts at that gram could be developed. The main computer was the time, and in particular the initial JOVIAL language IBM AN/FSQ-31. Other Communications Computers development and compiler effort, had almost no expe- (built by ITT) were also utilized. rience with such activities. I had had experience with the language and compiler called PACT (Project for 1.3 The Technical Base for JOVIAL Automatic Coding Techniques) which was developed and described in 1954-1955 (Melahn 1956). But actually this The two major influences on the language of JOVIAL experience, largely because of the nature of that lan- were, first, the International Algebraic Language, guage and the computer the first version ran on (the which served as the language architectural base, and IBM 701), was not particularly valuable for the develop- SAGE, which contributed to the knowledge of many of ment of languages in the ALGOL class. the problems and ideas needed to solve the large ¢1978 Association for Computing Machinery, Inc. 2 03 ACM SIGPLAN Notices, Vol. 13, No. 8, August 1978 programming system problem. IAL was chosen as the which at the time was serving as a subcontractor to IEC. base language for several reasons. One was that at the IEC was part of the ITT complex, formed specifically to time it appeared as ff it would become the commonly develop the SACCS system. accepted standard for languages. Secondly, it seemed like a better technical basis for a new language than During this period of the organization and beginning of FORTRAN, which was the only other possibility. SAGE the JOVIAL effort in New Jersey, the other members of influenced such matters as data handling, Communica- the team who did some of the initial language investiga- tion Pool, and the need for a variety of types of varia- tion also started a project to develop a language. Even- bles (items or elements). These things were deemed tually this language was called CLIP (Compiler Lan- essential to the programming of SACCS and served as guage for Information Processing) (Bratman 1959), the basis for the first definition of JOVIAL. (Englund and Clark 1961). These two activities, the one in New Jersey and the one in California, were rather 1.4 Organizational and People Beginnings independent efforts, the one in California being some- what research oriented, while the one in New Jersey on The first actual contribution to the language effort that JOVIAL was operationally oriented - and in fact with a eventually led to JOVIAL was the small study which took fairly difficult schedule (which wasn't met). place at SDC in California in the latter part of 1958. As stated before, it started with experimentation with the The people on the CUSS project were primarily imple- analysis of logical and mathematical expressions. And, mentors. With the exception of my own experience with although the intent was not, at the time, to start develop- the language PACT in 1954 and 1955, nobody else on the ing a language, that was not completely out of the realm project had any experience with compilers or languages. of possibility. (But it should be remembered that up Some had had experience in the development of the SAGE until then language development was not a wide-spread system. For some members of the project, this was phenomenon. Within a year or two, it would bee~ome as their first programming experience. The list of people wide-spread as certain viruses. ) Key members of this who served at least sometime on the CUSS project (and study were Erwin Book, Harvey Bratman, and myself. their current, or last known affiliation, where known) During the latter months of 1958 I was transferred to follows: New Jersey to work on the SACCS project. This trans- fer came shortly after the publication of the description Jules Schwartz (Manager) of IAL in the ACM Communications that was referenced Moe Spierer (Manager 709 JOVIAL)(CSC) above. Based on the experience with SAGE and the Hank Howell (Manager Q-31 JOVIAL)(SDC) reading of the IAL description, I recommended to the Paul MeIsaac (Data Vantage) SACCS development managers, prior to my transfer, John Rafferty (IBM) the use of a higher level language to program the sys- Patricia Weaver (Unaffiliated) tem. To my and a number of other people's surprise, Emmanuel Hayes (Century Data Systems) this recommendation was accepted. Lynn Shirley (Consultant) Jack Friedland (Consultant) Actually the final recommendation was made in New Donna Neeb (CSC) Jersey where the SACCS program was to be developed. Richard Brewer (Litton Systems) This written recommendation was done with a paper Start Cohn (Unknown) typed on about seven or eight onion-skin pages around Mike Denlinger (Unknown) December 1958. The title of it was "OVIAL - Our John Bockhorst (Northrop) Version of the International Algebraic Language". It Phil Bartram (Unknown) was a brief description of some of the language concepts Frank Palmer (SDC) which could be implemented in order to develop the Ed Foote (IBM) SACCS program. This paper was accepted as the begin- John Dolan (Unknown) ning of the project, and the first work was begun. (I Patrieia Metz (Unknown) realized some years later that I had not kept that paper. There were not many copies, and it was never a for- Some of the members of the CLIP Project, in addition mally issued document. At the time it seemed like a to Book and Bratman mentioned previously, were: relatively small item and hot likely to be continued much in the future, at least outside of the particular SACCS Howard Manelowitz development environment. So the paper didn't seem Don Englnnd very important to me. Now it would be of great interest Harold Isbitz to me for several reasons. One is its historical inter- Ellen Clark est to me and perhaps some others. Secondly, I am Ellis Myer quite curious what my first ideas were at that time for the language I called OVIAL. ) 1.5 History of the Name The project that was formed to develop this language and Since it has been stated that this paper on JOVIAL will compilers for it was called the CUSS (Compiler and serve as some sort of permanent record of the language, Utility System for SACCS) project. It was part of the this seems like the right place to describe the origin of SACCS Division of System Development Corporation the name.