3 ms·
The tooling is just arriving to enable as rapid a development cycle in C++ as with managed languages. I was having multiple issues, only optimizing portions of
by bsenftner 10y ago
The tooling is just arriving to enable as rapid a development cycle in C++ as with managed languages. I was having multiple issues, only optimizing portions of a traditional (W/L)AMP stack or node.js solution with C/C++ components until I found Restbed (https://github.com/Corvusoft/restbed https://github.com/Corvusoft/restbed). Now I can create a complete self-contained REST API server in a 100K executable with no (W/L)AMP stack or other infrastructure required. Compiling C++ is fast, and unlike the typical (W/L)AMP, node.js, or other "conventional web stack" one is not compiling and/or executing through gigs of data and executable - the re-compile and execute/debug cycle in C++ for Restbed is instantaneous on modern hardware, and the execution speed runs circles around any managed language.
Such a development solution is faster, consumes exponentially fewer resources, and is a great idea for much more than startups. You just need good C++ developers that also know the web - a bit rare right now, but the savings are too real for the situation to remain that way.
- mschuster91 10y agoThanks for the hint - I'll definitely have a look at it. Compile it statically and you can run it on a bare Linux kernel (or on a container) without any dependency... reminds me a bit of Go. Do you happen to know if there's a benchmark comparison (CPU usage, RAM usage, RPS) against nodejs and php (the code style of the example reminds me of Silex)?
- devonkim 10y agoThe other part of the equation is that good developers let alone good C++ developers are in very short supply in a market already dying of thirst for merely competent developers. Most large companies that need software simply will never be able to attract them, so you have to throw your net wider and accept the hegemony of Java, Python, Ruby, and Javascript. I think labor economics fundamentally wins in the current market over any technical factors until we start approaching large scale systems by which time, ironically, the costs of high-overhead, low-LOC software infrastructure are far too great and you're like Facebook drowning in piles and piles of legacy code that people are scared to really tear apart just to save maybe 20% on the number of servers while still making hiring even harder. Furthermore, a pet dating app founder doesn't really have any benefit picking C/C++ over Python, Node.js, etc. unless they are so under-funded they're trying to save $300 / mo on hosting costs in which case they can't even begin to think about paying someone in the first place. By the time you start hitting $2000 / mo in infrastructure costs where a solid C/C++ core on even AWS you'll likely be bringing in enough users that you could conceivably raise more funding anyway. I'm totally a fan of writing C/C++ for modern software but if I'm in the driver's seat of a company I really can't expect to be lucky enough to find someone that knows what they're doing with modern C/C++ in that market. Heck, even in the super competitive yet lower-pay games industry most programmers aren't on C++11 or C++14 last I heard, so they'd still have to learn new stuff if I hired them for a random web start-up or big company.