Hacker News new | past | comments | ask | show | jobs | submit login

D does have a package manager named dub, it works well.

https://code.dlang.org/




> it works well

it ... works

That's as much as I think can be said for it. Dub is garbage. It's too complicated, too rigid, and it does too little. It's also slow for larger projects because it doesn't do incremental builds.


Is the lack of incremental compilation aproblem with dub or with D compiler in general?


It's a problem with dub. The D compiler operates basically exactly like a C compiler would as far as I'm aware.

Note that in most cases an incremental build isn't really required for D because for moderately complex projects you're often limited by linking speed, not compiling speed.


Both. Incremental compilation is possible to an extent, and reggae[0] does it. However, due to the semantics of d imports and templates, compiling a module will require at least cursory parsing and semantic analysis of all the modules it imports. Meaning that for a binary with a single entry point, modifying pretty much any module will require recompilation of the top-level module, which means there's a certain degree of incrementality you can never reach.

0. https://github.com/atilaneves/reggae


dub does incremental builds.


On a per-file basis? Afaik it works with package granularity, so if you change one line of a package, you're SOL.


Per-package translation unit are faster than per-file translation units.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: