I think Rust is a different language from its design. I think it should be placed along the lines of C and C++ because there is no garbage collection. Why do people compare to Rust? I think the Go language should be compared to Node or Kotlin.
Okay, we all know that Rust is theoretically faster, even if only by a little bit. That's great, but it's not actually my main consideration.
For those with extensive experience with Rust vs. Go/JVM-based languages, have you noticed any major differences in dev speed + code safety? If we want to focus on a specific category of apps, let's say web services.
Videos
I am not a pro developer, but I code some small tools for myself time to time, in JS. But I hate how much memory and disk space node or even bun take up. So, I was thinking of learning a simple binary compiled language, both to just learn more programming and to use it for my little personal projects. From what I've read so far, everybody seem to say that Go is the easiest to learn between C, C++, Rust, and it's fairly fast and optimized. What would you say? Is that true? What would you recommend me learn?
Please don’t say too simple answers like « I prefer it’s libraries » « it’s easier » or « it’s enough for me ».
Rust is regarded as a faster and safer language at the cost of productivity / complexity. Is it just that ?
Do you think Go is more a Java/python replacement or can be optimized as well to run very fast (close to Rust/C) ? Maybe is it as fast in I/O which would be the bottleneck in most scenarios ?
I’m doing my first Go program (for GCP) but I’m interested in Rust as well and I’d like pretty detailed opinions from both sides 🙂
(It can ofc be very well « it’s enough for me » btw, everyone has preferences but then some answers could just be a bit pointless if you see what I mean). I’m sure it’s a « yet another go vs rust » question and I apologize 😆
Hi!
I don't want to start another language war, so let me preface this by saying I love both Go and Rust like they are my own.
That out of the way: Do you have practical/real-world experience with the performance of Go, and the performance of Rust in the same setting?
How many people worked on the codebases? Which one is newer?
I'm asking because I've got a feeling that for smaller companies, Go would in practice (not in theory) outperform Rust because Rust's design encourages the use of inefficient patterns -- like cloning a bunch where you could theoretically pass a reference
hello im new here, i actually never used Go but im interested to learn more about it, i started using rust recently and i always see people compare Rust with Go and i don't know why? because as far as i know, Rust created the ownership system that differentiates it from any other language, which makes it special, so i wonder what is so special about Go that other languages don't have!
I currently write code in C#, using Console Application, Blazor, or WebForms
Question 1:
I'm looking at going into a low-level language. My interpretation of what a low-level language can actually do (like C++, Rust and GO) is quite limited. What can these kinds of languages offer which C# can't? Although I'm pretty much fluent in coding in C# I still struggle reading about the technical side of languages, so I'd prefer noob-friendly answers like C++ can make an application dedicated to cheese graters, whereas C# would be better creating an application dedicated to cheese.
Question 2:
I'm looking for a language that is still going to be big in 20 years - these three seem to be the biggest, Rust and GO being newer, but C++ still being in applications like Googlebot (backend) despite being ~40 years old. Which would be the better option for a newbie, and why?
Last week, I posted this benchmark in the rust and golang subreddit and the community made suggestions that sped up the code...So I thought it'd be fair to post it here to get some feedback.
I made a direct port of the go version for c# and it's not performing as expected. It's getting beat by dart, swift, f# etc. so there's obviously something wrong. Nothing sticks out to me though so I hope someone here can optimize it.
nb: This is my first time writing c#.
Repo: https://github.com/jinyus/related_post_gen
Hi, Recently, I’ve decided to learn a new programming language. However, I can’t decide between rust and go. Could you simply say what are the advantages of golang over rust?
It took me less than a week to become productive with Go. It took me three months with Rust. One of the hardest parts of learning Rust is not Rust itself but the Rust ecosystem. Rust’s std lib is much smaller than Go’s, which results on having to use many third party crates. It’s not uncommon to have dozens of third party crates in a Rust project vs a couple in a comparable Go project.
I found this to be a very frustrating part of learning Rust. What third party crates should I use and which can I trust. Allot of cognitive overhead is sucked up making heads and tail of a fragmented ecosystem.
At the end of the day, both languages are very good but they are designed for different purposes. I’d recommend learning Go and then Rust.
They are quite frequently used for vastly different reasons.
Both Go and Rust compile to native code. They can both be extremely fast and performant.
Go has a smaller base language syntax. Its focus is on speed of compilation and speed of development, readability/maintainability of code, and it has language features specific for safe concurrency. It's garbage-collected, so you don't have to worry about memory management at all. It has rich support for web-based programming tasks built into the standard library.
Rust has a large and robust language with a much deeper (read that as "more useful" or "more cluttered", depending on your needs) syntax. Its focus is on non-garbage-collected memory safety and speed of code execution. Compile times can be MUCH slower than Go, but depending on what you're doing execution speed can be MUCH faster, especially if you are calling any standard C/C++ libraries.
If you're looking to do standard business or web apps, want a simple to learn language with incredibly fast development cycles, and have no need to call C/C++ libraries (or don't care about a few hundred millisecond call time), I'd say pick Go.
If you want to do game development or embedded systems development, care about compiled code size, and must squeeze every possible drop of performance out of the hardware while not caring that compilation times can end up higher than C++ code, then choose Rust.
Hi everyone,
I already have a good foundation in Python and I’m preparing early for Google Summer of Code–style open-source contributions.
I want to invest time in ONE additional language that:
Is commonly used in active open-source projects
Allows faster onboarding and meaningful contributions
Is useful long-term beyond just interviews
I’m considering Go, Rust, and Java.
I’d really appreciate advice from developers who have contributed to open source or mentored students: Which language has helped you contribute most effectively and why?
Hi guys,
I am Python dev for almost 3 years. Mainly working in data engineering field. As I am self taught developer, and Python is my first language I want to expand my skills, and knowledge.
Two languages that I am considering is Rust and Go. I saw some threads about Rust vs Go, but most of them were regarding finding job in given language. I am totally not interested in learning for job, I am interested in learning to become better developer.
And I would love to get some advices, which language have a lot of concepts that I can't find in Python, and which will mabe change my perspective and in the end will make me better dev (also in Python)
What's your opinions ? Maybe there is a better candidate for 2nd language to expand skills.
Stumbled upon this post on https://lobste.rs/
Any thoughts on the opinion that Go is better than Rust for (i) networked server side applications and (ii) enterprise scale applications ?
P.S: I am not the author of this blog post.
I’m right in the learning process for Rust so please forgive my warlike header :) Charter 12 of the book done and I think I understood lifetimes now, after reading the 10.3 about 3 times… The sentence „…Rather, we’re specifying that the borrow checker should reject any values that don’t adhere to these constraints…“ made it. Ahh you’r not specifying any lifetime, but enforcing the refs to have a specific lifetime. Got it.
Ok to my question. Right now we are building a relative large web project at work in go. I do the backend mainly. I am very interested in Rust, on the one hand, because I like to learn new stuff, and on the other hand, because I’v been reading a lot about the safety of Rust. So I started to rewrite the backend also in Rust in my free time, just to have a better understanding of the language and a living example I can compare to. Works great till now. I have the webserver up and running with actix, jwt is in, sqlx for database and of course serde for json.
What I learned till now in Rust is superb. Errorhandling with ?, unwarp/expected, Enums!!!, structs with initial values (nice nice), fully integrated generics and so on. All really nice features. But till now, the only security advantage I see is Null-Pointer, the match expression, that forces you to handle all cases, and the handling for maps and slices which work much cleaner with the borrow concept and can be a nightmare in go. Go has no dangling pointers, so the borrow and lifetime concept is just not needed.
So, what big security features do I miss? I know I am only half the book, but it seems like the whole borrow and lifetime concept, which makes the language really safe (compared to C++ or C), is owed to the non-GC feature, but if one is OK with a GC, there do not seem to be that much advantages over go, security wise.
As written, don’t take this as a flame post. I’m neither a Go fanboy nor a Rust hater. And our next project will definitely be in Rust, I’m luckily in a position where I can decide that. I’m just interested in your opinion, since you for sure have much more expirience in rust than I do.