[nomenclature] systems language

div0 div0 at sourceforge.net
Sat Oct 16 16:42:24 PDT 2010


On 16/10/2010 19:27, Paulo Pinto wrote:
> Would that make Smalltalk, Lisp, Oberon, Modula-3, Component Pascal, Ada,
> Mac Pascal system programming languages?
>
> All of them were used to write operating systems, in some of them the
> operating system and
> language are the same, kind of.

Well true, but the main problem with a lot of those systems is that you 
can only program on them in that language; they are all special 
execptions rather than general computers.

They used to make h/w Lisp machines back in the late 70s, where all the 
OS was written in Lisp; but you could only program them in Lisp. I 
wonder how they did the garbage collector as Lisp doesn't have pointers?

I guess they either wrote the garbage collector entierly in assembly or 
added a bunch of Lisp functions to allow them to manipulate the address 
space, effectively added pointers to the language.

For C, in principle you only need a trivial amount of assembly to handle 
the processor specific calls to switch privilege levels and load 
process/thread state.

For something like Java/Python you'd need a huge amount of assembly if 
you wanted to avoid using another lower level language.

There's nothing special about a systems language; it's just they have 
explicit facilities that make certain low level functionality easier to 
implement. You could implement an OS in BASIC using PEEK/POKE if you mad 
enough.

-- 
My enormous talent is exceeded only by my outrageous laziness.
http://www.ssTk.co.uk


More information about the Digitalmars-d mailing list