Redub: A faster build system promising 90% compatibility with dub
Hipreme
msnmancini at hotmail.com
Sat Jan 20 15:56:36 UTC 2024
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.
More information about the Digitalmars-d-announce
mailing list