D: Difference between revisions

Jump to navigation Jump to search
1,127 bytes added ,  14 years ago
no edit summary
[unchecked revision][unchecked revision]
(+Cat: Languages)
No edit summary
Line 4:
 
The D language is a language suitable for OS development, as some people on the forums have already stated. It might, however, require some extra changes. There is also a tutorial available on [[GDC Cross-Compiler|how to build a D cross compiler]] (using GDC).
 
== Limitations ==
D is designed to be a systems language and is perfectly capable of running directly on the hardware with nothing more than an stub in assembly to jump to your main function. However, a lot of the language's features besides the most basic are tightly integrated into the standard library. Attempting to do string operations, slice arrays, hash arrays, use smart pointers, type checking on types not known at compile time, and a myriad of other features will lead to a number of missing symbols at link time that aren't well documented at all. Attempting to use reference the [http://www.digitalmars.com/d/2.0/phobos/phobos.html Phobos] source and port the required functions will soon make you realize how interdependent functions are one another and before you know it you've ported the majority of Phobos in to your kernel (which by the way, references the C standard library a lot).
 
So in reflection, unless you want to port a D standard library into your kernel from the beginning, the only advantage of D over C or C++ for kernel programming is the advance templating and conditional compile features.
 
== Links ==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu