this post was submitted on 15 May 2024
246 points (88.4% liked)

Programmer Humor

19564 readers
1005 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

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 62 points 6 months ago (9 children)

Go really does do well in the zero-to-hero case, that's for certain. Unfortunately it doesn't fare nearly as well in terms of ease when it comes to continued development.

[–] [email protected] 17 points 6 months ago (5 children)

I'm a beginner in both (heavily leaning towards putting more time into learning Rust though). Could you please elaborate a bit?

[–] [email protected] 33 points 6 months ago

Go has a heavy focus on simplicity and ease-of-use by hiding away complexity through abstractions, something that makes it an excellent language for getting to the minimum-viable-product point. Which I definitely applaud it for, it can be a true joy to code an initial implementation in it.

The issue with hiding complexity like such is when you reach the limit of the provided abstractions, something that will inevitably happen when your project reaches a certain size. For many languages (like C/C++, Ruby, Python, etc) there's an option to - at that point - skip the abstractions and instead code directly against the underlying layers, but Go doesn't actually have that option.
One result of this is that many enterprise-sized Go projects have had to - in pure desperation - hire the people who designed Go in the first place, just to get the necessary expertice to be able to continue development.

Here's one example in the form of a blog - with some examples of where hidden complexity can cause issues in the longer term; https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride

load more comments (4 replies)
load more comments (7 replies)