Jump to page: 1 2
Thread overview
Why do you write D2 compiler using C++ language?
Dec 13, 2014
ddj
Dec 13, 2014
Rikki Cattermole
Dec 13, 2014
ddj
Dec 13, 2014
ketmar
Dec 13, 2014
ddj
Dec 13, 2014
ketmar
Dec 13, 2014
ddj
Dec 13, 2014
ketmar
Dec 13, 2014
ddj
Dec 13, 2014
Mike Parker
Dec 14, 2014
ddj
Dec 15, 2014
uri
Dec 15, 2014
Paulo Pinto
Dec 15, 2014
ddj
December 13, 2014
You already have better D1.
December 13, 2014
On 14/12/2014 12:38 a.m., ddj wrote:
> You already have better D1.

The usage of c++ for dmd front end is the original language for it. Aka it would be rather hard to write a front end for D without a D compiler.
Its currently being ported over to D.

As for why it wasn't changed over when D2 started. Probably was seen as too much work at the time.
December 13, 2014
On Sat, 13 Dec 2014 11:38:47 +0000
ddj via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> You already have better D1.
as D2 wasn't created from the scratch, it was easier to reuse already written c++ code. there is no big difference in having D2 compiler written in c++ or in D1, both of them are not D2. DMD c++ is very close to "restricted c with classes" with banned STL, templates, multiple inheritance and so on. so it doesn't really matters.

besides, having it written in D1 means that D1 compiler must be supported all this time, making devs effectively support TWO D versions instead of one. and by using c++ devs can "outsource" c++ support to another teams. ;-)


December 13, 2014
Replacing unsupported D1 with unfinished D2 does not seem to me like good idea for language.

I like D, and I wish to learn it and use it.

But so many issues and bug fixes scares me from using it.

High activity in the project to me does not look like sign of good support, more like unstable and buggy implementation. Maybe problem is in implementation language you want to replace? I guess, best test for language is compiler bootstrapping. http://en.wikipedia.org/wiki/Bootstrapping_%28compilers%29

IMHO, if you want million of users, at least no new feature should be added before number of issues and bug fixes stabilize to about one per month

Thanks

On Saturday, 13 December 2014 at 12:27:01 UTC, ketmar via Digitalmars-d wrote:
> On Sat, 13 Dec 2014 11:38:47 +0000
> ddj via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
>> You already have better D1.
> as D2 wasn't created from the scratch, it was easier to reuse already
> written c++ code. there is no big difference in having D2 compiler
> written in c++ or in D1, both of them are not D2. DMD c++ is very close
> to "restricted c with classes" with banned STL, templates, multiple
> inheritance and so on. so it doesn't really matters.
>
> besides, having it written in D1 means that D1 compiler must be
> supported all this time, making devs effectively support TWO D versions
> instead of one. and by using c++ devs can "outsource" c++ support to
> another teams. ;-)

December 13, 2014
But then you miss all great features of D, all protection from bugs that D offers, like contracts and tests! Initial saving time cost more in long term


On Saturday, 13 December 2014 at 12:19:19 UTC, Rikki Cattermole wrote:
> On 14/12/2014 12:38 a.m., ddj wrote:
>> You already have better D1.
>
> The usage of c++ for dmd front end is the original language for it. Aka it would be rather hard to write a front end for D without a D compiler.
> Its currently being ported over to D.
>
> As for why it wasn't changed over when D2 started. Probably was seen as too much work at the time.

December 13, 2014
On Sat, 13 Dec 2014 13:55:27 +0000
ddj via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> Replacing unsupported D1 with unfinished D2 does not seem to me like good idea for language.
that's right. we need D3, 'cause D2 is cluttered with legacy crap. ;-)

> But so many issues and bug fixes scares me from using it.
nobody forces you to use current developement versions. stick with the version of your choice (2.066 for example), that's all.

> I guess, best test for language is compiler bootstrapping.
there is ongoing project to convert DMD frontend to D. eventually this new frontend will replace the old c++ one.

> IMHO, if you want million of users, at least no new feature should be added before number of issues and bug fixes stabilize to about one per month
not all D programmers wants "millon of users". i, for example, want a language which will be great for me, not for "million of users". that's why i think that D developement is very slow, "don't break the existing code" is overrated and c++ interoperbility is on the bottom of the list. but this is my own opinion, and i'm not even a major contributor.

what i want to say is that D community consists of many groups with different visions, so it's hard to say what "we" exactly want. ;-)


December 13, 2014
> nobody forces you to use current developement versions. stick with the
> version of your choice (2.066 for example), that's all.

Unfortunately it is unclear to me how many current bugs/issues are related to stable version. On another side, I do not like to use stable but crippled version


> not all D programmers wants "millon of users". i, for example, want a
> language which will be great for me, not for "million of users". that's
> why i think that D developement is very slow, "don't break the existing
> code" is overrated and c++ interoperbility is on the bottom of the
> list. but this is my own opinion, and i'm not even a major contributor.
>
> what i want to say is that D community consists of many groups with
> different visions, so it's hard to say what "we" exactly want. ;-)

I've seen many YouTube videos about D and as far a I can remember "million users" is at least Walter&Andre's wish. That is maybe good only for the Amazon books? :)

AFAIK c++ binary interoperability is very difficult problem due to different c++ compiler implementations.

Thanks
December 13, 2014
On Sat, 13 Dec 2014 14:48:03 +0000
ddj via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> > nobody forces you to use current developement versions. stick
> > with the
> > version of your choice (2.066 for example), that's all.
> 
> Unfortunately it is unclear to me how many current bugs/issues are related to stable version. On another side, I do not like to use stable but crippled version
there are some fixes that are going to 2.066, and there is the plan to eventually release 2.066.1 (already here), 2.066.2, etc. with those fixes incorporated. so it should be fairly good to just stick with 2.066 and upgrade it when new minor version released, if you don't need that shiny new features (and bugs ;-).

> I've seen many YouTube videos about D and as far a I can remember "million users" is at least Walter&Andre's wish. That is maybe good only for the Amazon books? :)
Walter and Andrei aren't the whole community. ;-) yes, they are project leaders, but not anyone in community is always agree with them. ;-)

we are lacking manpower too, so some things has to be postponed. there is not so many people who can donate their time to supporting old compiler verions for example, so we can't support all released versions to the extent we want to. it's much funnier to work on new features. ;-)

yet that things must be solved somehow, and community trying to do it's best. there are plans to do better release cycle, better support and so on. but almost all of that work is done by volunteers, so things aren't rolling fast. this is the downside of being independent. ;-)

> AFAIK c++ binary interoperability is very difficult problem due to different c++ compiler implementations.
yes, there are alot of problems to solve -- that's why D doesn't have it fully working from the start. but there is alot of work done in current dev DMD, including different c++ mangling schemes, ABIs and so on. i'm not really in position to talk about that though, as i'm not interested in c++ at all.


December 13, 2014
>> Unfortunately it is unclear to me how many current bugs/issues are related to stable version. On another side, I do not like to use stable but crippled version
> there are some fixes that are going to 2.066, and there is the plan to
> eventually release 2.066.1 (already here), 2.066.2, etc. with those
> fixes incorporated. so it should be fairly good to just stick with 2.066
> and upgrade it when new minor version released, if you don't need that
> shiny new features (and bugs ;-).
>

Thanks
December 13, 2014
On 12/13/2014 10:55 PM, ddj wrote:

> But so many issues and bug fixes scares me from using it.
>

That's just the wrong way to look at it. Take a look at the bug list for gcc, any of the Java compilers, or clang. Are you afraid to use them as well?
« First   ‹ Prev
1 2