There are operating systems in other, higher-level languages: Singularity, JNODE, Genera, SqueakNOS, Movitz, but:
C is not garbage collected. If you write an OS in a dynamic language you need either a GC in a low-level language or one that does not produce garbage itself. If you want a realtime-OS, garbage collection will make things much more complicated.
Other dynamic featues like multiple dispatch at runtime may also slow down the system and create an unnecessary bottleneck at such a low level.
> Why hasn't anyone created a better systemprogramming langauge?
Java is a very good systems programming language for Processors that have Java bytecode as machine code.
Oberon is a better language to write the Oberon system in than C. There is also a lot of low-level programming going on with Ada. Oberon and Ada are both derived from Pascal and seem very un-dynamic to me. Depending on your definition of better, they may be better sytem programming languages.
Comments
There are operating systems in other, higher-level languages: Singularity, JNODE, Genera, SqueakNOS, Movitz, but:
C is not garbage collected. If you write an OS in a dynamic language you need either a GC in a low-level language or one that does not produce garbage itself. If you want a realtime-OS, garbage collection will make things much more complicated.
Other dynamic featues like multiple dispatch at runtime may also slow down the system and create an unnecessary bottleneck at such a low level.
> Why hasn't anyone created a better systemprogramming langauge?
Java is a very good systems programming language for Processors that have Java bytecode as machine code.
Oberon is a better language to write the Oberon system in than C. There is also a lot of low-level programming going on with Ada. Oberon and Ada are both derived from Pascal and seem very un-dynamic to me. Depending on your definition of better, they may be better sytem programming languages.