DUB - call to arms
Anton Fediushin
fediushin.anton at yandex.com
Mon Apr 15 09:34:00 UTC 2019
I don't have much experience contributing to dub but I have
contributed to dub-registry in the past and must I say, it wasn't
a pleasant experience for me. Everything I'm writing in this post
is from a year ago, I am not sure what's the state of the
ecosystem now.
Contributing starts with setting up a local development
environment. For dub-registry it was awful to say the least. I
had to fix my local vibe-d source and some setup code while
making sure that I don't commit it to one of my frontend-related
branches.
Compilation of dub-registry on a laptop with just 4Gb RAM takes
ages and hangs up the whole system. A tiny edit in any diet
template caused them all to be parsed over and over again. I'd
like to remind you that I was focusing on frontend and user
integration therefore I had to recompile registry *many times*.
Imagine how much it slowed me down.
Other thing is, of course, technology that registry used. It was
ancient. I couldn't push the idea of adding a css preprocessor
like SASS to sort out the CSS anarchy we had through maintainers
who wanted to avoid any third-party dependencies for the sake of
simpler development. Yes, 1000-line CSS file which had styles for
the whole registry and had 0 useful documentation was kept. (I
wonder if it is still there lol)
After all the struggles I opened a PR. Usually it took a week or
two to get merged, bigger changes were hanging for an entire
month. This was so frustrating. I appreciate all of the
maintainers who provided their feedback and pointed out at my
obvious mistakes but we could have saved so much of each other's
time if dub-registry used somewhat modern technologies, had
documentation and maybe some guidelines.
Later dub-registry has been split into the registry itself and
dub documentation. Yes, now simple PRs to dub had to have a
documentation PR to this new repository. They are slowing each
other down for very little benefit.
In conclusion, I will not support dub's further development. It
is a piece of software I saw so much potential in, but it failed
all of my expectations. It is not up to modern world's standards.
It slows down the whole community.
I totally agree with people who see the only solution to this
problem in a complete rewrite of dub. My only addition is that
registry has to be rewritten as well, now using modern
technologies. There is no shame if it will be written in
JavaScript or whatever. D is not the right tool for that
particular job.
Best regards,
Anton
More information about the Digitalmars-d
mailing list