May 06, 2022

On Friday, 6 May 2022 at 10:01:00 UTC, mee6 wrote:

>

That's one reason, another reason is no long term support. If you want to maintain source code in D of any large project, you are going to run into a compiler bug and that means having to become familiar with Dmd's source code which adds a lot of overhead.

Sure, I think that can be labeled as "inconsistencies", i.e. does not work as intuitively expected. Of course, a language like C++ has many things that are not intuitive, but one cannot compete with C++ by having the same critical flaw…

Adding more features also does not help on inconsistencies/bugs. It is unlikely to address those issues that made people, who had enough interest to build a library, leave. It creates enthusiasm among those that are unlikely to leave (the regular enthusiasts that demand the addition), but does not really change the dynamics and makes structural changes even more expensive…

>

I also worked on vibe.d for a little bit and it had the same issue. It couldn't keep up with all the different versions of D. It might make development for D easier but it comes at the cost of the user experience. It's really just many small problems like that that just start to add up.

I understand what you are saying, of course, other web frameworks also have versioning issues, but smaller eco systems have to pay even more attention to this than larger eco systems as the larger ones provide workarounds through search engines: you'll quickly find a workaround on Stack Overflow or a whole sale replacement (offering the same API).

Basically, if you are small, you have to be very focused, to offset the eco system disadvantages.

As a user it is very difficult to see where the overall focus and strategy is. There might be one, but it isn't clear to prospective users, I think.

May 06, 2022

On Friday, 6 May 2022 at 10:11:12 UTC, forkit wrote:

>

the problem with forks, is finding competent compiler developers.. and there ain't that many of them.

Actually, there are quite lot of people who have enough compiler knowledge from their CS degree to do something significant, so that skill isn't as rare are one might think. Compiler design is a course that many take. But the current codebase isn't really attractive for that group. Maybe SDC is a better horse to bet on, but I don't know much about the status or internals of SDC to make a judgement.

>

then you need a competent team to mangage the fork...and there ain't too many of them either...

That is a concern. Getting a loose group of people to focus on one shared long term vision doesn't happen by chance.

May 06, 2022

On Friday, 6 May 2022 at 10:40:29 UTC, Ola Fosheim Grøstad wrote:

>

the eco system disadvantages.

I think that's a meme opinion on these forums.
https://github.com/p0nce/DIID

For example Go has a "great ecosystem" and the solution to those problems are not simpler, and often longer:

Let's find the equivalent for the first 5 DIID in Golang:

OK, let's do the equivalent for Rust, is has a great ecosystem:

Apart from Rust + DIID 3, all these tasks are longer to do than in D.
But D has a "bad ecosystem".

It is unfair because I wrote the DIIDs to showcase D, but I think the D ecosystem stands well the comparison.

May 06, 2022

On Friday, 6 May 2022 at 12:05:40 UTC, Ola Fosheim Grøstad wrote:

>

On Friday, 6 May 2022 at 10:11:12 UTC, forkit wrote:

>

the problem with forks, is finding competent compiler developers.. and there ain't that many of them.

Actually, there are quite lot of people who have enough compiler knowledge from their CS degree to do something significant, so that skill isn't as rare are one might think. Compiler design is a course that many take. But the current codebase isn't really attractive for that group. Maybe SDC is a better horse to bet on, but I don't know much about the status or internals of SDC to make a judgement.

>

then you need a competent team to mangage the fork...and there ain't too many of them either...

That is a concern. Getting a loose group of people to focus on one shared long term vision doesn't happen by chance.

Amaury and I are trying to bring SDC back into the folds. Feel free to contribute.

May 06, 2022

On Friday, 6 May 2022 at 12:45:40 UTC, Guillaume Piolat wrote:

>

On Friday, 6 May 2022 at 10:40:29 UTC, Ola Fosheim Grøstad wrote:

>

the eco system disadvantages.

I think that's a meme opinion on these forums.

It is clearly not a meme.

Go is primarily useful for web-services. If you try to do something outside that domain you'll get into a rougher landscape.

I don't know anything about what Rust is practical for, but they have a significant feature that nobody else has… If I were to pick it up I would use it primarily for WebAssembly. Based on what little I know, it would probably be difficult to beat for that purpose.

C++ is very difficult to beat for things like embedded, simulation and computer graphics.

Dart is very difficult to beat for things like cross platform mobile.

Faust is very difficult to beat for prototyping LTI signal processing.

All these languages have good eco systems (or system libraries) for their application areas. To get a reasonable comparison you need to focus on one application area and look at what you would need to build a full featured application.

>

It is unfair because I wrote the DIIDs to showcase D, but I think the D ecosystem stands well the comparison.

It has nothing to do with showcasing individual features or libraries, it has to do with picking the right tool for the job. Basically nobody are looking for a generic language (outside maybe Java and C#).

The question you want to answer is this: does this language provide solid, maintained, well-documented libraries at the right abstraction level to fill all the gaps that needs to be filled for this particular application I am going to build?

May 06, 2022
On Friday, 6 May 2022 at 13:25:00 UTC, Ola Fosheim Grøstad wrote:
> All these languages have good eco systems (or system libraries) for their application areas. To get a reasonable comparison you need to focus on one application area and look at what you would need to build a full featured application.

D is ideal for all applications.

I know there's some belief out there that you can only possibly be good at one thing, but it isn't even true for insects, much less for divine delights like D.
May 06, 2022

(first let's agree that I will not answer to your next message, so that our time is capped :))

On Friday, 6 May 2022 at 13:25:00 UTC, Ola Fosheim Grøstad wrote:

>

Go is primarily useful for web-services. If you try to do something outside that domain you'll get into a rougher landscape.

That doesn't mean if you have a webservice to write, that Go is the "best tool for the job". D could be very well be the "best tool for the job".
How do we know? By measuring.
Who decides what is the best tool for the job? It seems to be "hearsay" from what you are saying.
Have people made the comparison? It doesn't seem so to me. I did, for a limited domain, and it turns out D performs well.

>

C++ is very difficult to beat for things like embedded, simulation and computer graphics.

There is a good reason to start a new codebase in C++, and that is that the year is 2007 and you are into Transformers - the movie, it just came out.

No one that is born after Crazy Frog will ever want to maintain code in a language that deliberately ignores the developer experience, and the history went in the other direction - making things easier.
Of course the consultants will have lots of grey goo work to rejoice and loose sanity on.

>

Faust is very difficult to beat for prototyping LTI signal processing.
Yeah. But it isn't particularly useful.
I've never anyone from the audio industry say they use Faust, and I think DSP DSLs aren't a good idea. DSP is not even 1/3 of the products people use. (You will have noticed that Faust it can be implemented at CTFE in D even, so you can save writing a compiler and a backend, and get a D-man tattoo instead).

May 06, 2022

On Friday, 6 May 2022 at 12:45:40 UTC, Guillaume Piolat wrote:

>

https://github.com/p0nce/DIID

Good project, we should integrate kinds of resources in the forum/somewhere.
Serve for D's novices or veterans.

May 06, 2022

On Friday, 6 May 2022 at 14:06:30 UTC, zjh wrote:

>

On Friday, 6 May 2022 at 12:45:40 UTC, Guillaume Piolat wrote:

>

https://github.com/p0nce/DIID

Good project, we should integrate kinds of resources in the forum/somewhere.
Serve for D's novices or veterans.

Thanks

May 06, 2022

On Friday, 6 May 2022 at 13:23:30 UTC, max haughton wrote:

>

Amaury and I are trying to bring SDC back into the folds. Feel free to contribute.

So, we have four good D compilers? but how to level up our libraries ecology?
We should give up the idea that language is the most important, but ecology is the most important .
Look at 'Python', Maybe we should learn from them.