HN user

Cogitri

16 karma
Posts0
Comments11
View on HN
No posts found.

Yes, every crate using a different versions of their dependencies involves a lot more work for distros, especially when a crate uses a -sys crate (e.g. libgit2-sys) and libgit2-sys does an API break. Now every crate that uses libgit2-sys in the repo manually needs its dependencies updated, which is a rather time consuming process (especially if the bindings in libgit2-sys are only built against some random git version).

I've been using Rust for a year or so and while it's very nice once you get used to it I recently started working in D since I feel _so_ much more productive in it thanks to the GC while it still feels powerful and is fast where it matters (you can avoid the GC at performance critical places). The lack of libraries is a little annoying at times but thanks to dstep it's somewhat easy to use C stuff.

I use VSCode with the excellent Code-D for my IDE needs and use both dub (mainly for development) and meson (for distros) as build systems for my projects. Dub is nice for development since it supports stuff like unittest coverage out of the box, but meson is kind of a requirement when you want to ship your stuff to distros, has better support for customisation and can do lots of fancy stuff (e.g. configure files)