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