Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
What I’ve learned creating a large C++ project (medium.com/monoclechris)
10 points by monsecchris on Oct 15, 2022 | hide | past | favorite | 5 comments


"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.


> Monocle now has more than 300 dependencies.

That's a lot for C++. I can imagine the giant amount of time consumed by managing those. Glad to hear vcpkg is worthwhile with that many packages.


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.


Too bad, it's on medium and they seem to be blocking legit VPN connections.




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

Search: