FOCUS

Last updated

FOCUS is a fourth-generation programming language (4GL) computer programming language and development environment that is used to build database queries. Produced by Information Builders Inc., it was originally developed for data handling and analysis on the IBM mainframe. Subsequently versions for minicomputers and such as the VAX and other platforms [1] were implemented. [2] [3] FOCUS was later extended to personal computers and (in 1997) to the World Wide Web: the WebFOCUS product.

Contents

History

Information Builders's FOCUS product began as an alternate product to Mathematica's RAMIS, the first Fourth-generation programming language (4GL).

National CSS (NCSS), a Time-sharing vendor, licensed rights to make RAMIS available on its VP/CSS system. [4]

At some point Mathematica changed its licensing price. [5]

The interested parties were: [4]

Relation to other 4GLs

RAMIS was the direct ancestor of FOCUS.

Gerald D. Cohen and Peter Mittelman were the principal developers of RAMIS while working at Mathematica Products Group in 1970. RAMIS was licensed by Mathematica to a number of in-house clients (including Nabisco and AT&T Corporation), and was also offered by the National CSS timesharing company. In [6] October 1975 [7] Cohen left Mathematica and formed Information Builders, after which he recreated the product he had built at Mathematica in the form of FOCUS, which was very similar to RAMIS: "the same bugs and the same misspelled error messages." [4] [8]

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, with FOCUS also being offered on a time-sharing basis via Tymeshare. [4]

Mathematica's time ran out in the mid-80s, and NCSS also failed, a victim of the personal computing revolution which obviated commercial timesharing.

RAMIS was sold to a series of companies, ultimately landing with Computer Associates. NOMAD suffered a similar fate. FOCUS, under Cohen's direction, continued to flourish by expanding their product line.

Loosely competitive with SAS, [9] 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.

Integration

Software packages with which FOCUS has linked and integrated include:

Business Intelligence competitors

Business intelligence software competitors include: [12]

Description

Although FOCUS resembles other data access and analysis tools, such as SQL and SAS, it also includes report and chart display and presentation features. It 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, somewhat like RPG (Report Program Generator). 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.

Master File Description (MFD)

A feature that was unique at the time is that FOCUS features the ability for the user to construct a data description file (called a "master file description") [13] [14] 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) at times required with other earlier programming languages. 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.

Samples

The second command would produce a report with headings CUSTNAMECUSTIDPROJNAMEPROJCOST

followed by one or more lines of detail, followed by
_TOTAL_ CUSTNAME xxxxx (and $z,zzz.zz for that CUSTNAME)
The bottom of the report would have the total for ALL projects.
MODIFY FILE PHONEIDX
PROMPT AREACODE PHONUM LASTNAME FIRSTNAME NOTES
MATCH AREACODE PHONUM
ON MATCH REJECT
ON NOMATCH INCLUDE
DATA

There are keywords to facilitate modification (or deletion) of existing data, and the prompting and error messages from the interactive session can be customized.

WebFOCUS

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

WebFOCUS's language has both a "procedural" and "non-procedural" command structure. The former is for more immediate execution, whereas the latter "are placed into a stack of memory for later execution." [17]

Related Research Articles

A fourth-generation programming language (4GL) is any computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL). Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful, and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just bits and bytes. Languages claimed to be 4GL may include support for database management, report generation, mathematical optimization, GUI development, or web development. Some researchers state that 4GLs are a subset of domain-specific languages.

ABAP is a high-level programming language created by the German software company SAP SE. It is currently positioned, alongside Java, as the language for programming the SAP NetWeaver Application Server, which is part of the SAP NetWeaver platform for building business applications.

In software engineering, the terms frontend and backend refer to the separation of concerns between the presentation layer (frontend), and the data access layer (backend) of a piece of software, or the physical infrastructure or hardware. In the client–server model, the client is usually considered the frontend and the server is usually considered the backend, even when some presentation work is actually done on the server itself.

Clarion is a commercial, proprietary, fourth-generation programming language (4GL), multi-paradigm, programming language and integrated development environment (IDE) from SoftVelocity used to program database applications. It is compatible with indexed sequential access method (ISAM), Structured Query Language (SQL), and ActiveX Data Objects (ADO) data access methods, reads and writes several flat file desktop database formats including ASCII, comma-separated values (CSV), DOS (binary), FoxPro, Clipper, dBase, and some relational databases via ODBC, Microsoft SQL Server, Sybase SQL Anywhere, and Oracle Database through the use of accelerated native database drivers, and XML, Clarion can be used to output to HTML, XML, plain text, and Portable Document Format (PDF), among others.

PROIV is now marketed as a low code development platform by its current steward, Zellis Holdings, a British HR services company.

<span class="mw-page-title-main">Computer-aided software engineering</span>

Computer-aided software engineering (CASE) is the domain of software tools used to design and implement applications. CASE tools are similar to and were partly inspired by Computer-Aided Design (CAD) tools used for designing hardware products. CASE tools were used for developing high-quality, defect-free, and maintainable software. CASE software is often associated with methods for the development of information systems together with automated tools that can be used in the software development process.

