Shared Variables: Difference between revisions

Content deleted Content added
WP:LEADSENTENCE clarify for topic novices. Full terms define before WP:ABBReviations. WP:LINKs: updates, cut needless WP:PIPEs. Small WP:EoS WP:COPYEDITs.
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(12 intermediate revisions by 11 users not shown)
Line 1:
'''Shared Variables''' are a feature of the programming language [[APL (programming language)|APL]] which allows APL programs running on one [[Processor (computing)|processor]] to share information with another processor.<ref name="ency">{{cite book
{{multiple issues|
|title=Encyclopedia of Microcomputers |volume=1
{{Unreferenced|date=November 2006}}
|year=1987
{{Notability|date=August 2009}}
|editor1= Allen Kent |editor2=James G. Williams
}}
|isbn=0824727002
|chapter-url=https://books.google.com/books?id=F-Y0wdIIucgC&pg=PA206
|pages=206–207
|chapter=APL for Microcomputers}}</ref> Although originally developed for [[mainframe computer]]s, Shared Variables were also used in [[personal computer]] implementations of APL.<ref name="ency"/> Shared Variables could be used to control [[peripheral device]]s, or to communicate with external files, [[database]] management systems, or other users.<ref name="ency"/> Shared Variables were first introduced by International Business Machines Corporation ([[IBM]]) in their APL.SV [[software]] product in 1973,<ref name="design">{{cite journal
|journal=IBM Journal of Research and Development
|volume= 17
|issue= 4
|year=1973
|url=http://www.jsoftware.com/papers/APLDesign1.htm
|access-date=2017-12-11
|title=The Design of APL
|author1=A.D. Falkoff
|author2=K.E. Iverson
|pages= 324–334
|doi=10.1147/rd.174.0324
|url-access=subscription
}}</ref> and are still available {{as of|2017|lc=y}}, in APLs from IBM and Dyalog,<ref name="dya15">{{cite web
|url=http://help.dyalog.com/15.0/Content/InterfaceGuide/Shared%20Variables/Shared%20Variable%20Principles.htm
|access-date=2017-12-11
|title=Shared Variable Principles
|work=Dyalog APL 15.0 Help
|date=2017-07-14}}</ref> for the operating systems [[Linux]] and [[Microsoft Windows|Windows]].
 
==Origin==
'''Shared Variables''' are a feature of the programming language [[APL (programming language)|APL]] which allows APL programs running on [[mainframe computer]]s to communicate with other facilities on a computer, which can include external files, [[database]] management systems (DBMS), 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 2015, in APLs from IBM and Dyalog, for the operating systems [[Linux]] and [[Microsoft Windows|Windows]].
 
When APL\360 was first introduced in 1968, there were no built-in means by which a user could directly access data from outside of the APL system. Thus, Somestarting ofin the timesharing vendors began offering an external file system at the time1969, however IBM's approachdeveloped wasthe toshared supply a more genericvariable facility whereby an external process could be used by an APL program.<ref name="design"/> Following APL.SV, the IBM VS APL and APL2 program products also supported shared variables, as well asdid the [[IBM 5100]] line of computers.
The Shared Variable facility is roughly analogous to a Windows out-of-process server today.
 
When APL\360 was first introduced in 1968, there were no built-in means by which a user could directly access data from outside of the APL system. Some of the timesharing vendors began offering an external file system at the time, however IBM's approach was to supply a more generic facility whereby an external process could be used by an APL program. Following APL.SV, the IBM VS APL and APL2 program products also supported shared variables, as well as the [[IBM 5100]] line of computers.
 
Shared Variable Processors were available to allow APL access to the following:
Line 17 ⟶ 37:
* CMS Native Files (AP110)
* CMS and TSO Native Files (AP111)
* APL2 Data File Processor (AP121)<ref>{{cite book
|url=https://archive.org/stream/tutorialonapl200jaya#page/30/mode/2up/search/shared+variable
|accessdate=2017-12-11
|title=A tutorial on APL2
|author=Toke Jayachandran
|year=1987
}}</ref>
* [[Virtual storage access method]] (VSAM) Files (AP123)
* Full Screen Display Manager (AP124)
* IBM [[Graphical Data Display Manager]] (GDDM) (AP126)
* [[IBM DB2Db2]] (AP127)
 
