|
|
|
|
|
by VoltairePunk
2104 days ago
|
|
Coming from a company which is switching from Golang to Rust, I can definately say that this article is pretty true and needs to be taken into account: https://blog.discord.com/why-discord-is-switching-from-go-to... Even though it's "old", but back in July (2020) we could replicate this behavior. One main aspect of "why" we are swithcing to rust is that our project needs to handle large amounts of data (think > 15Gb in RAM). When you try to work with large data structures within RAM, the GC of golang goes a little nuts. There's many different memory issues that we found, for example, when we put a larger load on our project, there's allocations happening, but Golang won't deallocate or release the memory to the OS unless the load goes down. But if you don't have to work with large data structures and need a speedy multithreaded solution, then you can definately go with golang. I would also like to point out that it's not very accurate to say that Rust has moderate C++ flavor. It has C flavor with some "differences" when it comes to variables and their lifetimes as well as some different minor flavors of other languages. For example, it has channels, which work in a very similar way as in golang. It has stream (functional) programming to be done as easy as with Java.
The biggest issue with Rust is that there's no well established libraries to work with and sometimes you get major incompatibilities or the issue when you have to so many different 3rd party libraries, that it becomes unconfortable to manage. |
|