# MARK IV (software)

Mark IV is a fourth-generation programming language that was created by Informatics, Inc. in the 1960s. Known at the time as a file management system, in modern terminology it would be known as a report generator. It automated the reading of input files and conversion of the data inside to produce one or more reports and updated output files.
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 hours when days or weeks 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's Missiles and Space Systems division hired AIS to help them generate reports from data on their IBM 7090 system, and agreed to allow Postley to solve the problem with a "file management system".
At the time, Douglas 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. As part of a move to the new machine, they needed to generate output from all of these files.

### 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 the 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.
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 which would then be compiled into a routine 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.
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. 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, computers 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 there was simply no way they could afford that. 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, and AIS contacted IBM headquarters. They 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.

### 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.