Napier88
{{no footnotes|date=August 2017}}
{{Infobox programming language
| name = Napier88
| logo =
| logo caption =
| screenshot =
| screenshot caption =
| paradigms = Multi-paradigm: Procedural, imperative, structured
| family = ALGOL
| designers = Ron Morrison, Fred Brown, Richard Connor, Al Dearle
| developer = University of St Andrews
| released = {{Start date and age|1988}}
| latest release version =
| latest release date =
| typing =
| scope =
| programming language = S-algol
| discontinued = Yes
| platform =
| operating system =
| license =
| file ext =
| file format =
| website =
| implementations =
| dialects =
| influenced by = ALGOL 60, S-algol, PS-algol
| influenced =
}}
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
Further reading
- {{citation|contribution=The Napier88 Persistent Programming Language and Environment|last1=Morrison|first1=R|last2=Connor|first2=RCH|last3=Kirby|first3=GNC|last4=Munro|first4=DS|last5=Atkinson|first5=MP|last6=Cutts|first6=QI|last7=Brown|first7=AL|last8=Dearle|first8=A.|title=Fully Integrated Data Environments|editor1-last=Atkinson|editor1-first=MP|editor2-last=Welland|editor2-first=R|series=Esprit Basic Research Series|pages=98–154|publisher=Springer|isbn=3-540-65772-X|year=1999|contribution-url=http://archive.cs.st-andrews.ac.uk/papers/download/MCK+99.pdf|contribution-format=pdf}}
- {{cite thesis|title=On the Construction of Persistent Programming Environments|last1=Dearle|first1=A|type=PhD|publisher=Computational Science Department, University of St. Andrews|year=1988|url=http://archive.cs.st-andrews.ac.uk/papers/download/Dea88.pdf}}
- {{citation|last1=Dearle|first1=A.|last2=Connor|first2=R.C.H.|last3=Brown|first3=A.L.|last4=Morrison|first4=R|contribution=Napier88 - A Database Programming Language?|title=Proc. 2nd International Workshop on Database Programming Languages|location=Salishan, Oregon|year=1989|pages=179–195|contribution-url=http://archive.cs.st-andrews.ac.uk/papers/download/DCB+89.pdf|contribution-format=pdf}}
- {{citation|title=Napier88 Reference Manual (Release 2.2.1)|last1=Morrison|first1=R|last2=Brown|first2=AL|last3=Connor|first3=RCH|last4=Cutts|first4=QI|last5=Dearle|first5=A|last6=Kirby|first6=GNC|last7=Munro|first7=DS|publisher=University of St Andrews|type=technical report|year=1996|url=http://archive.cs.st-andrews.ac.uk/papers/download/MBC+96b.pdf}}
- {{citation|title=Napier88 Standard Library Reference Manual (Release 2.2.1)|last1=Kirby|first1=GNC|last2=Brown|first2=AL|last3=Connor|first3=RCH|last4=Cutts|first4=QI|last5=Dearle|first5=A|last6=Dunstan|first6=VS|last7=Morrison|first7=R|last8=Munro|first8=DS|publisher=University of St Andrews|type=report|year=1996|url=http://archive.cs.st-andrews.ac.uk/papers/download/KBC+96.pdf}}
- {{citation|contribution=Using C as a Compiler Target Language for Native Code Generation in Persistent Systems|last1=Bushell|first1=SJ|last2=Dearle|first2=A|last3=Brown|first3=AL|last4=Vaughan|first4=FA|editor1-last=Atkinson|editor-first1=MP|editor2-last=Maier|editor2-first=D|editor3-last=Benzaken|editor3-first=V|title=Proc. 6th International Workshop on Persistent Object Systems (POS6), Tarascon, France|pages=164–183|publisher=Springer-Verlag|year=1994|contribution-url=http://archive.cs.st-andrews.ac.uk/papers/download/BDB+94.pdf|contribution-format=pdf}}
External links
- [http://www-ppg.dcs.st-and.ac.uk/Languages/Napier88/ Description of Napier88 at Univ. of St Andrew's website. Accessed June 21, 2012]
{{ALGOL programming}}
Category:Algol programming language family
Category:Persistent programming languages
{{Prog-lang-stub}}