# Mark IV (software)

Mark IV is a fourth-generation programming language that was created by Informatics, Inc. in the 1960s. It automated the reading of input files and conversion of the data inside to produce one or more reports and updated output files. At the time, this program was called a file management system, though it was not what today is understood by that term (a file manager); rather, it was what today would be known as a report generator.
It was used for roles similar to the COBOL programming language or PL/1, but was far easier to use and the instructions normally consisted of a single piece of paper that was converted to a few punch cards. Customers lauded the product for its time savings, often able to generate one-off reports in a matter of days when weeks or months would be needed with traditional tools.
It is historically important as one of the first examples of commercial software that was sold by an independent vendor. It was also the first software product to break $10 million in cumulative sales, and the first to break $100 million.

## History
### Origins

John Postley had previously worked as the head of Rand Corporation's Data Processing department, but left in 1960 to work for Advanced Information Systems (AIS), a recently formed programming firm. At Rand he had seen that much of the programming effort being expended was producing reports, and began to wonder if there was a generalized solution to this problem.
He soon found a customer willing to pay them to find out; Douglas Aircraft. Their Missiles and Space Systems division had about 100 different file formats being generated across a suite of IBM machines including IBM 701, 704 and 709's. There was no centralized organization for these systems and each user developed their own programs and formats. In order to streamline their operations, they were replacing many of these systems with an IBM 7090. They hired AIS to move their reports to the new system, and agreed to allow Postley to solve the problem with a "file management system".

### GIRLS

The resulting system was known as GIRLS, for Generalized Information Retrieval and Listing System. It was first revealed publicly in December 1962. At the time, it was described as a system that intended to solve the problem of the growing number of programs being run, and especially the number of different files they generated, which could number in the "tens or perhaps hundreds of such files in a single company". Generating reports was normally accomplished in COBOL or one of the many similar programming languages, but as the authors noted, while this was suitable for developing reports that would be run all the time it was far too time consuming for the large number of one-time ad-hoc reports that managers demanded.
A number of report generator programs had been introduced by the early 1960s, but they generally had little or no flexibility to adapt to different file formats. While they were useful for taking the known output of one program and formatting it, they could only be used with one program's file at a time. GIRLS was an attempt to deal with this problem by adding a system to allow the programmer to describe the file format in much more detail, including details on various data types (fields) and the way they could be collected together into large entries (records). These could be described as relative offsets which gave it the ability to handle variant records. The fields themselves could be fixed or variable length, delimited or not, and many other options.
The GIRLS system broke the task into two parts. First, the input and output file formats would be described on a series of punch cards known as the dictionary which would then be compiled into a subroutine that could read that file. In essence, dictionaries were used to convert variant data into a single internal table-like format and given column names. These programs would be saved onto magnetic tape for rapid retrieval. The second part was the "request form", starting on a paper form and then translated to another series of punch cards that described which records should be read from which files, adding optional filters to remove unneeded data, and the calculations that would be carried out on that data. A report is run by loading a request form into the card reader, and the tapes containing the data files onto the drives. The report is then run, which compiles a small program that uses the dictionaries on another tape to read the data from the tapes, perform the requested operations, and generate the output.
A key concept of the GIRLS system was the assumption that data would not be stored in a random access system, but would normally be accessed in a linear fashion due to it being stored on tape. To make the system efficient, it produced output whenever the required data was ready. For instance, if the user requested a list of the orders from a particular customer, the system would read the original data files a record at a time and generate output whenever it found a matching order. Any aggregate data, like the total number of orders for that customer, was also updated at this time. This allowed the system to generate multiple types of report output in a single pass through the input data.
GIRLS was highly successful at Douglas. A library of over 100 dictionaries describing various input and output formats was developed, and it was found that even non-programmers could successfully learn how to create request forms to produce the reports they needed.

### Mark I to III

Postley convinced AIS to port the system to other platforms, as the 7090 was at the very high-end of IBMs offerings and much less common than mid-range machines like the IBM 1401. Postley arranged a deal with the City of Los Angeles to fund development of a 1401 port, which became Mark I. Looking for more customers, Postley arranged funding from the federal government to make a demonstration program that could not only produce printed reports, but also new files. This was used to produce land-use data for Tulsa, Wichita, Little Rock, Fort Worth and Denver. The resulting Mark II was used in Alexandria, VA.
While useful, Mark II was very slow, and in 1964 they began work on an updated version, Mark III, with an emphasis on speed. Shortly thereafter, the company was purchased by Hughes Dynamics, a computer consulting firm formed as part of Hughes Tool Company owned by Howard Hughes. In April 1964, Hughes decided he no longer wanted to be in the computer field. He called Postley and told him he had two weeks to fire everyone and shut down the division. Postley noted that they had contract with the federal government underway, and they would not take kindly to the multimillionaire Hughes walking out on his contract. Hughes came to agree with this, and told him to instead sell the company within two weeks.
Informatics, Inc. had formed in 1962 by three employees of Ramo-Wooldridge (later known as TRW) Walter Bauer, Richard Hill and Werner Frank. Bauer was convinced that the ongoing shortage of programmers would force companies to turn to consulting firms, and Informatics was created to fill that need. Postley knew Bauer through their membership in the Association for Computing Machinery (ACM) and Bauer opened negotiations with Hughes. Hughes was so desperate to get rid of Dynamics that he agreed to pay Informatics $38,000 to take it off his hands at the end of the two weeks.

### Mark IV

The same month, IBM announced the System/360, a watershed event in the history of computing. Postley was convinced this was going to open the market for a product that could be sold to end-users directly, what we would now call commercial software. At the time this was almost unknown, computer users almost always either wrote their own software or hired a company like Informatics to do it for them. Adding to the problem of selling software was that computer vendors of the era typically gave their software away for free as part of "the system", IBM treated their operating systems as software that was the same as applications, and gave both away for free with their computers.
With the 360, which was an immediate best-seller, Postley felt that the market would be large enough to sell directly to customers without contract work. He asked Bauer for $500,000 to develop a new version for the 360. The company's revenues at the time were about $2 million a year, and this additional expense would not fit within the budget. Bauer offered $50,000 and told Postley to find the rest on his own. Postley quickly did this, finding five customers who were interested in the concept and willing to offer $100,000 each to fund its development. The resulting program, Mark IV, was announced in November 1967. After considerable debate, they listed the product at $30,000. Over the next year, it had generated $1 million in new sales.
IBM's policy of giving away software made it hard to sell software. Even when a product offered obvious advantages, many prospective customers would not buy it, believing IBM would release something similar in the future. This was a particular sore spot for Applied Data Research's product Autoflow, a system that produced flowcharts by reading the assembler language code for a program. IBM released their own product, Flowcharter, which was nowhere near as useful, but customers believed IBM would add similar features and were willing to wait to see. This eventually led to an antitrust suit by the Federal Trade Commission that led IBM to announce they were no longer going to give away software for free starting on 1 January 1970.
This announcement opened the floodgates, and commercial software began to sell in large quantities. Mark IV, now running on the 360, System/370 and RCA Spectra 70 as well as non-IBM-compatible systems, was the first software with sales of a million dollars a year, and the first software product to have cumulative sales of $10 million, and then $100 million.
This change also started IBM's efforts to sell their own software. This included Generalized Information System (GIS), a system similar to Mark IV in concept and features. In Australia, IBM began distributing misleading comparisons of GIS vs. Mark IV. AIS contacted IBM headquarters in the US, who agreed to stop mentioning Mark IV in any of their materials.
In a 1971 ad by Informatics, there are several quotes from customers, such as:
    We conservatively estimate that the benefits derived from the Mark IV System have completely returned the cost of our investment in a period of less than 3 months.
    Mark IV runs ... handle Accounts Receivable, Inventory, Sales Analyses, etc. on about 26 different factories.
    We contracted with a programming firm to have a Fixed Assets System implemented in COBOL. After 4 months and $16,000 the system was not completed. Two of our own analysts, after attending a 2-1/2 day MARK IV class, wrote the system in 3 days.

### Sale

Mark IV went to Sterling Software in 1985 as part of that company's acquisition of Informatics General. As CA VISION:BUILDER, it became part of the product suite from Computer Associates once that company acquired Sterling Software in 2000. Following the acquisition of Computer Associates by Broadcom Inc in 2018, CA VISION:BUILDER was listed as a legacy product by the new owner.