"Maintaining cross platform compatibility has helped prevent potential bugs because each architecture and compiler set expose different sets of issues. The tools available for each platform differ enough that it is worthwhile to try and maintain cross compatibility."
I agree, I'm always surprised by this. I develop primarily on Linux, and I always enable all compiler warnings, treat warnings as errors, use static analysis; I keep my projects at a state where not a single issue at any level is pointed out. Then I'll switch over to Windows and load up the same project in Visual Studio and it'll start reporting warnings for new, valid, issues that were completely missed before.
I’m curious to know why the author chose C++, and what other options if any they might have considered. Is there something here that requires low level high performance, or is it just that’s the language the author knows?
I can see on the website “Our software can simultaneously record and playback thousands of 1080p and 4k cameras per server.” which is part of the answer.
vcpkg is the best thing that's happened to C++ since C++11. As long as it supports all the platforms you need, it takes all the pain out of dependency management, even if you need to maintain an overlay with a couple extra packages.
I agree, I'm always surprised by this. I develop primarily on Linux, and I always enable all compiler warnings, treat warnings as errors, use static analysis; I keep my projects at a state where not a single issue at any level is pointed out. Then I'll switch over to Windows and load up the same project in Visual Studio and it'll start reporting warnings for new, valid, issues that were completely missed before.