Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I did, about a year ago. The usability was questionable.

Their main workflow appears to be, all developers use that thing, everyone building packages from source code and using their own binaries. For large dependencies that’s a large waste of time if more than 1 person is working on the software. It’s possible to export built libraries as nuget packages, but these are tricky to consume.

Another thing, these ports (where they applying patches to third party open-source code to squeeze them into vcpkg) are fragile. I remember cases when packages didn’t build, either at all, or subject to conditions (half of what I tried was broken when I only wanted release configurations).



I believe that's a recent development but vcpkg has decent binary caching now: https://github.com/microsoft/vcpkg/blob/master/docs/users/bi....

Edit: they also have an experimental support for registries since February of this year: https://github.com/microsoft/vcpkg/blob/master/docs/specific...


Without a standard ABI, having c++ binary packages is a huge pain, requiring multiple artifacts for every permutation of compiler, os, and platform. It's less painful today than in the past, simply due to fewer compilers, OSes, and platforms, but it is still a problem.


A common ABI doesn't save anything as we still need to build for ARM, and x86 (MIPS, RISCV are also out there and may be important to you). Those processors all have different generations, it might be worth having a build for each variant of your CPUs. Once you take care of that different ABIs are just a trivial extension. RPM and .deb have been able to handle this for years.


All developers on that team used 1 compiler (VC++ 2017 at that time), one OS (Windows 10), one target platform (AMD64). Compiler/linker settings are shared across developers.

I wanted vcpkg to export just the required artifacts (headers, DLLs, static libraries, and debug symbols), so only 1 person on the team (me) is wasting time building these third-party libraries. The team is remote, upload/download size needs to be reasonable.


I have been using it since at least 2018 to create NuGet packages of dependencies. You can also do zip and others.


> For large dependencies that’s a large waste of time if more than 1 person is working on the software.

but all other hype languages do this and you don't hear people complaining


I surely do, that is one reason that I don't play with Rust as much as I would like.

I am not buying new hardware for faster Rust builds, when it is perfectly fine for my C++ workloads.

The main difference is that for C++ I never compile third party libraries, always get them as binary.


Maybe a difference is that C++ can be very, very slow to build. And C++20 will likely results in even longer build time now that you have concepts and can have exceptions and allocations in a constexpr context.


What's a "hype language"?


Rust, Go, Julia, Swift ?


What makes them hype languages? Oh, so like new languages?


> What makes them hype languages?

being high in the chart here: https://insights.stackoverflow.com/survey/2020#technology-mo...


Ah, so hype == love.


hyped pretty much means loved new thing, no ?


I rarely hear it except in a pejorative sense.




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

Search: