June 07, 2022

On Friday, 3 June 2022 at 06:33:52 UTC, Olivier Pisano wrote:

>

On Thursday, 2 June 2022 at 20:36:59 UTC, Jakob Jenkov wrote:

>

Is it feasible / practical to use D to develop an operating system from the ground up? Or does the VM / memory management get in the way?

There is no such thing as a VM in D, and yes D can be used for operating system development.

I should have written "GC" .. not "VM" ... sorry !!

June 07, 2022

On Thursday, 2 June 2022 at 20:36:59 UTC, Jakob Jenkov wrote:

>

Is it feasible / practical to use D to develop an operating system from the ground up? Or does the VM / memory management get in the way?

Yes you can write operating systems in D. However you cannot use many parts of druntime/phobos because

  1. There is no "no OS" target to build druntime/phobos.
  2. Many containers in D/Phobos use GC which makes them unsuitable for kernel development.

You probably need to write all your container algorithms yourself. It doesn't though because they need to be special anyway.

You are bascally using D without standard libraries. This about the same with C/C++.

June 07, 2022

On Tuesday, 7 June 2022 at 11:27:18 UTC, IGotD- wrote:

>
  1. Many containers in D/Phobos use GC which makes them unsuitable for kernel development.

You probably need to write all your container algorithms yourself. It doesn't though because they need to be special anyway.

You are bascally using D without standard libraries. This about the same with C/C++.

Actually there are LOT of different realisations.. not only containers, but Core libraries. And as a end-user I have no idea how all of them are different from each other.

There are Mecca, Tanya, Hunt - core libraries.
Emsi, ikod and collection-d containers.

And of course there is the whole Mir world, with nogc and betterC paradigm inside.

June 07, 2022

On Tuesday, 7 June 2022 at 11:57:58 UTC, Sergey wrote:

>

Actually there are LOT of different realisations.. not only containers, but Core libraries. And as a end-user I have no idea how all of them are different from each other.

There are Mecca, Tanya, Hunt - core libraries.
Emsi, ikod and collection-d containers.

And of course there is the whole Mir world, with nogc and betterC paradigm inside.

What would be really interesting is if D had a library specifically targeted for low level/operating system development. That would include things like intrusive container algorithms, lock less data structures and so on. Even better if these also could use the Phobos range algorithms.

Something that I think should be done with Phobos is to isolate the non OS dependent stuff such ranges, algorithms (must be GC free) so that it can be compiled separately. Today Phobos is like ball of thread where you cannot isolate the components from each other.

1 2
Next ›   Last »