On February 23, Russ Cox (rsc), the core development team of the Go language, posted multiple tweets on social media, "rebuking" a blog post published by AWS officials a few days ago for being seriously misleading about Go.
It is reported that the AWS official blog published an article titled "Sustainability with Rust" on February 11, the author of the blog post is AWS Rust advocate and software engineer Shane Miller and AWS chief engineer Carl Lerche. In the article, they reviewed the development process of Rust language within AWS and a series of AWS products based on Rust, and analyzed and evaluated the highlights and advantages of the language.
There is nothing wrong with the idea of the analysis of this blog post itself, but when the author Shane Miller makes a comparison in the text, in order to highlight the efficiency and safety of Rust, he said that the Go language "is a garbage collection (GC) language. When objects are created and released, garbage The collector needs to stop the execution of the program and run the garbage collection process.".
Hearing such an evaluation, as the leader of the Go language development team, Russ Cox naturally couldn't sit still, so he came out to refute the "misleading" remarks.
In this AWS blog post, the author calls Rust a language that combines the performance and resource efficiency of systems programming languages like C with the memory safety of languages like Java, a language "built for open source projects" language. And revealed that "Rust will soon be the key to AWS' large-scale infrastructure development", and AWS is investing in Rust's sustainability, or will use this language to build sustainable and secure solutions.
In the paper, the authors also cite a previous study that implemented 10 benchmark problems in 27 different programming languages to verify the performance of each language in terms of execution time, energy consumption, and peak memory usage.
After comparing Rust with other languages such as C, Google's Go, and languages such as Lua, Python, Ruby, and older versions of Fortran, the final conclusion is: "C and Rust are more efficient than other languages. , the magnitude of the difference is astounding" -- 50% higher than Java and 98% higher than Python.
Subsequently, Miller emphasized that "Rust is not only about memory safety and reducing security flaws - it is a greener language than Python and Java". He said that Rust can provide the energy efficiency of C without the risk of undefined behavior, i.e. halving energy consumption without losing the benefits of memory safety.
To demonstrate this, Miller cites the performance of an application from cybersecurity firm Tenable — which was previously written in JavaScript but is now written in Rust. JavaScript took a hit, halving latency, 75% less CPU usage, and 95% less memory usage.”
Also, the popular messaging app Discord was originally built on Python, Google's Go, and Elixir, but has since been implemented in Rust.
At this time, Shane Miller suddenly changed the subject and took the Go language to "open the knife", calling it a "garbage collection (GC) language" evaluation, which also caused the "misunderstanding" at the beginning:
"Because Go is a garbage collected (GC) language, when objects are created and freed, the garbage collector often needs to stop the program's execution and run the garbage collection process. When the GC is running, the process cannot respond to requests, and at runtime You can see graphs of peaks and response times on the CPU."
In this regard, Russ Cox, the Go language development team, criticized: "AWS's comparison here is a serious misleading of Go."
According to Russ Cox, the AWS article compares the two by placing the data from the Go version with the Rust version after using the new data structures and more memory, and specifically circled "ms" and "µs" "Timescale. So, rsc says, it's either a misunderstanding of the original Discord post by AWS, or a blatant lie.
Subsequently, since the foreign media ZDNet also forwarded the above AWS "Sustainability with Rust" blog post, it also made it more necessary for Russ Cox to come forward to clarify the facts.
This also goes back to the reason why Russ Cox suddenly sent out multiple tweets on the 23rd to refute the incident.
On the 23rd, Russ Cox tweeted an article titled "Rust vs. Go: Why They're Better Together" saying:
“I wasn’t going to say anything, but since ZDNet has republished the AWS “Sustainability with Rust” blog post, a short thread about why that post is misleading (at best) about Go. ”
He said that he didn't want to say anything at first, but since ZDNet has retweeted AWS's "Sustainability with Rust" post, there is this short post ("Rust vs. Go: Why They're Better Together") to explain why the AWS article is (at best) misleading about Go.
He also said, "AWS's post does make some honest, fair comments about Rust, which makes it all the more regrettable that they include these misleading claims about Go." "
As Russ Cox has attached to the article "Rust vs. Go: Why They're Better Together" above, he emphasizes that "Personally, instead of reading people who pretend that Go vs. Rust is some kind of zero-sum game, For blog posts, I'd prefer to focus on the ways in which Go and Rust complement each other and work well together.
At present, the discussion on the topic on the Internet continues to rise, and many netizens and developers have poured into Russ Cox's tweet comment area to leave a message. Regarding the follow-up development of this topic, this site will also continue to pay attention. If you have any opinions on this topic, you are also welcome to leave a message in the comment area to interact.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。