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.