Shared Variables
| Company type | Software |
|---|---|
| Industry | Computer software |
| Founded | 1973 |
| Founder | International Business Machines Corporation (IBM) |
| Products | Shared Variables for APL |
| Parent | International Business Machines Corporation |
Shared Variables represent a capability within the APL language that allows data exchange between programs running on distinct processors. Originally created for use with mainframe computer systems, Shared Variables were later incorporated into APL versions designed for personal computer platforms. Their primary function is to manage peripheral device operations and facilitate interaction with external files, database environments, or other users. This concept was first introduced by International Business Machines Corporation (IBM) in 1973 through their APL.SV software offering and continues to be supported in IBM and Dyalog APL variants for both Linux and Windows operating systems.
Origin
At the time of APL\360's release in 1968, it did not provide direct mechanisms for accessing data outside the language environment. IBM initiated the development of the shared variable mechanism beginning in 1969. Subsequent IBM products such as APL.SV, VS APL, and APL2 incorporated Shared Variable support, which was also extended to the IBM 5100 series.
APL's access via Shared Variable Processors included:
- Native operating system files (TSIO)
- Command processors for Time Sharing Option (TSO) and Conversational Monitor System (CMS) (AP100)
- VSAPL Stack Processor (AP101)
- VSAPL Session Manager (AP102)
- CMS Native Files (AP110)
- CMS and TSO Native Files (AP111)
- Data File Processor for APL2 (AP121)
- Files using Virtual storage access method (VSAM) (AP123)
- Full Screen Display Manager (AP124)
- IBM's Graphical Data Display Manager (GDDM) (AP126)
- Access to IBM Db2 databases (AP127)
Subsequent uses
During the early 1980s, I. P. Sharp Associates, recognized for their sophisticated APL implementations, adopted Shared Variables within their software solutions. Several IBM Shared Variable Processors, including TSIO (PJAM), AP124, AP126, and AP127, were adapted for use with Sharp APL. Additionally, I. P. Sharp offered the IPSANET network, which connected clients through a Network Shared Variable Processor (NSVP), enabling communication across multiple mainframes well before the widespread emergence of the Internet.
Shared Variables augmented APL's functionality without requiring modifications to its foundational structure. As personal computing advanced, the APL community transitioned toward smaller hardware platforms—initially based on Intel 8008, 8080, and Zilog Z80 processors, followed by IBM PCs, and by 2015 running on 32- and 64-bit Linux and Windows workstations. While Dyalog APL incorporated Shared Variables to support Microsoft Windows' now-defunct Dynamic Data Exchange (DDE), IBM remained the primary user of Shared Variables to extend APL2 capabilities beyond mainframe environments.
In contrast, most other APL vendors integrated newer features—such as native support for Linux/Windows functions, graphical user interfaces, presentation graphics tools, and database connectivity—directly into their language implementations. Consequently, contemporary non-IBM APL versions have largely replaced Shared Variables with modern technologies like Component Object Model (COM), ActiveX, and the .NET Framework.