Golang vs. Rust: Which is Better?

Golang vs. Rust: Which is Better?

Code With Ryan

1 год назад

123,448 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

Jason Cunliffe
Jason Cunliffe - 03.09.2023 15:53

Wasm

Fun

Language Design Philosophy

Community

Learning & Teaching

Readability vs Writeability

??

Ответить
Krzyś Krzyś
Krzyś Krzyś - 31.08.2023 15:10

"Compiler wil beat you into submission until your code is correct."
---
LMAO You made my day...

Ответить
Keon Pourboghrat
Keon Pourboghrat - 29.08.2023 21:51

Go, get out of here

Ответить
G T
G T - 28.08.2023 18:12

Fantastic comparison. Thanks

Ответить
(defn life())
(defn life()) - 28.08.2023 02:58

CVEs.

Nobody wants to talk about the CVEs

Ответить
Vitaly Ryabchich
Vitaly Ryabchich - 19.08.2023 22:55

different languages for different purposes . Like why ppl asking it😭

Ответить
Germain Le Chapelain
Germain Le Chapelain - 05.08.2023 23:14

You got me at `there is one that's gotta be better than the other' :D

Ответить
Hyper
Hyper - 05.08.2023 03:57

Your channel is refreshing, you look at things from a very chill point of view, so tired of the infinite number of zealots in the field...I'm 6 years in and I'm ready for retirement and to grow potatoes or something

Ответить
Mehrdad Qasemkhani
Mehrdad Qasemkhani - 02.08.2023 01:56

noGC is a great feature and also the main reason to build Rust!!!!

Ответить
Tony
Tony - 31.07.2023 06:56

Both suffer the same problem - they are solutions to problems 99% of developers don't have. Cost/benefit always wins.

Ответить
Dominik KOBENA
Dominik KOBENA - 29.07.2023 21:24

Great video Bravo Thanks bro

Ответить
Harsh Buddhdev
Harsh Buddhdev - 29.07.2023 06:59

The best vid ever.

Ответить
salih bozkaya
salih bozkaya - 21.07.2023 01:38

It’s an another bullshit channel that they doing f*cking meaningless comparisons

Ответить
György Kiss
György Kiss - 20.07.2023 18:11

You forgot the most important metric: "Just because I like to more than the other." - Which is the most often used metric for choosing a technology.

Ответить
Nar
Nar - 12.07.2023 10:37

I seriously don't get all the toxicity with the "X is better than X". At the end of the day that random internet stranger who been dogging you to use X because you're using a shitty language isn't paying your bills.

Ответить
Stephen Paek
Stephen Paek - 10.07.2023 18:31

One of the best, concise, balanced perspectives

Ответить
k98killer
k98killer - 10.07.2023 17:31

Go is the language I had hoped C would be back when I was 12. R*st is the language I would choose over C++ today. (This comment is not endorsed or affiliated with The Foundation. Please don't sue me.)

Ответить
joshi1q2w3e
joshi1q2w3e - 08.07.2023 09:15

Would Go be a good choice to start building applications in to become a full stack or backend developer?

I'm currently a data engineer using mostly SQL and Python. I'm learning JavaScript, HTML, CSS as well.

I hear a lot of people say learn C#, Java, or Node Js instead of Go. I was hoping to get the pros and cons of learning Go for Backend/Full-stack development from some experienced Go developers like yourself.

Ответить
__Darknite
__Darknite - 07.07.2023 06:40

Complementary? Sorry Go is just a fractal of bad design wrapped in brain dead mantra of "brutal pragmatism". Go dragged their heels over basic shit like generics that is everything you need to know about the language. It's designed specifically for the brain dead and assumes it's developers are stupid code monkey.

Ответить
Yaksher
Yaksher - 05.07.2023 06:17

I feel like separating productivity and safety is a bit is a bit of a mistake because... writing incorrect code quickly is still writing incorrect code. Yes, most projects aren't rocket firmware or airbags and can ship with some bugs and not the end of the world, but in the end, the more bugs you write, the more you have to fix and that takes time away from, y'know, writing code. Safety as a category can stand alone from productivity, but productivity has to take safety into account. There's a reason everybody likes TypeScript more than JavaScript and type annotations in Python for things used more than once.

It'll be difficult to compare because you need large projects to see the trade-offs between safety and speed of writing initially, but I wouldn't be so quick to say "Rust is slow to write." Because yes, I'll admit that while it's very fun to write, it's definitely going to be slower than some other languages, but that doesn't mean it's less productive over all.

That said, Rust's memory model is definitely a speed for complexity trade-off, not a safety for complexity trade-off, so it'd be interesting to see a language with Rust-style safety (including must-check errors, etc) but also a garbage collector. (And yes, I'm aware that functional languages have many of these features, but what I want is Rust with a garbage collector, not a functional programming language lol)

I would also disagree that Rust is somehow inherently a lower level language. It's a modern language with all the nice features of a high level language. The question is whether the increased difficulty of writing is worth the safety and performance and while the trade off can go either way, the latter two are a big plus anywhere. 

Lots of its safety guarantees are nice when writing a website with WASM or doing networking or whatever. Like, a server is one of those cases where safety is paramount because if your server has a bug and crashes, this is a Big Problem. It's not quite as important as airbags or a rocket, but it's pretty damn safety critical too, so the fact that Rust ensures you never forget to handle an error and all the other things it can check for you is very nice. 

Plus Rust's macro system is extremely powerful, and the ability to derive traits for your structs (like deep copy or debug printing or serialization) is a very powerful tool. And crates like Leptos are pretty mind-blowing in that you can write HTML straight in your Rust with a macro, invoking Rust objects directly as necessary, and it'll all be type-checked for you. Or the sqlx crate, which can execute dummy database queries at compile time to make sure they're structured correctly and not just syntactically correct.

Ответить
Gabriel Martins
Gabriel Martins - 04.07.2023 04:48

Eventually I will learn both

Ответить
Anderson L. Thomé
Anderson L. Thomé - 17.06.2023 21:11

Niiice

Ответить
woofersthegreeat
woofersthegreeat - 14.06.2023 19:01

use both 👍👍

Ответить
Karga Kraai
Karga Kraai - 12.06.2023 12:34

The worst part of the Rust programming language is the ecosystem. We are constantly dependent on third-party libraries. These libraries either lack good documentation or the existing good documentation becomes useless at some point due to changes. This is the part that makes it difficult to learn. Learning the language itself is easy.

Ответить
D K
D K - 08.06.2023 14:20

Great content. How about doing a Go vs Java video?

Ответить
Odx Bxd
Odx Bxd - 31.05.2023 19:51

1) Go lacks of features to solve CPU-bound tasks. Go has only goroutines for I/O.
2) Rust has compile time correct and safe synchronization primitives: Arc, Mutex, Lock and etc. Go also has these primitives but lacks of safety and guarantee nothing.
3) Go provides dangerous nil-pointers that can crash your application without a way to recover or gracefully shutdown. Rust, on the one hand, provides safe references (hey lifetimes) and, on the other hand, provides smart pointers. Moreover no one forbids you to use raw pointers with unsafe.

Ответить
apostolis anastasiou
apostolis anastasiou - 31.05.2023 18:23

Golang doesn't have so many community controversies every second day, and has an async runtime and goroutines.
It doesnt have enums, pattern matching, generics or other fancy lovable features of Rust. I absolutely love Rust's features. But the fact that the community is so undecisive, so aggressive at promoting the language in every case forgetting that its just a tool at the end of the day, promoting political views through the language and its conferences (yes actual devs have done that), makes the language untouchable for me. I won't touch it with a 10 foot pole. I'll wait until it Rusts ... "haha" ... and another language grows from its ashes on better more concrete grounds (haha get it? Rust, Concrete doesnt rust ... haha? no? Okay I leave I know where the door is)

Ответить
codelinx
codelinx - 31.05.2023 01:54

Good general overview

Ответить
Hello, world!
Hello, world! - 30.05.2023 22:10

Come one man, this is a great video! Thanks for it!

Ответить
Serenacula
Serenacula - 30.05.2023 19:00

"Both require senior experience" having spent a great many months searching for webdev jobs before finally getting something, I can assure you that it is not just "both", but "all" languages.

Ответить
Xe054
Xe054 - 30.05.2023 12:55

Excellent video! I'm a JS dev with ~2 yrs experience exploring different languages and technologies. I would love to see more comparison videos of tools you're familiar with because these kinds of decisions are difficult to make when you're a noob in the tech world.

Ответить
yacce
yacce - 24.05.2023 22:35

Reminding people that Go is blazing fast, even if not as fast as Rust. Also, few weeks will get you going in Go, as with everything, it takes time to master a craft. Go is really fun to program with. I am learning Rust, but i will use Go for a long time to come.

Ответить
Антоша Пушкин
Антоша Пушкин - 22.05.2023 10:37

Wtf, why do people even compare go and rust? They are very different languages. It's like asking "what is better, python or C?"
The answer is "depends on your task and constraints", it makes almost zero sense to ask such questions. It makes sense to compare e.g. rust vs c/c++, java vs c#, etc other pairs of languages that have something in common and are used to solve similar tasks

Ответить
Rahul Agarwal
Rahul Agarwal - 18.05.2023 09:22

For backend for a Flutter application, will you prefer GO or Node js ?

Ответить
Anything for clicks
Anything for clicks - 17.05.2023 17:23

You hating on rust big time

Ответить
DAoC Nostalgia
DAoC Nostalgia - 16.05.2023 22:53

javascrimp

Ответить
Rio Chandra
Rio Chandra - 09.05.2023 10:02

This is very helpful. The parameter are clear, communication is clear, pro and const is clear. Thank you

Ответить
Alex
Alex - 08.05.2023 19:20

If all you do is a presentation screen with a little square top right, why bother with 2-4k?

Ответить
Metaman
Metaman - 08.05.2023 03:32

This is absolute perfect comparision. Go and Rust can't even be compared as there use case is different. If you want to develop servers or want to be a backend engineer then go for Golang. If you want to Develop or work where you have to create OS or low level stuffs that is where you can use Rust. So in short, Golang is alternative of Java and Rust is alternative of C/C++

Ответить
Petar Dambovaliev
Petar Dambovaliev - 05.05.2023 13:43

I have been working with Go for 4 years and with Rust for 4 years.
After the initial 6-8 months, you will become as productive, if not more, with Rust than Go.
The reason is you don't need to write longwinded code because you have macros and a very flexible type system.
After you get good at Rust, there is absolutely no technical reason to use Go.
I guess, the only reason is if you can't actually find a job with Rust.
But it looks like that is changing.

Ответить
Ben Merk
Ben Merk - 04.05.2023 16:18

Also, if I wanted to start learning to code towards getting rudimentary experience with both, so I can better speak to these folks I love at my company, what would your learning path be and where would you start.

As a note:
* I have a boot camp of UI training (html, css, JavaScript)
* I have a boot camp of C# training.
* Both were going on 3 years ago.

Ответить
Ben Merk
Ben Merk - 04.05.2023 16:16

Great video and very helpful. I'm a Scrum Master and have done a lot of coordinating with our senior architects. They use Rust, and I just switch to a different group as who work on our microservices and use Go. This really helped me understand the language selection for both use cases in my company.

Ответить
Egor Okhterov
Egor Okhterov - 03.05.2023 03:35

Compilation time? :)

Ответить