Associative Programming Language

Last updated

The Associative Programming Language (APL) is a database language developed by General Motors Research Laboratories in 1966. [1]

Contents

APL was developed to provide high-level language data access and manipulation functions to support GM's CADANCE interactive computer graphics system. It was designed to integrate with PL/I. [2] [3]

Description

APL consists of six statements, CREATE, INSERT, FIND, FOR EACH, REMOVE, and DELETE, [1] :p.85 and miscellaneous functions such as counting the number of members in a set, determining the length or type of an entity, or locating an entity by name. [1] :p.95. The underlying database is assumed to follow the network model. GM's first database manager was implemented via linked list, but in 1977 the "Virtual Associative Access Manager" {VAAM) was developed to use virtual storage and implementing entity relationships as arrays. [1] :p.86. APL was later ported to the MCTS operating system.

Implementation

APL statements were implemented as PL/I preprocessor macros, which translated into calls to the database manager. Later GM's Apple PL/I dialect supported APL directly in the language.

Related Research Articles

<span class="mw-page-title-main">APL (programming language)</span> Functional programming language for arrays

APL is a programming language developed in the 1960s by Kenneth E. Iverson. Its central datatype is the multidimensional array. It uses a large range of special graphic symbols to represent most functions and operators, leading to very concise code. It has been an important influence on the development of concept modeling, spreadsheets, functional programming, and computer math packages. It has also inspired several other programming languages.

<span class="mw-page-title-main">Database</span> Organized collection of data in computing

In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and analyze the data. The DBMS additionally encompasses the core facilities provided to administer the database. The sum total of the database, the DBMS and the associated applications can be referred to as a database system. Often the term "database" is also used loosely to refer to any of the DBMS, the database system or an application associated with the database.

MUMPS, or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts General Hospital for managing patient medical records and hospital laboratory information systems.

PL/I is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has been in continuous use by academic, commercial and industrial organizations since it was introduced in the 1960s.

Object–relational mapping in computer science is a programming technique for converting data between a relational database and the heap of an object-oriented programming language. This creates, in effect, a virtual object database that can be used from within the programming language.

<span class="mw-page-title-main">Kenneth E. Iverson</span> Canadian computer scientist (1920–2004)

Kenneth Eugene Iverson was a Canadian computer scientist noted for the development of the programming language APL. He was honored with the Turing Award in 1979 "for his pioneering effort in programming languages and mathematical notation resulting in what the computing field now knows as APL; for his contributions to the implementation of interactive systems, to educational uses of APL, and to programming language theory and practice".

In programming language theory and type theory, polymorphism is the use of a single symbol to represent multiple different types.

<span class="mw-page-title-main">Charles Bachman</span> American computer scientist

Charles William Bachman III was an American computer scientist, who spent his entire career as an industrial researcher, developer, and manager rather than in academia. He was particularly known for his work in the early development of database management systems. His techniques of layered architecture include his namesake Bachman diagrams.

CODASYL, the Conference/Committee on Data Systems Languages, was a consortium formed in 1959 to guide the development of a standard programming language that could be used on many computers. This effort led to the development of the programming language COBOL, the CODASYL Data Model, and other technical standards.

K is a proprietary array processing programming language developed by Arthur Whitney and commercialized by Kx Systems. The language serves as the foundation for kdb+, an in-memory, column-based database, and other related financial products. The language, originally developed in 1993, is a variant of APL and contains elements of Scheme. Advocates of the language emphasize its speed, facility in handling arrays, and expressive syntax.

<span class="mw-page-title-main">Arthur Whitney (computer scientist)</span> Canadian computer scientist

Arthur Whitney is a Canadian computer scientist most notable for developing three programming languages inspired by APL: A+, k, and q, and for co-founding the U.S. companies Kx Systems and Shakti Software.

I. P. Sharp Associates (IPSA) was a major Canadian computer time-sharing, consulting and services firm of the 1970s and 1980s. IPSA is well known for its work on the programming language APL, an early packet switching computer network named IPSANET, and a powerful mainframe computer-based email system named 666 Box, stylized as 666 BOX. It was purchased in 1987 by Reuters Group, which used them until 2005 as a data warehousing center for business data.

PRTV was the world's first relational database management system that could handle significant data volumes.

Scientific Time Sharing Corporation (STSC) was a pioneering timesharing and consulting service company which offered APL from its datacenter in Bethesda, MD to users in the United States and Europe.

Shared Variables are a feature of the programming language APL which allows APL programs running on one processor to share information with another processor. Although originally developed for mainframe computers, Shared Variables were also used in personal computer implementations of APL. Shared Variables could be used to control peripheral devices, or to communicate with external files, database management systems, or other users. Shared Variables were first introduced by International Business Machines Corporation (IBM) in their APL.SV software product in 1973, and are still available as of 2017, in APLs from IBM and Dyalog, for the operating systems Linux and Windows.

The Multiple Console Time Sharing System (MCTS) was an operating system developed by General Motors Research Laboratories in the 1970s for the Control Data Corporation STAR-100 supercomputer. MCTS was built to support GM's computer-aided design (CAD) applications.

CP-6 is a discontinued computer operating system, developed by Honeywell, Inc. in 1976, which was a backward-compatible work-alike of the Xerox CP-V, fully rewritten for Honeywell Level/66 hardware. CP-6 was a command line oriented system. A terminal emulator allowed use of PCs as CP-6 terminals.

<span class="mw-page-title-main">Ralph Semmel</span> American engineer and computer scientist

Ralph D. Semmel is an American engineer and computer scientist. He became the eighth director of the Johns Hopkins University Applied Physics Laboratory (APL) in Laurel, Maryland on July 1, 2010.

Apple is a PL/I-like programming language created by General Motors Research Laboratories for their Control Data Corporation STAR-100 supercomputer.

References

  1. 1 2 3 4 Price, Carol (1978), "APL/VAAM" (PDF), NASA Conference Publication 2055: Engineering and Scientific Data Management, NASA, pp. 85–97
  2. Bachman, Charles. "An interview with Charles W. Bachman". ACM Digital Library. Retrieved June 29, 2024."George [Dodd] built a very attractive IDS like system, called 'Associative Programming Language' (APL)"
  3. Dodd, George G. (November 1966). "APL—A Language for Associative Data Handling in PL/I". AFIPS '66 (Fall): Proceedings of the November 7–10, 1966, fall joint computer conference: 677–684. doi:10.1145/1464291.146436 . Retrieved July 2, 2024.