August 29, 2015
On Saturday, 29 August 2015 at 12:59:59 UTC, Adam D. Ruppe wrote:
> On Saturday, 29 August 2015 at 12:38:45 UTC, Temtaime wrote:
>> Okay, you've done a C++ compiler. Nobody uses that compiler in real projects.
>
> For about a decade, dmc was outcompeting the efforts of big companies in features, compile speed, code optimization, AND stability.
>
> Sure, it has fallen behind now, but only because Walter sat down for 15 years so they could catch up.... (time he used to get streets ahead by creating this thing called 'Mars', which again the big guys are trying to catch up to).
>
>
> I'm happy with the codegen the way it is, it is good enough for me, but let's not make mountains out of hills.

I'm writing a 3D engine in D.
There's many, many of math. In my benchmarks when it's compiled with DMD there's ~100 fps and with LDC fps raises to ~500. LDC vectorizes all operations with matrix, inlines, etc.

If it's good to you, it's not so for others.
Quality of codegen is not only performance, but also how many battery apps drain on portables.
August 29, 2015
On Saturday, 29 August 2015 at 12:59:59 UTC, Adam D. Ruppe wrote:
> I'm happy with the codegen the way it is, it is good enough for me, but let's not make mountains out of hills.

But the fact is that many people are not. Even the core language team, who doesn't want their compiler to get 30% slower on the next release.

 — David
August 29, 2015
On Friday, 28 August 2015 at 21:59:57 UTC, Walter Bright wrote:
> On 8/28/2015 4:18 AM, Temtaime wrote:
>> Are you sure that ONE Walter can achieve what they done ?
>
> People told me I couldn't write a C compiler, then told me I couldn't write a C++ compiler. I'm still the only person who has ever implemented a complete C++ compiler (C++98). Then they all (100%) laughed at me for starting D, saying nobody would ever use it.
>
> My whole career is built on stepping over people who told me I couldn't do anything and wouldn't amount to anything.
>
> LLVM is a fine compiler, but there's nothing magical about it.
>
> Besides, we have a secret productivity enhancing weapon that LLVM doesn't have - D!
>
> Now, if I can only tear myself away from the internet for a while...

The problem is that you're pretty much the face of D along with Andrei. Andrei announcing he was quitting Facebook to work on D fulltime was one of the most popular articles on Reddit's programming subreddit in the past month.


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. Even more than this, D has no real IDE integration like C++ or Java, and none 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. There's other things I can't remember right now.

Then they come to the forums and see the head people of D working on ... DMD codegen improvements. That inspires a lot of confidence that these issues will get fixed beyond fixing them yourself - because that's what everyone adopting a new language wants to do.

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.

I'm not blaming you, I'm just not sure if you're aware of what this looks like. If you intend for D to be a hobby project, then continue on.
August 29, 2015
On Sat, Aug 29, 2015 at 01:06:56PM +0000, David Nadlinger via Digitalmars-d wrote:
> On Saturday, 29 August 2015 at 12:59:59 UTC, Adam D. Ruppe wrote:
> >I'm happy with the codegen the way it is, it is good enough for me, but let's not make mountains out of hills.
> 
> But the fact is that many people are not. Even the core language team, who doesn't want their compiler to get 30% slower on the next release.
[...]

The good thing about switching to DDMD the next release is that (finally) we are forced to address codegen issues. I hope this will finally get Walter going on codegen improvements, which I'm quite sure he's well capable of, but just hasn't gotten around to it until now.

Here's to hoping https://issues.dlang.org/show_bug.cgi?id=14943 will be fixed by next release...


T

-- 
"No, John.  I want formats that are actually useful, rather than over-featured megaliths that address all questions by piling on ridiculous internal links in forms which are hideously over-complex." -- Simon St. Laurent on xml-dev
August 29, 2015
On Saturday, 29 August 2015 at 13:06:58 UTC, David Nadlinger wrote:
> But the fact is that many people are not. Even the core language team, who doesn't want their compiler to get 30% slower on the next release.

That's why your work on ldc and Iain's on gdc matters!

I don't object to work on dmd's optimizations, but I'm ok with them staying the way they are too since ldc and gdc are fairly easy to use now.
August 29, 2015
On Saturday, 29 August 2015 at 14:44:01 UTC, Casual D user wrote:

> Then they come to the forums and see the head people of D working on ... DMD codegen improvements. That inspires a lot of confidence that these issues will get fixed beyond fixing them yourself - because that's what everyone adopting a new language wants to do.
>
> 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.
>
> I'm not blaming you, I'm just not sure if you're aware of what this looks like. If you intend for D to be a hobby project, then continue on.

I just want to make sure that you understand that he was asking for low hanging optimization opportunities that could be implemented in few hours of work?

August 29, 2015
On Saturday, 29 August 2015 at 18:10:33 UTC, welkam wrote:
> On Saturday, 29 August 2015 at 14:44:01 UTC, Casual D user wrote:
>
>> Then they come to the forums and see the head people of D working on ... DMD codegen improvements. That inspires a lot of confidence that these issues will get fixed beyond fixing them yourself - because that's what everyone adopting a new language wants to do.
>>
>> 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.
>>
>> I'm not blaming you, I'm just not sure if you're aware of what this looks like. If you intend for D to be a hobby project, then continue on.
>
> I just want to make sure that you understand that he was asking for low hanging optimization opportunities that could be implemented in few hours of work?

All the more if he doesn't, that's the trick with impressions: they don't have to be true to have effects. If that's what it looks like to someone who comes, then it is a problem.
August 29, 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.
August 29, 2015
On Saturday, 29 August 2015 at 19:37:33 UTC, Laeeth Isharc wrote:
> 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.

If it is a toy language with a hobby development process then it does not warrant more
resources.

Walter is entitled to do what is fun and rewarding to him, obviously. If working on his propriatory backend is important to him, then he should do so. Nobody has a right to question that.

But the net effect of maintaining 3 different backends is sending signals that the project lacks direction and priorities.

Why would anyone commit resources to a project that lacks direction?


August 29, 2015
On Saturday, 29 August 2015 at 20:13:57 UTC, Ola Fosheim Grostad wrote:
> On Saturday, 29 August 2015 at 19:37:33 UTC, Laeeth Isharc wrote:
>> 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.
>
> If it is a toy language with a hobby development process then it does not warrant more
> resources.


>
> Walter is entitled to do what is fun and rewarding to him, obviously. If working on his propriatory backend is important to him, then he should do so. Nobody has a right to question that.
>
> But the net effect of maintaining 3 different backends is sending signals that the project lacks direction and priorities.
>
> Why would anyone commit resources to a project that lacks direction?

We are all entitled to our opinion.  It's my experience that people tend to listen more to those who show themselves to be generally friendly and encouraging than those in whose eyes one doesn't seem to be able to do anything right.  D doesn't strike me as a language, project or community lacking in direction, particularly given recent developments.  I suspect resources of all sorts will come in time.

Toy languages aren't used by the sorts of people that have built their businesses around D.  I don't think you do yourself any favours by adopting the tone you do.  It's disrespectful and unconstructive.

In any case, I don't wish to divert attention from what's important, so I won't say anything more on this topic.