Systems Programming Language
Systems Programming Language, often shortened to SPL but sometimes known as SPL/3000, was a procedurally-oriented programming language written by Hewlett-Packard for the HP 3000 minicomputer line and first introduced in 1972. SPL was used to write the HP 3000's primary operating system, Multi-Programming Executive (MPE). Similar languages on other platforms were generically referred to as system programming languages, confusing matters.

Originally known as Alpha Systems Programming Language, named for the development project that produced the 3000-series, SPL was designed to take advantage of the Alpha's stack-based processor design. It is patterned on ESPOL, a similar ALGOL-derived language used by the Burroughs B5000 mainframe systems, which also influenced a number of 1960s languages like PL360 and JOVIAL.

Through the mid-1970s, the success of the HP systems produced a number of SPL offshoots. Examples include ZSPL for the Zilog Z80 processor, and Micro-SPL for the Xerox Alto. The later inspired Action! for the Atari 8-bit family, which was fairly successful. The latter more closely followed Pascal syntax, losing some of SPL's idiosyncrasies.

SPL was widely used during the lifetime of the original integrated circuit-based versions HP 3000 platform. In the 1980s, the HP 3000 and MPE were reimplemented in an emulator running on the PA-RISC-based HP 9000 platforms. HP promoted Pascal as the favored system language on PA-RISC and did not provide an SPL compiler. This caused code maintenance concerns, and 3rd party SPL compilers were introduced to fill this need.
Q1418502
procedurally-oriented
Concept
Q9143
programming language
Concept
Q80978
Hewlett-Packard
ORG
Q1259157
HP 3000
Concept
Q185131
minicomputer
Concept
Q9135
operating system
Concept
Q1429846
Multi-Programming Executive
MISC
Q4117397
system programming language
Concept
Q2740397
stack-based processor
Concept
Q1275955
ESPOL
MEDIA
Q188436
ALGOL
Concept
Q3359776
Burroughs B5000
Concept
Q177234
mainframe
Concept
Q7119559
PL360
MEDIA
Q1277803
JOVIAL
MEDIA
Q203315
Zilog Z80
MISC
Q1140061
Xerox Alto
MISC
Q343587
Action!
MEDIA
Q249075
Atari 8-bit family
Concept
Q81571
Pascal
Concept
Q80831
integrated circuit
Concept
Q202871
emulator
Concept
Q113585
PA-RISC
MISC
Q1272701
HP 9000
MISC
Q940053
code maintenance
Concept
Q47506
compilers
Concept
Q85804688
Systems Programming Language
UNK
Q85804688
Systems Programming Language
UNK
3000-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
3000
DATE
1972-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1972
DATE
3000-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
3000
DATE
3000-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
3000
DATE
1960-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1960
DATE
3000-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
3000
DATE
1980-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1980
DATE
3000-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
3000
DATE
9000-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
9000
DATE
+3000^^http://www.w3.org/2001/XMLSchema#decimal
3000
NUMBER
+5000^^http://www.w3.org/2001/XMLSchema#decimal
5000
NUMBER
+360^^http://www.w3.org/2001/XMLSchema#decimal
360
NUMBER
-1970^^http://www.w3.org/2001/XMLSchema#decimal
-1970
NUMBER
+80^^http://www.w3.org/2001/XMLSchema#decimal
80
NUMBER
+8^^http://www.w3.org/2001/XMLSchema#decimal
8
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
developer
instance of
publication date
instance of