this post was submitted on 15 May 2024
246 points (88.4% liked)
Programmer Humor
19564 readers
795 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Terrible meme. Go is bad and you should feel bad
Go is like that abusive partner that gives you flowers and the next day makes you feel like shit. Then another day you go to an expensive restaurant and you tell yourself that maybe it's not so bad and they still care. And the cycle continues.
Rust is an autistic partner that sometimes struggles with telling you how much they care, is often overly pedantic about technical correctness and easily gets sidetracked by details, but with some genuine effort from both sides it's very much a workable relationship.
Yeah but Go has the best error handling paradigm of any programming language ever created:
Don't you just love doing that every 5 lines of code?
I actually reasonably like Go. It's simple and pragmatic but I fucking loathe its error handling. To me it just replicates one of the worst features of C
I don't like the rust way either. But at least you can unwrap
With some sprinkle of libraries such as
anyhow
andthiserror
the Rust errors become actually pleasant to use. The vanilla way is indeed painful when you start handling more than one type of error at a time.Exactly this. Anyhow makes error handling in rust actually a joy. It's only something you need to consider if you're writing a library for others to use, and in that case, it's good that rust forces you to be very very explicit
I do think Zig is better for this kind of thing.
The try keyword returns any error up; the if-unwrap works with what came out of a successful call. Normally you wouldn’t have both, of course.
do_thing would be defined as a union of an error (a distinct kind of type, so it can be reasoned about with try, catch and unwrapping) and the wrapped return value.
That syntax looks atrocious
Well, different floats for different boats I suppose.
Honestly, I do
It's not pretty, but it's uniform, obvious, and easy to understand.
go is good grug friend who chase away complexity demon by limit damage of big brain developer
I think I'd rather code in Go than Rust. But I'm not a great Rust programmer so my opinion may not count. I can code effectively in C, C++, Go, Java, C#, Python, and a few others, but Rust is the only language that I find hard to use. I'm probably just dumb
You're not dumb. Rust is a hard language to pick. Some people probably think I'm mocking it because I made this meme but I'm really not - I love Rust. I'm mocking us mere humans trying to cope with greatness 🤣And I'm looking forward to the time when I finally "graduate" and become more productive and experienced with Rust.
Are you using an IDE like rustrover? Rust is by far the easiest language I've worked with. It makes it so the only way to write code is the right way
Yes, I was using Rustrover the last time I used Rust. VSCode previously. I've tried to get into Rust a few times and really just failed repeatedly. Ill probably try again at some point but my experience thus far hasn't been great