<span class="mw-page-title-main">SAS (software)</span> Statistical software

SAS is a statistical software suite developed by SAS Institute for data management, advanced analytics, multivariate analysis, business intelligence, criminal investigation, and predictive analytics.

EGL, originally developed by IBM and now available as the EDT open source project under the Eclipse Public License (EPL), is a programming technology designed to meet the challenges of modern, multi-platform application development by providing a common language and programming model across languages, frameworks, and runtime platforms.

PowerBuilder is an integrated development environment owned by SAP since the acquisition of Sybase in 2010. On July 5, 2016, SAP and Appeon entered into an agreement whereby Appeon, an independent company, would be responsible for developing, selling, and supporting PowerBuilder.

JMP is a suite of computer programs for statistical analysis developed by JMP, a subsidiary of SAS Institute. It was launched in 1989 to take advantage of the graphical user interface introduced by the Macintosh operating systems. It has since been significantly rewritten and made available also for the Windows operating system. JMP is used in applications such as Six Sigma, quality control, and engineering, design of experiments, as well as for research in science, engineering, and social sciences.

NOMAD is a relational database and fourth-generation language (4GL), originally developed in the 1970s by time-sharing vendor National CSS. While it is still in use today, its widest use was in the 1970s and 1980s. NOMAD supports both the relational and hierarchical database models.

RAMIS is a fourth-generation programming language (4GL) capable of creating and maintaining databases consisting of named files containing both numeric and alphabetic fields and subsequently producing detailed simple or complex reports using a very simple English like language. As such it is easily mastered by non-programmers. A typical program - either to create or maintain a database or to create quite complex reports - would normally consist of a handful of lines of code which could be written or understood by non-professional programmers. "End users" as they became known. Such end users could be trained to use RAMIS in a matter of days and so large companies would often have several hundred such users scattered throughout the company.

LINC is a fourth-generation programming language, used mostly on Unisys computer systems.

National CSS, Inc. (NCSS) was a time-sharing firm in the 1960–80s, until its acquisition by Dun & Bradstreet in 1979. NCSS was originally headquartered in Norwalk, Connecticut, but relocated to Wilton in 1978. Sales offices, data centers, and development facilities were located at various sites throughout the U.S. Some additional sales offices were active in the UK and elsewhere.

VP/CSS was a time-sharing operating system developed by National CSS. It began life in 1968 as a copy of IBM's CP/CMS, which at the time was distributed to IBM customers at no charge, in source code form, without support, as part of the IBM Type-III Library. Through extensive in-house development, in what today would be termed a software fork, National CSS took VP/CSS in a different direction from CP/CMS. Although the two systems would eventually share many capabilities, their technical implementations diverged in substantive ways.

IBM Informix C-ISAM is an X/Open standards-compliant Application programming interface (API) to an Indexed Sequential Access Method or ISAM.

The following tables provide a comparison of numerical-analysis software.

This article covers the History of CP/CMS — the historical context in which the IBM time-sharing virtual machine operating system was built.

Multi-Edit is a commercial text editor for Microsoft Windows created in the 1980s by Todd Johnson. Multi Edit Software obtained ownership rights for the product in October 2002. Multi-Edit contains tools for programmers, including macros, configurable syntax highlighting, code folding, file type conversions, project management, regular expressions, three block highlight modes including column, stream and line modes, remote editing of files via FTP and interfaces for APIs or command lines of choice. The editor uses a tabbed document interface and sessions can be saved.

References

  1. including UNIX
  2. "FOCUS 4GL from Information Builders". Computerworld. March 5, 1990.
  3. "Information Builders Focus/VAX". Computerworld. March 31, 1986. p. 52.
  4. 1 2 3 4 "RAMIS and NOMAD--National CSS" (PDF). May 20, 2005.
  5. Nick Rawlings (March 17, 2014). "The History of NOMAD: A Fourth Generation Language". IEEE Annals of the History of Computing. 36: 30–38. doi:10.1109/MAHC.2014.10.
  6. 1970 or
  7. "A Brief History of Fourth Generation Languages".
  8. also Per Nick Rawlings' "A Brief History of Fourth Generation Languages"
  9. A consultant wrote: "When I investigated translating SAS to the WebFOCUS BI product (based on a 4GL programming language), I personally considered some of the following SAS features as stumbling blocks" and he listed 11 items. "Business Intelligence Software". 2012-04-30.
  10. "WebFocus-Excel Link Strengthened". Computerworld . May 28, 2007.
  11. "Information Builders Integrates AJAX". InformationWeek . March 9, 2006.
  12. Steve Lohr (May 20, 2007). "Data-mining moves into the mainstream, in search of profit". The New York Times .
  13. "MASTER FILE DESCRIPTION (MFD)".
  14. "Synopsis FOCUS: File Definition describes the components of a Master File Description. Audience This course is for the data processing and business professional who uses FOCUS." "FOCUS: File Definition".
  15. "Introduced in 1997, ..." "WebFOCUS".
  16. "WebFocus S/390". Computerworld . June 9, 1997. .. includes all the functionality of ... Focus
  17. "BI Software - WebFOCUS". 2011-11-13.