From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about the software product. For more meanings of the word Focus, see Focus (disambiguation).

FOCUS is a computer programming language and development environment. It is a language used to build database queries, and is regarded as a fourth-generation programming language (4GL). Produced by Information Builders Inc., it was originally developed for data handling and analysis on the IBM mainframe. As newer systems were developed and smaller computers became more powerful, the available platforms for FOCUS were extended to personal computers and in 1997, to the World Wide Web in the WebFOCUS product.

Relation to other 4GLs[edit]

RAMIS, the first 4GL, was the direct ancestor of FOCUS, having been principally developed by Gerald D. Cohen and Peter Mittelman while working at Mathematica Products Group in 1970. The product was sold by Mathematica to a number of in-house clients (including Nabisco and AT&T), and was also offered by the National CSS timesharing company for use on their VP/CSS operating system (a derivation of IBM's CP/CMS which is now called VM/CMS). In 1970, Cohen decided to leave Mathematica and form Information Builders, after which he recreated the product he had built at Mathematica in the form of FOCUS which was released in 1975. The syntax of FOCUS in its simplest elements is almost a direct clone of the syntax of RAMIS bearing a resemblance similar to the differences between various early dialects of SQL). At the same time, NCSS decided to work on its own product, later called NOMAD. All three products flourished during the 1970s and early 1980s, but Mathematica's time ran out in the mid-80s, and NCSS also failed, a victim of the personal computing revolution which obviated commercial timesharing (although it has since been revived in the form of ASPs and shared web servers). RAMIS was sold through to several companies, ultimately landing with Computer Associates. NOMAD suffered a similar fate. FOCUS, under Cohen's direction, continued to flourish by expanding their product.

Loosely competitive with SAS, FOCUS never quite reached the same degree of mainstream adoption, perhaps because it had only basic analytical and statistical functions and lacked the wide array of specialized analytic tools which made SAS the standard in fields such as pharmaceutical clinical trials. Instead, FOCUS concentrated on extreme flexibility in data import and export as well as ad hoc end-user reporting.


Released in 1975, FOCUS resembles other data access and analysis languages such as SQL and SAS, but also includes report and chart display and presentation features. FOCUS assumes a default file structure, and automates the process of identifying files to the operating system, opening the input file, reading the next record, opening the output file, writing the next record, and closing the files. This basic operation allows the user/programmer to concentrate on the details of working with the data within each record, in effect working almost entirely within an implicit program loop that runs for each record. Other procedures operate on the dataset as a whole, for instance printing or statistical analysis, and merely require the user/programmer to identify the dataset.

Compared to general-purpose programming languages, this structure allows the user/programmer to be less familiar with the technical details of the data and how it is stored, and relatively more familiar with the information contained in the data. This blurs the line between user and programmer, appealing to individuals whose work roles are in business or research rather than information technology. This in turn has the double edged result of allowing rapid answers to business or research questions, even ones requiring several iterations to get from the initial results to a final answer; but also can contribute to the construction of a large body of poorly written and/or difficult to maintain source code.

FOCUS features the ability for the user to construct a data description file (called a "master file description") referring to the actual data file, or even several different data description files addressing the same data file in different ways, rather than the usual practice of having the file structure hard-coded into the program. In this way, files of any structure from any source can be accessed or produced in many different ways, eliminating much of the data manipulation (for example concatenation, or parsing) usually required with other earlier programming languages to change variable formats or data structures. For instance, the same actual data file can be accessed (read or write) as each record being an 80 byte text string, or as 40 2 character numerical fields, other as 10 8-byte floating point numbers, etc., by the user simply re-writing the appropriate master file description as needed.

In 1997, a web-based version of FOCUS was introduced called "WebFOCUS" which built on the data access and reporting foundation of FOCUS, expanding these to a visually oriented thin-client paradigm accessible from any web browser.

In 2005, Information Builders consultants, working with JPMorgan Chase, developed a 4GL translator that could automatically replace legacy NOMAD programs with the WebFOCUS product. ComputerWorld honored this BI consolidation automation with a Laureate Award in 2006.[1] Similar translation capabilities are being added to the BI translator for converting the other legacy 4GLs, such as RAMIS and FOCUS.

External links[edit]


  1. ^ Laureates 2006. (2006-06-05). Retrieved on 2013-07-17.