Hacker News new | ask | show | jobs
by Mawr 417 days ago
> Where is inheritance?

It's been widely considered as a mistake for about two decades now...

> I couldn't even find a standard linked list.

Even? If you need a linked list, then you have a 0.01% use case and shouldn't expect such a niche data structure to be easily available. That said, https://pkg.go.dev/container/list

> What if I have a list where I need to make lots of insertions in the middle?

Then you should use an array. If you're not making full use of the pointer-y nature of a linked list, you shouldn't be using it.

> Where is the data structures package?

Go only got generics in 2022 so the standard library is lacking in ergonomic data structures.

1 comments

Exactly right. My books (and later, college courses) emphasized linked lists and inheritance as fundamental concepts of programming, but the reality as a working engineer is totally different.

When I first encountered Go, I was still a learner and the lack of these things in the language and standard libraries shocked me. But it turns out that they were writing a language more for practical software engineering than for outdated curricula. At the end of the day, structs, slices, and maps cover 99% of what you need!