January 26, 2012
my question is if there thing i can do with dmd only and visa versa?
what the feature of one of them over the other?
what the different between them in term of inline assembly, performance, platform and bugs?
January 26, 2012
On Thursday, 26 January 2012 at 11:46:19 UTC, sami wrote:
> my question is if there thing i can do with dmd only and visa versa?
> what the feature of one of them over the other?
> what the different between them in term of inline assembly, performance, platform and bugs?

They share the frontend, i.e. language support is pretty much the same.
dmd's backend is limited both in terms of performance and platform support (x86 only), but it compiles D code faster.
gdc inherits gcc's sophisticated optimizer capabilities, but may have unique bugs in its glue code.

On Windoze gdc is really preferable cause the dmd/dmc toolchain is just crap and doesn't support x64 at all. Building gdc yourself is PITA on Win though.
On Linux the difference isn't that big.
January 26, 2012
There is also gdmd : dmd front end that use gdc

On 26/01/12 13:34, Trass3r wrote:
> On Thursday, 26 January 2012 at 11:46:19 UTC, sami wrote:
>> my question is if there thing i can do with dmd only and visa versa?
>> what the feature of one of them over the other?
>> what the different between them in term of inline assembly, performance, platform and bugs?
>
> They share the frontend, i.e. language support is pretty much the same.
> dmd's backend is limited both in terms of performance and platform support (x86 only), but it compiles D code faster.
> gdc inherits gcc's sophisticated optimizer capabilities, but may have unique bugs in its glue code.
>
> On Windoze gdc is really preferable cause the dmd/dmc toolchain is just crap and doesn't support x64 at all. Building gdc yourself is PITA on Win though.
> On Linux the difference isn't that big.
January 26, 2012
> There is also gdmd : dmd front end that use gdc
It's nothing but a perl script that translates dmd command line options into gdc ones.
January 26, 2012
actually is a d source file that does more than a simple translation ... as dmd

On 26/01/12 13:59, Trass3r wrote:
>> There is also gdmd : dmd front end that use gdc
> It's nothing but a perl script that translates dmd command line options into gdc ones.
January 26, 2012
On Thu, Jan 26, 2012 at 01:34:39PM +0100, Trass3r wrote:
> On Thursday, 26 January 2012 at 11:46:19 UTC, sami wrote:
> >my question is if there thing i can do with dmd only and visa
> >versa?
> >what the feature of one of them over the other?
> >what the different between them in term of inline assembly,
> >performance, platform and bugs?
> 
> They share the frontend, i.e. language support is pretty much the
> same.
> dmd's backend is limited both in terms of performance and platform
> support (x86 only), but it compiles D code faster.
> gdc inherits gcc's sophisticated optimizer capabilities, but may
> have unique bugs in its glue code.

gdc also inherits gcc's multiplatform support, together with platform specific optimizations common to all gcc-based compilers.


> On Windoze gdc is really preferable cause the dmd/dmc toolchain is just crap and doesn't support x64 at all. Building gdc yourself is PITA on Win though.

Building gcc in general is a pain. It's just a little less painful on *nix systems, but still painful.


> On Linux the difference isn't that big.

Hmm, maybe somebody should write a D compiler in D. That will prove that D is a worthwhile language. ;-) You can then bootstrap it by compiling it with gdc, dmd, or whatever you wish, then recompile it with itself (gcc-style). All sorts of neat stuff you can do there.


T

-- 
Prosperity breeds contempt, and poverty breeds consent. -- Suck.com
January 26, 2012
Al 26/01/12 17:15, En/na H. S. Teoh ha escrit:
> On Thu, Jan 26, 2012 at 01:34:39PM +0100, Trass3r wrote:
>> On Thursday, 26 January 2012 at 11:46:19 UTC, sami wrote:
>>> my question is if there thing i can do with dmd only and visa
>>> versa?
>>> what the feature of one of them over the other?
>>> what the different between them in term of inline assembly,
>>> performance, platform and bugs?
>> They share the frontend, i.e. language support is pretty much the
>> same.
>> dmd's backend is limited both in terms of performance and platform
>> support (x86 only), but it compiles D code faster.
>> gdc inherits gcc's sophisticated optimizer capabilities, but may
>> have unique bugs in its glue code.
> gdc also inherits gcc's multiplatform support, together with platform
> specific optimizations common to all gcc-based compilers.

I note that gdc is completely free software but dmd runtime is not. An alternative is ldc, also free.
>
>
>> On Windoze gdc is really preferable cause the dmd/dmc toolchain is
>> just crap and doesn't support x64 at all. Building gdc yourself is
>> PITA on Win though.
> Building gcc in general is a pain. It's just a little less painful on
> *nix systems, but still painful.
>
>
>> On Linux the difference isn't that big.
> Hmm, maybe somebody should write a D compiler in D. That will prove that
> D is a worthwhile language. ;-) You can then bootstrap it by compiling
> it with gdc, dmd, or whatever you wish, then recompile it with itself
> (gcc-style). All sorts of neat stuff you can do there.
>
>
> T
>
A painful is the lack of documentation: there is only API/Classes docs and few html pages. The books are non-free and there are not worth tutorials. I like D but definitively it makes me back!. Compare for example golang and D. Both relatively new languages (D is elder) and you have many more docs about golang than D. You have not a bunch of docs, docs you get with python or perl, but it's worthy amount.


Just my opinion,
Xan.
January 26, 2012
On Thu, Jan 26, 2012 at 06:06:38PM +0100, xancorreu wrote: [...]
> I note that gdc is completely free software but dmd runtime is not.

