From where I'm standing, C++ package management is already quite nicely solved by what we call package managers in the linux world. You know, portage, aptitude, etc.
They are hacks that paper over the lack of good package management. Plus they are too much extra work, and OS-specific. No build system integrates with them as far as I know.
I think what people want is something like go, where you add a single line to your code and it magically downloads and compiles the referenced library. C++ doesn't have anything like that (and I doubt it ever will to be honest).
> I think what people want is something like go, where you add a single line to your code and it magically downloads and compiles the referenced library.
That's all well and good up to a point - but large production systems need repeatable builds that do not depend on the developers OS version or patch level. Eventually you have to vendor every dependency.
This is what is called API and ABI stability. Most well-known C and C++ libraries have been API and ABI stable for years.
In practice, this hasn't been a problem for my C++ projects for years, except on OS X where there have been too many changes in a couple of years (gcc -> gcc-llvm -> clang, libstdc++ -> libc++).
But Linux is used by a vastly larger percentage of C++ programers.
As an amateur, I've found kdenlive and audacity provide decent video and audio editing on Linux. Professionals use Mac.
Typically installing Linux from scratch has involved less fiddling with drivers than installing windows from scratch on an empty laptop for a while now.
Gaming is a fair point, but even that might be changing with Valves efforts.
I use Windows, Mac and Linux each, they all have their advantages, but for serious software development Linux is ahead of MacOsX and both are way ahead of Windows.
> Typically installing Linux from scratch has involved less fiddling with drivers than installing windows from scratch on an empty laptop for a while now.
Windows 8 has worked out of the box on every configuration I've tried, with the caveat that it installs non up to date drivers (e.g. High end graphics cards). My experience with Linux (Ubuntu 15.04) is that the little use peripherals I have don't work at all ( I've a Bluetooth usb adapter and a usb capture card that both are plug and play on windows vista onwards but I've yet to find working drivers on Linux for).
Linux desktop use may hover at a few percent. But once you look beyond the desktop and to embedded and server use the percentage is far far higher.
And personally, as a Linux user since ~1995, I'd say that Linux can work quite well for all the things you mention ;-)
Perhaps you're doing it wrong? Your cross-platform OS skills doesn't sound very strong. Maybe should practice some more in the different ways various OS work.
Its funny how strong the ideological stance exists among programmers.
Any comment making fun of windows always get upvoted even if its just anecdotal. My experience is also anecdotal and needs to be taken just a data point. Linux users seem to not be able to stomach any constructive criticism.
I tried using linux for a long time - the problem is life got in the way. I need to provide lab reports and do mathematics.
Linux is a hassle for any non-programmer. Maybe when I get a decent laptop like DELL XPS that can run linux I will give it another try.
For now though I am having to stick to a single ultrabook for various reason and linux is not friendly to new-comers.
I dont understand why you cant make lab reports and do mathematics on Linux? Serious scientific papers are written using Latex, not Microsoft Word. And what math software doesnt run on Linux?
Serious scientific papers are written using Latex, not Microsoft Word
You'd be surprised. I know labs publishing multiple high impact papers pretty much each year and then some more less high impact papers and they all use Word. Also PowerPoint for posters. Probably not the best tools for the job, but I see that often in research.