Thread overview
D compiler status
Mar 09, 2002
Walter
Mar 11, 2002
J. Daniel Smith
Mar 11, 2002
Walter
Mar 11, 2002
J. Daniel Smith
Mar 11, 2002
OddesE
Mar 11, 2002
roland
Mar 11, 2002
Walter
March 09, 2002
I suppose people might be wondering what I'm working on with the compiler at the moment. After all, why did I waste time implementing an inline assembler, when so much needs to be done with the core language?

The answer is the garbage collector. It is currently written in C++, and is single threaded. It's the main barrier to getting D to support multithreaded programming. To upgrade the garbage collector, it needs to handle exceptions.

D has great syntax for synchronizing and handling exceptions, but those do not fit in well with C++ exceptions. So, the garbage collector needs to be rewritten in D. Rewriting it in D needs, well, a few lines of inline assembler.

Now that the inline assembler is done (and I also put the instruction set support enhancements back into the C compiler), I am working on converting the garbage collector to D. My aim is to remove all the C and C++ code from the runtime library, and have it fully bootstrapped into D.

Writing the garbage collector in D proves that D can write system level code. (How many other pretender successors to C++ can you write a real gc in? <g>)


March 11, 2002
If you used the CLR from .NET you would get a garbage collector "for free". :-)

   Dan

"Walter" <walter@digitalmars.com> wrote in message news:a6cclp$1mqi$1@digitaldaemon.com...
> I suppose people might be wondering what I'm working on with the compiler
at
> the moment. After all, why did I waste time implementing an inline assembler, when so much needs to be done with the core language?
>
> The answer is the garbage collector. It is currently written in C++, and
is
> single threaded. It's the main barrier to getting D to support
multithreaded
> programming. To upgrade the garbage collector, it needs to handle exceptions.
>
> D has great syntax for synchronizing and handling exceptions, but those do not fit in well with C++ exceptions. So, the garbage collector needs to be rewritten in D. Rewriting it in D needs, well, a few lines of inline assembler.
>
> Now that the inline assembler is done (and I also put the instruction set support enhancements back into the C compiler), I am working on converting the garbage collector to D. My aim is to remove all the C and C++ code
from
> the runtime library, and have it fully bootstrapped into D.
>
> Writing the garbage collector in D proves that D can write system level code. (How many other pretender successors to C++ can you write a real gc in? <g>)
>
>


March 11, 2002
"J. Daniel Smith" <j_daniel_smith@HoTMaiL.com> wrote in message news:a6idtd$1am9$1@digitaldaemon.com...
> If you used the CLR from .NET you would get a garbage collector "for
free".
> :-)

Can't write system code in .NET.


March 11, 2002
It's your language, so you're of course free to do whatever you want with it.

But I still contend that by focusing on the "systems" aspect, you're loosing a lot of mindshare; I'd much rather see D as an "improved C++" (or "an alternative to C#") rather than a wholesale flat-out replacment for C/C++. Counting either lines-of-code or number of developers, I suspect only a very small amount of "systems" code is written these days.  Device drivers is the most obvious example where it is still necessary for a non-trivial number of programmers to get down to the "bare metal"; but D has the potential to be useful to a much larger audience than low-level bit-twidlers.

   Dan

"Walter" <walter@digitalmars.com> wrote in message news:a6j2nt$1jqe$1@digitaldaemon.com...
>
> "J. Daniel Smith" <j_daniel_smith@HoTMaiL.com> wrote in message news:a6idtd$1am9$1@digitaldaemon.com...
> > If you used the CLR from .NET you would get a garbage collector "for
> free".
> > :-)
>
> Can't write system code in .NET.
>
>


March 11, 2002
"J. Daniel Smith" <j_daniel_smith@HoTMaiL.com> wrote in message news:a6j877$1m4a$1@digitaldaemon.com...
> "Walter" <walter@digitalmars.com> wrote in message news:a6j2nt$1jqe$1@digitaldaemon.com...
> >
> > "J. Daniel Smith" <j_daniel_smith@HoTMaiL.com> wrote in message news:a6idtd$1am9$1@digitaldaemon.com...
> > > If you used the CLR from .NET you would get a garbage collector "for
> > free".
> > > :-)
> >
> > Can't write system code in .NET.
>
> It's your language, so you're of course free to do whatever you want with it.
>
> But I still contend that by focusing on the "systems" aspect, you're
loosing
> a lot of mindshare; I'd much rather see D as an "improved C++" (or "an alternative to C#") rather than a wholesale flat-out replacment for C/C++. Counting either lines-of-code or number of developers, I suspect only a
very
> small amount of "systems" code is written these days.  Device drivers is
the
> most obvious example where it is still necessary for a non-trivial number
of
> programmers to get down to the "bare metal"; but D has the potential to be useful to a much larger audience than low-level bit-twidlers.
>
>    Dan
>

I think Walter meant that D needs a system level garbage
collector, not some CLR interpreted one, and that such a
gc cannot be built with .NET?


--
Stijn
OddesE_XYZ@hotmail.com
http://OddesE.cjb.net
__________________________________________
Remove _XYZ from my address when replying by mail



March 11, 2002
"J. Daniel Smith" a écrit :

> It's your language, so you're of course free to do whatever you want with it.
>
> But I still contend that by focusing on the "systems" aspect, you're loosing a lot of mindshare; I'd much rather see D as an "improved C++" (or "an alternative to C#") rather than a wholesale flat-out replacment for C/C++. Counting either lines-of-code or number of developers, I suspect only a very small amount of "systems" code is written these days.  Device drivers is the most obvious example where it is still necessary for a non-trivial number of programmers to get down to the "bare metal"; but D has the potential to be useful to a much larger audience than low-level bit-twidlers.
>
>    Dan
>
> "Walter" <walter@digitalmars.com> wrote in message news:a6j2nt$1jqe$1@digitaldaemon.com...
> >
> > "J. Daniel Smith" <j_daniel_smith@HoTMaiL.com> wrote in message news:a6idtd$1am9$1@digitaldaemon.com...
> > > If you used the CLR from .NET you would get a garbage collector "for
> > free".
> > > :-)
> >
> > Can't write system code in .NET.
> >
> >
>
>
>

- If you can do system programming then that mean you are not limited by
the langage itself. That mean all the possibility remains
open,  witch is a good thing for a new langage. Lets restric it the
later possible.
- system programming is often complex and difficult to debug.
For that, a new tool like D is interresting.

roland





March 11, 2002
D is intended as the evolutionary next step for the kinds of programs that C and C++ targets. That is a great deal broader than what .net addresses.

From a pragmatic standpoint, D is new and has yet to prove itself. .net is brand new and has yet to live up to any of its promises. It seems to me that tying D to .net at this time will add unnecessary risk.

I think the bare metal bit twiddlers need a great language, too <g>.

"J. Daniel Smith" <j_daniel_smith@HoTMaiL.com> wrote in message news:a6j877$1m4a$1@digitaldaemon.com...
> It's your language, so you're of course free to do whatever you want with it.
>
> But I still contend that by focusing on the "systems" aspect, you're
loosing
> a lot of mindshare; I'd much rather see D as an "improved C++" (or "an alternative to C#") rather than a wholesale flat-out replacment for C/C++. Counting either lines-of-code or number of developers, I suspect only a
very
> small amount of "systems" code is written these days.  Device drivers is
the
> most obvious example where it is still necessary for a non-trivial number
of
> programmers to get down to the "bare metal"; but D has the potential to be useful to a much larger audience than low-level bit-twidlers.
>
>    Dan