Unix and C

Andrew Lentvorski bsder at allcaps.org
Tue May 7 14:28:49 PDT 2013

On 5/7/13 8:01 AM, David Brown wrote:
> 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.

One of the few things that C is pretty good at is bit-banging, actually.

It's pretty hard to find a language that matches the expressiveness of
structures, unions and bitfields for laying out *exactly* what you want
*exactly* how you want it.  Thus the necessity for Protocol Buffers,
Thrift, etc. for managing binary data in other languages.

Erlang's bit syntax is really close, though.  It's one of the things I
really liked about Erlang.

> Ada being a specific exception to this, and was designed with low-level
> operations in mind.

Urp.  Oh, yeah, Ada.  Forgot about that.

How low-level is Ada?  VHDL (a hardware description language) borrows a
lot of concepts from Ada.

> Also, make sure we don't forget Pascal.  The original MacOS was largely
> written in Pascal.

Erm, I don't think so.  The assembly tricks in MacOS are pretty legendary.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 600 bytes
Desc: OpenPGP digital signature
Url : http://www.kernel-panic.org/pipermail/kplug-list/attachments/20130507/7102696d/signature.pgp

More information about the KPLUG-List mailing list