Languages: Difference between revisions

m
[unchecked revision][unchecked revision]
Line 3:
== History ==
 
Early operating systems were written entirely in the [[Assembly]] language dialect of their respective CPU, and it remains an option for current developers willwilling to put in the time and effort to use it. Even when an OS is written primarily in a high-level language, there are still parts that can only be done in assembly. A significant sub-set of OS devs choose to work exclusively in assembly, and at least some work in machine language directly (though this is rare today).
 
Many high-level languages have been used for OS development in the past, including [[C]], Forth, Lisp, [[CSharp|C#]], [[C++]], Modula-2, Ada, Bliss, Smalltalk, and PL/1. However, not all languages as are suited for OS development, and in many languages other than C, a fair amount of Assembly development is required in order to provide the appropriate runtime environment supporting the language's abstractions. Languages such as C, Modula-2, Ada, Bliss, PL/M, and XPL have all been designed specifically for the purpose of low-level systems programming, either in OS dev or embedded systems, while languages such as Forth incorporate the necessary low-level features even when they weren't intended specifically for this purpose.
 
== Warning ==
Anonymous user