Napier88

From HandWiki
Revision as of 01:58, 18 May 2023 by Jport (talk | contribs) (change)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Napier88
ParadigmsMulti-paradigm: Procedural, imperative, structured
FamilyALGOL
Designed byRon Morrison, Fred Brown, Richard Connor, Al Dearle
DeveloperUniversity of St Andrews
First appeared1988; 36 years ago (1988)
Implementation languageS-algol
Influenced by
ALGOL 60, S-algol, PS-algol

Napier88 is an orthogonally persistent programming language that was designed and implemented at the University of St Andrews, Scotland. The primary designer was Ron Morrison, whose initial designs were extended and implemented by Fred Brown, Richard Connor, and Al Dearle. Napier88 was ahead of its time in many ways, and was the first robustly implemented language to combine a polymorphic type system with orthogonal persistence. The language was robustly implemented and released to users from both industry and academia; up to 1,000 registered users were recorded in due course. The language, however, was only intended to provide a proof of concept for an experiment in persistent programming; some time after 1989 (the year the first implementation was in fact released) the group's interests moved on and the language was no longer maintained.

Its influence lives on in various other systems however; the CORBA type ANY is distinctly recognisable in Napier88's type ANY; Microsoft's Common Language Runtime (CLR) uses a similar polymorphic architecture, and Java's parametric types solve some of the same problems of uninstantiated types escaping from their static scope.

History

Napier88 was the third of a family of languages designed and implemented by Morrison at St Andrews, following on from S-algol and PS-algol.

Further reading

  • Morrison, R; Connor, RCH; Kirby, GNC; Munro, DS; Atkinson, MP; Cutts, QI; Brown, AL; Dearle, A. (1999), "The Napier88 Persistent Programming Language and Environment", in Atkinson, MP; Welland, R, Fully Integrated Data Environments, Esprit Basic Research Series, Springer, pp. 98–154, ISBN 3-540-65772-X, http://archive.cs.st-andrews.ac.uk/papers/download/MCK+99.pdf 
  • Dearle, A (1988). On the Construction of Persistent Programming Environments (PDF) (PhD). Computational Science Department, University of St. Andrews.
  • Dearle, A.; Connor, R.C.H.; Brown, A.L.; Morrison, R (1989), "Napier88 - A Database Programming Language?", Proc. 2nd International Workshop on Database Programming Languages, Salishan, Oregon, pp. 179–195, http://archive.cs.st-andrews.ac.uk/papers/download/DCB+89.pdf 
  • Morrison, R; Brown, AL; Connor, RCH; Cutts, QI; Dearle, A; Kirby, GNC; Munro, DS (1996), Napier88 Reference Manual (Release 2.2.1), University of St Andrews, http://archive.cs.st-andrews.ac.uk/papers/download/MBC+96b.pdf 
  • Kirby, GNC; Brown, AL; Connor, RCH; Cutts, QI; Dearle, A; Dunstan, VS; Morrison, R; Munro, DS (1996), Napier88 Standard Library Reference Manual (Release 2.2.1), University of St Andrews, http://archive.cs.st-andrews.ac.uk/papers/download/KBC+96.pdf 
  • Bushell, SJ; Dearle, A; Brown, AL; Vaughan, FA (1994), "Using C as a Compiler Target Language for Native Code Generation in Persistent Systems", in Atkinson; Maier, D; Benzaken, V, Proc. 6th International Workshop on Persistent Object Systems (POS6), Tarascon, France, Springer-Verlag, pp. 164–183, http://archive.cs.st-andrews.ac.uk/papers/download/BDB+94.pdf 

External links