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.