rust VS go

Compare rust vs go and see what are their differences.

rust

Rust language bindings for TensorFlow (by tensorflow)

go

The Go programming language (by golang)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
rust go
5 863
3,466 94,717
2.8% 2.1%
8.8 10.0
9 days ago 4 days ago
Rust Go
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

rust

Posts with mentions or reviews of rust. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-19.

go

Posts with mentions or reviews of go. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-25.
  • Is it ok to shadow the err variable?
    1 project | reddit.com/r/golang | 27 Jan 2022
    Unfortunately it was rejected. I'm not sure what it's successor is. (meta issue, front runner)
  • In defense of complicated programming languages
    2 projects | news.ycombinator.com | 25 Jan 2022
    > There is something in video games called minmaxing, which is where you maximize one attribute at the expense of all of the others. For me C++, and now Rust, feel like they are guilty of this with their weight on zero-cost abstractions.

    > I think it was literally just meant to be the bare minimum to try to solve the most important parts of the problem, and at that it succeeds.

    In other words, it's the cost effectiveness of a language feature. You want features to provide as much value for as little cost as possible. This is what Go's going for; to paraphrase Russ Cox - "If a feature is not clearly above the bar, it's below it." [1].

    > Just as reducing programming language complexity doesn’t remove it, but only moves it around, removing runtime cost doesn’t remove it either. And the problem here isn’t that compile time isn’t a better time than runtime; it’s the hidden costs that suck. Sure, maybe the compile times in Rust will improve, and maybe it’s not even that big of a deal. But every little feature the language has puts some additional stress on the ecosystem. The language server has to bear this load, for example.

    The worst hidden cost that's often missed is the impact on the programmer.

    Take Python's controversial walrus operator [2]. If you look at the reasoning and the examples, the change seems reasonable. But consider that once the feature gets implemented, every single Python programmer will have to learn what it does in order to be able to read others' code. Does this feature provide enough to justify this weight? Undoubtedly not. Of course, it got implemented anyway, because the impact of making the code slightly more readable in some cases is clearly visible, but the cost incurred on every single programmer's mind is not.

    This is how languages reach untenable levels of complexity. By the time you realize your language is getting complex you're 20 features in and it's too late to turn back. "A frog dropped in a pot of boiling water will jump out of the pot to save his own life. If the frog is put into cool water and slowly brought to a boil, he will remain there until he is cooked through."

    [1]: https://github.com/golang/go/discussions/47203#discussioncom...

    [2]: https://www.python.org/dev/peps/pep-0572/#abstract

  • Change Go beta's SDK location
    1 project | reddit.com/r/golang | 25 Jan 2022
    x/dl/version: installer shouldn't create a new subdirectory of $HOME #26520
  • proposal: constraints: move to x/exp for Go 1.18 · Issue #50792
    1 project | reddit.com/r/golang | 24 Jan 2022
  • Please help a noob understand this basic golang behavior
    1 project | reddit.com/r/golang | 24 Jan 2022
    This is described in detail at https://github.com/golang/go/wiki/CommonMistakes
  • GitHub - ledongthuc/goterators: A utility library that supports aggregate & transforms functions Go 1.18 with generic. Such as filter, map, reduce, find, exist
    2 projects | reddit.com/r/golang | 24 Jan 2022
    Such as common constraints package for generic, they are ready to start with after thinking and using Generic in period: https://github.com/golang/go/issues/50792
  • Anyone know where I can find discussions around generic methods?
    3 projects | reddit.com/r/golang | 23 Jan 2022
    https://github.com/golang/go/issues/50726 was recent and IIRC there were some more bugs related to this a while ago.
    3 projects | reddit.com/r/golang | 23 Jan 2022
    There seems to be a general misunderstanding in this thread, that this is about having additional type parameters on methods. It's not. That particular sentence refers to this issue, about having local type-declarations in generic functions. That's simply a bug, which is intended to get fixed by go 1.19.
    3 projects | reddit.com/r/golang | 23 Jan 2022
    This seems to be the most interesting issue.
  • Go is about to get a whole lot faster
    4 projects | reddit.com/r/programming | 23 Jan 2022
    Dispise the language seems a bit harsh, I just think the Go community makes a lot of weird design decisions. For the longest time generics and the try function were super obvious ways to improve the language but the community was hell bent against improving the language to maintain simplicity.

What are some alternatives?

When comparing rust and go you can also consider the following projects:

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. https://vlang.io

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

golang-developer-roadmap - Roadmap to becoming a Go developer in 2020

RxGo - Reactive Extensions for the Go language.

gin-vue-admin - 基于vite+vue3+gin搭建的开发基础平台(已完成setup语法糖版本),集成jwt鉴权,权限管理,动态路由,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器等开发必备功能,五分钟一套CURD前后端代码。

Weaviate - Weaviate is a cloud-native, modular, real-time vector search engine

Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

crystal - The Crystal Programming Language

sqlc - Generate type-safe code from SQL

asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more