You mean free as in freedom, not as in price.


> An alternative is ldc, also free.

I looked up ldc recently, and it seems that it hasn't been updated for years. Seems that gdc is the only other D compiler that's still actively maintained. And from what I hear, its front end is essentially the same as dmd.


[...]
> A painful is the lack of documentation: there is only API/Classes docs and few html pages. The books are non-free and there are not worth tutorials.

Andrei's book is worth the buy. It's not that expensive and it covers a lot of very useful stuff.

As for docs and tutorials, why not contribute by writing more of them?


> I like D but definitively it makes me back!.
> Compare for example golang and D. Both relatively new languages (D is
> elder) and you have many more docs about golang than D. You have not a
> bunch of docs, docs you get with python or perl, but it's worthy
> amount.
[...]

It's because of the size of the community. The D community is relatively small, but because google has such a wide exposure, golang has acquired a large following in spite of its young age. Larger community == more people writing tutorials, docs, howtos, etc..

So how to combat this? Write your own tutorials and docs. Contribute to the community.


T

-- 
The fact that anyone still uses AOL shows that even the presence of options doesn't stop some people from picking the pessimal one. - Mike Ellis
January 26, 2012
On 26-01-2012 18:06, xancorreu wrote:
> Al 26/01/12 17:15, En/na H. S. Teoh ha escrit:
>> On Thu, Jan 26, 2012 at 01:34:39PM +0100, Trass3r wrote:
>>> On Thursday, 26 January 2012 at 11:46:19 UTC, sami wrote:
>>>> my question is if there thing i can do with dmd only and visa
>>>> versa?
>>>> what the feature of one of them over the other?
>>>> what the different between them in term of inline assembly,
>>>> performance, platform and bugs?
>>> They share the frontend, i.e. language support is pretty much the
>>> same.
>>> dmd's backend is limited both in terms of performance and platform
>>> support (x86 only), but it compiles D code faster.
>>> gdc inherits gcc's sophisticated optimizer capabilities, but may
>>> have unique bugs in its glue code.
>> gdc also inherits gcc's multiplatform support, together with platform
>> specific optimizations common to all gcc-based compilers.
>
> I note that gdc is completely free software but dmd runtime is not. An
> alternative is ldc, also free.

Huh? Surely you mean the DMD back end? Everything else is either GPL or Boost.

>>
>>
>>> On Windoze gdc is really preferable cause the dmd/dmc toolchain is
>>> just crap and doesn't support x64 at all. Building gdc yourself is
>>> PITA on Win though.
>> Building gcc in general is a pain. It's just a little less painful on
>> *nix systems, but still painful.
>>
>>
>>> On Linux the difference isn't that big.
>> Hmm, maybe somebody should write a D compiler in D. That will prove that
>> D is a worthwhile language. ;-) You can then bootstrap it by compiling
>> it with gdc, dmd, or whatever you wish, then recompile it with itself
>> (gcc-style). All sorts of neat stuff you can do there.
>>
>>
>> T
>>
> A painful is the lack of documentation: there is only API/Classes docs
> and few html pages. The books are non-free and there are not worth
> tutorials. I like D but definitively it makes me back!. Compare for
> example golang and D. Both relatively new languages (D is elder) and you
> have many more docs about golang than D. You have not a bunch of docs,
> docs you get with python or perl, but it's worthy amount.
>
>
> Just my opinion,
> Xan.

- Alex
January 26, 2012
Al 26/01/12 18:43, En/na H. S. Teoh ha escrit:
> On Thu, Jan 26, 2012 at 06:06:38PM +0100, xancorreu wrote:
> [...]
>> I note that gdc is completely free software but dmd runtime is not.
> You mean free as in freedom, not as in price.

Yes, both
>
>> An alternative is ldc, also free.
> I looked up ldc recently, and it seems that it hasn't been updated for
> years. Seems that gdc is the only other D compiler that's still actively
> maintained. And from what I hear, its front end is essentially the same
> as dmd.

I think ldc is actively and it supports D 2.0 (see http://www.dsource.org/projects/ldc/wiki/BuildInstructionsPhobosDruntimeTrunk)
>
> [...]
>> A painful is the lack of documentation: there is only API/Classes
>> docs and few html pages. The books are non-free and there are not
>> worth tutorials.
> Andrei's book is worth the buy. It's not that expensive and it covers a
> lot of very useful stuff.
>
> As for docs and tutorials, why not contribute by writing more of them?
>
>
>> I like D but definitively it makes me back!.
>> Compare for example golang and D. Both relatively new languages (D is
>> elder) and you have many more docs about golang than D. You have not a
>> bunch of docs, docs you get with python or perl, but it's worthy
>> amount.
> [...]
>
> It's because of the size of the community. The D community is relatively
> small, but because google has such a wide exposure, golang has acquired
> a large following in spite of its young age. Larger community == more
> people writing tutorials, docs, howtos, etc..
>
> So how to combat this? Write your own tutorials and docs. Contribute to
> the community.
>
>
> T
>

The developers, the experts, they "should" write good tutorials and bring to the community freely (as in beer and as in freedom). Because with lack of ground documentation, the hypotetic learners like me will not learn or at least the effort to do it will be exagerated. The documentation I could write, the learner, is more more more painful than an expert could do.

Perhaps the documentation is the key that developers forget.

How many books we have of D 2.0? One.
All the documentation with API/Class exception points to this. Even web page (the two only freely avaliable chapters).

Think about that. Good intentions. :-)

Xan.
« First   ‹ Prev
1 2
Top | Discussion index | About this forum | D home