Unix and C
davidb at davidb.org
Tue May 7 08:01:07 PDT 2013
Randall Shimizu <randall.t.shimizu at gmail.com> writes:
> I think assembly is the only other language that could be used for the
> Kernel. Part of the problem all these other languages are interpreted. It's
> been years since I have ever heard of anyone using assembly.
Which are you referring to as being interpreted? The only ones in my
list below that are even sometimes interpreted are Lisp and Smalltalk.
But, in language-as-a-system platforms, both of these languages are
compiled to native code.
All of the other languages listed on this page, as far as I know,
are/were always compiled.
Generally what makes a high-level language less suited to implementing
an operating system is that most are not oriented around doing the type
of Low level programming needed to access hardware and other things
needed for an operating system. C isn't particularly good at this
either, but is loose enough with what it allows, that it is possible.
Ada being a specific exception to this, and was designed with low-level
operations in mind.
Also, make sure we don't forget Pascal. The original MacOS was largely
written in Pascal.
> On Sat, May 4, 2013 at 9:25 AM, David Brown <davidb at davidb.org> wrote:
>> Franklin Johnston <fpjohnston at gmail.com> writes:
>> > I know that Unix was not the first O/S written in a high-level language:
>> > according to Wikipedia, MCP on the B5000 by Burroughs was the first to
>> > claim that distinction, in 1961 (with a language called ESPOL, a variant
>> > ALGOL 60). But I am wondering whether any operating systems since
>> > Unix/Linux have been written in a language other than C.
>> There have been various research operating systems written in things
>> such as C++, and Ada. And as others have mentioned, there were numerous
>> language-specific operating systems built around Lisp, Smalltalk, etc.
>> Depending on what you call the OS, Mac OS X has lots of code written in
>> Objective C, and supposedly C++. But, the core kernel is written in C.
>> Windows itself is written in C, C++, and C#, again likely depending on
>> what you call the "OS".
>> But, if you're referring to the kernel, both are largely just C and some
>> assembly, similar to Linux and Unix.
>> KPLUG-List at kernel-panic.org
More information about the KPLUG-List