dmd codegen improvements

Laeeth Isharc via Digitalmars-d digitalmars-d at puremagic.com
Sat Aug 29 12:37:32 PDT 2015


On Saturday, 29 August 2015 at 14:44:01 UTC, Casual D user wrote:
> Someone picks up D, and realizes that out of the box it has a 
> full stop the world 1960s-style garbage collector completely 
> wrapped in a mutex, can't inline constructors/destructors, 
> basically non-functioning RTTI, no safe way to manage 
> resources, a type system with massive holes in it, type 
> qualifiers being suggestions, the non-proprietary compilers 
> that generate faster code lag a year+ behind.

Seems a bit harsh.  As a 'casual D user', you're criticizing 
Walter for not having dmd inline constructors and destructors at 
the same time as critizing him for working on codegen.  And of 
course it seems like LDC and GDC do in-line them, so if it 
matters to you you can use them.  Bear in mind that many people 
seem to be happy enough with languages that are significantly 
slower than dmd.  Of course one will hear disproportionately from 
people who aren't happy (and fair enough) because if you're happy 
you let things be.  It's not like LDC and GDC are unusable or 
missing some super critical features just because it takes some 
time for them to be kept up to date.  And if that matters, then a 
little help for those teams might go a long way as they have a 
tough job to accomplish with limited resources.

You might also be more rhetorically effective if you acknowledged 
the very real improvements that have taken place, just in the 
past year.  Sending a rocket isn't always the best way to achieve 
one's ends.

http://www.artofmanliness.com/2010/12/21/classical-rhetoric-101-the-three-means-of-persuasion/

> Even more than this, D has no real IDE integration like C++ or 
> Java

One needs an IDE a bit less than for Java, I suppose.  Since 
there are people working on IDEs and on IDE integration here, 
some constructive criticism of what you would like to see might 
again be more helpful rather than just pretending nobody is 
trying.

> is even being worked on as far as I'm aware. D is advertised as 
> a system's language, but most of the built-in language features 
> require the GC so you might as well just use C if you can't use 
> the GC

Strange then that people who don't depend on the GC seem to like 
D's features anyway.  I wonder why that is.

There's other things I can't remember right now.

> Do you know what the most complaints about D in the reddit 
> thread were? D's incredibly old garbage collector, a complete 
> lack of a good IDE, and a lack of good manual memory management 
> utilities.

One needs to pay some attention to critics, because good advice 
is hard to come by.  But it's a mistake to take what they say too 
seriously, because quite often it's more of an excuse than the 
real reason.  In my experience you can deliver everything people 
say they want, and then find it isn't that at all.  And the 
lessons of the Innovator's Dilemma by Christensen is that it may 
be better to develop what one does really well than to focus all 
one's energy on fixing perceived' weaknesses.  It's not like what 
the crowd says on reddit must be taken as gospel truth, really.


More information about the Digitalmars-d mailing list