3 ms·
There are tradeoffs with all languages. C++ avoids the GC, but you then have to make sure you know how to avoid the common pitfalls of that language. We use C+
by PeterCorless 7y ago
There are tradeoffs with all languages. C++ avoids the GC, but you then have to make sure you know how to avoid the common pitfalls of that language.
We use C++ at Scylla (saw that we got a shout-out in the blog! Woot!) but it's not like there isn't a whole industry about writing blogs avoiding C++ pitfalls.
C++ pitfalls through the years...
• https://www.horstmann.com/cpp/pitfalls.html https://www.horstmann.com/cpp/pitfalls.html (1997)
• https://stackoverflow.com/questions/30373/what-c-pitfalls-should-i-avoid https://stackoverflow.com/questions/30373/what-c-pitfalls-sh... (2008)
• http://blog.davidecoppola.com/2013/09/cpp-pitfalls/ http://blog.davidecoppola.com/2013/09/cpp-pitfalls/ (2013)
• https://www.typemock.com/pitfalls-c/ https://www.typemock.com/pitfalls-c/ (2018)
I am not saying any of these (Go, Rust, C++, or even Java) are "right" or "wrong" per se, because that determination is situational. Are you trying to optimize for performance, for code safety, for taking advantage of specific OS hooks, or oppositely, to be generically deployable across OSes, or for ease of development? For the devs at Scylla, the core DB code is C++. Some of our drivers and utilities are Golang (like our shard aware driver). There's also a Cassandra Rust driver — it'd be sweet if someone wants to make it shard-aware for Scylla!
- xb95 7y ago(Discord infra person here.) Actually we didn't update the reference to Cassandra in the article -- the read states workload is now on Scylla too, as of last week. ;) We'll be writing up a blog post on our migration with Scylla at some point in the next few months, but we've been super happy with it. I replaced our TokuMX cluster with it and it's faster, more reliable, _and_ cheaper (including the support contract). Pretty great for us.
- PeterCorless 7y agoWoot! Go you! (Or Rust you! Whichever you prefer!)
- mathw 7y agoWhat a glorious combination of things! What a shame faster, more reliable and cheaper don't usually go together, but that's the challenge all developers face...