-4 karma · joined January 28, 2020
Of course, repeatedly allocating and freeing is poor for performance. Cache/pre-allocate when you can. This goes for managed languages too.
The main argument here is that native languages let you get the most out of your CPU if you want, whereas with the JVM you're probably stuck unless you use JNI, in which case why not just go straight to native?
As for algorithms, I honestly don't know what you mean. They're all documented online with respective big-O running times[1]. If you're talking about making unintended copies of things, then yes, C++ does expect you to know what's going on... it's the whole point of the language. If that's too much for you then don't use it, but that doesn't make it a bad language (I'm not denying it has some hair-pulling moments) Use std::move() when appropriate.
[1] https://en.cppreference.com/w/cpp/algorithm/sort (see 'Complexity' section.
Rust is certainly interesting and it's on my radar. I wonder though, when it comes to having it in use in anger if its guarantees turn out to be over sold, just like the JVM's safety claims were. Time will tell.
Edit: I tend to focus on comapring against the JVM because pretty much any framework you use on The Cloud is JVM based. I'm of the opinion that there are cost savings to be had if these were ported to more appropriate languages, hence the Cassandra vs Scylla comparison. The money saved was 'noticeable'.
[1] https://github.com/LMAX-Exchange/disruptor [2] http://mishadoff.com/blog/java-magic-part-4-sun-dot-misc-dot...
Correct me if I'm wrong, but I doubt you've ever written a program in modern C++?
As for having more time to write a fast program... that's funny. If you want a fast program on something JVM based you're pretty much going to be spending the majority of your time writing things in a way where the GC plays as little role as possible.
As for distro versioning... surely you only get the user-land package versions, and the kernel is still the version of your main OS?
ZeroMQ certainly isn't perfect, for example there's no way to tell if a message was successfully written to a PUB socket, or if it was dropped (just one minor issue)
https://stackoverflow.com/questions/13891682/detect-dropped-...
Anyway, This is digressing from the main topic
YouTube is a platform designed around showing video ads to targeted audiences. In order to show those ads they need to allow people to upload user generated content. This content needs to be 'brand safe', i.e. it cannot be content that advertisers don't want to be associated with.
'Content' is more than just the video itself, comments are part of this.
If an Easily Offended Entity, in this instance 'China', sees an ad from AdvertiserX appearing on content they deem offensive they can kick up a stink about this, this is especially true in China where nationalism is extremely strong. Western brands have a long history of apologising to China over minor things, they really cannot risk fervent nationalism from damaging their balance sheet either through boycotts or having authorities turning a blind eye to counterfeiting.
So YouTube will remove this content, not because they're under the thumb of China, but because advertisers call the shots.
While the tone of the covid model scrutiny leaves a lot to be desired it is understandable seeing as how the results are affecting the entire world. The situation is unprecedented.
For others, it was worrisome because it made code easier to compile, and rightly so. If it complies it doesn't mean it's correct.
I'm not sure how legally enforceable that would be. I wonder if the Bosman ruling would make that move unlawful.