On Saturday, 20 January 2024 at 15:25:35 UTC, Renato wrote:
On Saturday, 20 January 2024 at 14:14:10 UTC, Hipreme wrote:

- I have tried contributing to dub's project on parallelization, I waste 1 week trying that and could not get it working, so, I decided it would be a better use of my time into rewriting a completely new dub which would focus on being easy to read -- An example of that is how easily someone was able to integrate an experimental support to building C with it.



Could you expand on that? Perhaps someone else could continue your work.

While I understand you preferred to write your own system (we all probably prefer greenfield development, after all that means it's fully yours, and you can fully understand it, own it, and change it as you see fit which is a very attractive proposition), I'm afraid your project will only be alive while you have interest in maintaining it (I've seen similar projects in other languages before, often they have one or two releases before the author moves on to the next greenfield project) - unless you manage to create an active community around it, which is exceedingly difficult and might be more than you're signing up for once a lot of people join in and start demanding features - while dub, even if it's so "buggy" as you claim, is the official tool everyone is likely to continue to use, and consequently improvements to it would be highly welcome.


I don't care if people actually use or not. Dub is not easy to understand, not easy to maintain, it is less performant than redub and the main reason for redub even exist was because my project (Hipreme Engine) needed a better solution. Reggae is also an official tool which no one uses. RDMD is an official solution that should be deprecated since the existence of RUND.

Also, contributing to an official project would only slow down my progress, which for me, is not negotiable. There are a bunch of things which I've done because D doesn't move at the same speed as me, such as:

- My WASM runtime
- Make the runtime generic enough to support an unrelated platform (PSVita) - My solution to cross compilation which is able to automatically identify what is missing on an user setup for being able to release to non standard D platforms. - redub (the slow release of the flags `--deep` and `--recipe` made me stall for quite a lot more of time than I expected), the fully stateful and confuse code only made a lot of behaviors in dub that does not scale well. - My own standard library which does not depend on C runtime, which makes it a lot more portable since it becomes D-only code. - The existence of `objc_meta` which gave an easy and performant solution for calling Objective-C functions.


Dub needs a rewrite, but it can't change, because they are caring about breaking dub as a library, even though versioning exists only for that. I have a lot to work right now and can't give more time to things that aren't an issue for me. Nonetheless, if this project suits you well, there's no reason not to use it.

Reply via email to