==Subsequent uses==
 
In the early 1980s, [[I. P. Sharp Associates]], which offered a rich and advanced APL, introduced Shared Variables in their product. Many of the Shared Variable Processors available for IBM products were also written for Sharp APL, notably TSIO (called PJAM), AP124, AP126, and AP127. Further, as I. P. Sharp also offered [[IPSANET]] which allowed in-house clients of SHARP APL to be connected to the network, a Network Shared Variable Processor (NSVP), allowed programs from one mainframe site to access another.<ref>{{cite NSVP predates the widespread use of the Internet by five years.web
|url=http://rogerdmoore.ca/INF/87QQPotyok4.htm
|access-date=2017-12-11
|title=Network Shared Variable Processor
|author=Richard L. Potyok
|year=1988}}</ref> NSVP predates the widespread use of the Internet by five years.
 
Shared Variables were one technique used by APL implementors and vendors to increase the richness of the APL language, doing so without changing the core implementation. With the advent of more powerful personal computing, the exodus of the APL user community to smaller computers was inevitable. APL was first available on [[Intel 8008]], [[Intel 8080|8080]], and Zilog [[Zilog Z80]] based hardware, later the original IBM PC, and todayas of 2015, on the 32- and 64-bit Linux and Windows workstations. Although Dyalog APL included an implementation of shared variables for communication with the now-deprecated Microsoft Windows [[Dynamic Data Exchange]] (DDE), it is interesting to note that only IBM continued to use Shared Variables as a means to supply new features to their versions of the APL2 language for non-mainframe computers.{{citation needed|date=December 2017}}
 
Nearly all other APL vendors chose to implement new functionalityfunctions, such as access to [[Linux]] and Windows native features, [[graphical user interface]]s, presentation graphics, database management system interfaces, and so on, more directly in their respective versions of the APL language.{{citation needed|date=December 2017}} In modern non-IBM APL implementations, the Shared Variable interface has been largely supplanted by [[Component Object Model]] (COM), [[ActiveX]], and [[.NET Framework]].
In the early 1980s, [[I. P. Sharp Associates]], which offered a rich and advanced APL, introduced Shared Variables in their product. Many of the Shared Variable Processors available for IBM products were also written for Sharp APL, notably TSIO (called PJAM), AP124, AP126, and AP127. Further, as I. P. Sharp also offered [[IPSANET]] which allowed in-house clients of SHARP APL to be connected to the network, a Network Shared Variable Processor (NSVP), allowed programs from one mainframe site to access another. NSVP predates the widespread use of the Internet by five years.
 
==References==
Shared Variables were one technique used by APL implementors and vendors to increase the richness of the APL language, doing so without changing the core implementation. With the advent of more powerful personal computing, the exodus of the APL user community to smaller computers was inevitable. APL was first available on [[Intel 8008]], [[Intel 8080|8080]], and Zilog [[Z80]] based hardware, later the original IBM PC, and today on the 32- and 64-bit Linux and Windows workstations. Although Dyalog APL included an implementation of shared variables for communication with the now-deprecated Microsoft Windows [[Dynamic Data Exchange]] (DDE), it is interesting to note that only IBM continued to use Shared Variables as a means to supply new features to their versions of the APL2 language for non-mainframe computers.
{{Reflist}}
 
{{APL programming language}}
Nearly all other APL vendors chose to implement new functionality, such as access to [[Linux]] and Windows native features, [[graphical user interface]], presentation graphics, database management system interfaces, and so on, more directly in their respective versions of the APL language. In modern non-IBM APL implementations, the Shared Variable interface has been largely supplanted by [[Component Object Model]] (COM), [[ActiveX]], and [[.NET Framework]].
 
{{DEFAULTSORT:Apl Shared Variables}}
[[Category:APL programming language family]]
[[Category:IBM software]]