News for hackers. Stuff that matters.
Re:Cargo: predictable dependency management by dikaiosune on Thursday May 05, 2016 @01:38PM (#11638159)
I like many things about Rust, but Cargo alone is what initially got me started with it. I was in the process of setting up a fresh C++ project with vendored dependencies, and it was just an absolute nightmare. In contrast, it took me about 5 minutes to get a Rust project set up with comparable dependency complexity.
Re:Cargo: predictable dependency management by akhilcacharya on Thursday May 05, 2016 @01:59PM (#11638348)
Speaking of which, is there any good package management system for modern C/C++?
Re:Cargo: predictable dependency management by ingve on Thursday May 05, 2016 @02:48PM (#11638766)
Conan is the most promising one, they just released a new version:

http://blog.conan.io/2016/05/03/New-conan-release-0-9.html

Arne Mertz has a Vagrant box for people who want to experiment with a "4C" development environment (Clang, Cmake, Conan, Clion).

https://github.com/arnemertz/Xubuntu1604_DevBox

Re:Cargo: predictable dependency management by dikaiosune on Thursday May 05, 2016 @02:07PM (#11638421)
I've had biicode recommended to me (https://github.com/biicode/biicode), but I haven't tried it yet.

EDIT: Also worth noting that a common response I've heard to "I need a better manager for my dependencies" is "you have a system package manager for a reason."

Re:Cargo: predictable dependency management by McP on Thursday May 05, 2016 @02:20PM (#11638539)
What do they say when you reply "Windows"?
Re:Cargo: predictable dependency management by dikaiosune on Thursday May 05, 2016 @02:24PM (#11638568)
I think it goes without saying that those with that sort of response tend not to use Windows, and also often seem to assume that a perfectly in-order Linux/Unix install is the only way to build software.
Re:Cargo: predictable dependency management by FreeFull on Thursday May 05, 2016 @05:22PM (#11639751)
And also that you're fine with creating a package for any dependency that doesn't have one.
Re:Cargo: predictable dependency management by dikaiosune on Thursday May 05, 2016 @05:34PM (#11639825)
Creating, maintaining, shepherding through distro processes, etc. All so you can then eventually build your own code.
Re:Cargo: predictable dependency management by McP on Thursday May 05, 2016 @02:19PM (#11638528)
Conan seems to have appeared recently but I haven't yet tried it myself. https://www.conan.io/
Re:Cargo: predictable dependency management by fungos on Thursday May 05, 2016 @10:30PM (#11641288)
Even if it doesn't has too much support, I highly recommend fips: https://github.com/floooh/fips

I have been using it, adding some libs and even contributing some changes. You should really give it a try!

Re:Cargo: predictable dependency management by rsaarelm on Thursday May 05, 2016 @02:36PM (#11638662)
The Meson build system http://mesonbuild.com/ seems to have a package manager like dependency management system.
Re:Cargo: predictable dependency management by imron on Thursday May 05, 2016 @06:45PM (#11640254)
It's also very quick and easy to get projects up and running.

For *nix based platforms Meson is now my go to build manager for c++ projects.

Re:Cargo: predictable dependency management by boris on Thursday May 05, 2016 @04:35PM (#11639472)
Re:Cargo: predictable dependency management by qznc on Thursday May 05, 2016 @04:54PM (#11639598)
I understand that old languages like C++ or Java have problems providing a single package manager. It seems that newer languages have roughly equivalent services.

Are there any big differences between Cargo and Python/Go/D/Ruby/Javascript/etc?

Re:Cargo: predictable dependency management by haddr on Thursday May 05, 2016 @09:34PM (#11641091)
I wouldn't say Java has this problem. Look at Maven for instance. Then look back at Crates, you will notice how many common solutions they share.

On the other hand I see that Crates solves the problem of dependency when 2 different version of the same library are used across the project. Maven doesn't solve that and it's painful. However this seems a bigger problem that just a package manager I suppose.

Re:Cargo: predictable dependency management by mavelikara on Thursday May 05, 2016 @11:46PM (#11641548)
Java has Maven Repository. This can be use from within Ant (Ivy), Maven, Gradle, sbt etc.

Both Ruby and Python are almost as old, if not older than Java. JavaScript is only slightly younger.

Re:Cargo: predictable dependency management by tatterdemalion on Thursday May 05, 2016 @07:29PM (#11640504)
I find cargo easier to use than bundler or npm. Specifically I never deal with "environment hell" where some config hasn't been picked up and I'm pulling in the wrong version of a dependency or the language or whatever. This is partly because of the way cargo is designed, but its also helped a lot by the fact that Rust generates statically linked binaries in one build instead of being a continuous interpreter process.
Re:Cargo: predictable dependency management by steveklabnik on Thursday May 05, 2016 @04:59PM (#11639630)
It depends on how you define "big". Cargo is closest to Bundler + rubygems, but with some aspects of npm.
Re:Cargo: predictable dependency management by riffraff on Friday May 06, 2016 @01:03AM (#11641801)
notice that some of the really old ones (perl, tex) have had package managers for a really, really long time.

I think linux (*nix?) vs non-linux heritage might have something to do with it.