Why Go and Rust are not competitors

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed.

This short article explains why I think Go and Rust are not competitors.

Why people think Go and Rust are competing relationships

Before explaining why I think Go and Rust are not competitors, I want to explain why the problem is being raised.

  • Rust and Go publish at a similar time. Go has been conceived since 2007 and is open in November 2009. Rust was released in 2010, only a few months late, although Graydon (Graydon) stated that Rust might have been conceived earlier. In any case, the two languages have the nobility of their predecessors. For Go, there are Hoare (Hall) Csp,alef and Pike (Parker) Newsqueak, while Rust is one of the ML family's languages.

  • Rust and Go are known as memory-safe. While this is true, both languages do not allow unsafe memory access, and more importantly, the world cannot tolerate a new language that is not memory-safe. The fact is that both the Go and Rust languages, after decades of evidence that the real world, programmers are generally not safe to manually manage memory.

  • Also a young language, the 1.0 version of Go was released in 2012, while Rust's 1.0 version was earlier this year (2015), which meant they were both ambitious and motivated to occupy the current programming language market.

These signs can explain why we see Rust and Go as competitive relationships. Looking at it, it's really hard to find their other connections, and they happen too casually.

one
translated 1 weeks ago

2 Human top

top   good translation!

In summary, I think there are some reasons why there is no competition between go and Rust:

  • Rust focuses on the abstraction of "free of charge" 。 If you're familiar with this, it means you've been using C + + for many years. Go to ensure the simplicity and orthogonality of the language, many of the underlying operations are deferred to the runtime.

  • Rust is designed specifically for interoperability with the C language, and rust code is typically found in other large programs that are called by the C language. Go uses CGO to interact with the language, but this is not the primary reason why go is designed.

  • Go takes concurrency as the first concern. Not that there is no concurrency framework like Go in rust, but rust leaves this part to the programmer.

  • Go focuses on the programmer's coding efficiency, which can be seen from across the whole software development lifecycle . Rust, as the top-level code for LLVM, has many similar practices.

Finlay
Translated 1 weeks ago

1 people top

top   Good translation!

Rust and Go are not competitors

Go focuses on improving the productivity of large team developers, following the strict application simplicity principle (rigid application of simplicity)-rejecting complexity and ambiguity.

Rust is geared toward programmers who cannot tolerate unsafe memory access or runtime overhead (go is not tolerated, I think no one wants to learn a new, unsafe programming language)-which is unsafe, or the idea of bringing (extra) overhead is rejected, at least out of the core language.

Rust competes with C + + and D programming languages, and programmers of this type of language tend to accept more complex syntax and semantics (perhaps with a higher readability cost-note that it should be more difficult to read the meaning of code) in exchange for maximum performance. For example, MCU, AAA game engine, and Web rendering engine (and other application areas).

Go has dominated the Internet 2.0 company market since 2006, and they use a lot of (outgrown) Ruby, Python, and node. JS (V8) languages, with no patience for deployment costs <> high JVM-based language.

GX Old seedling
Translated 4 days ago

2 Person top

top translation of good Oh!

All translations in this article are for learning and communication purposes only, please be sure to indicate the translator, source, and link to this article.
Our translation work in accordance with the CC agreement, if our work has violated your rights and interests, please contact us promptly

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.