Being boring really is what I love most about Go. It doesn't change much and there is a culture of simplicity, so it's quick to onboard new devs and there isn't a lot to get your head around. That also makes it good for building large projects, as the complexity is in the domain and the application, not clever uses of the language itself.
I almost wish they'd make it more boring and take a few things out, but it's probably too late now to change the language much and people would complain vociferously. Things I never use and wish it didn't have: panic, goto, labels, struct tags, executable comments, even arrays.
The only things I'd like to see improved significantly are enums, errors, and user-space generic collections (coming soon!).
Thanks for posting this, it looks interesting. If you're using # in titles please use it at the end for tags - otherwise things go a bit wonky. I've edited the title for you, and used a tag for your series.
I wonder if it is skewed by larger companies which provide linux workstations, or if some people interpreted the question as which OS is their deployment target? It does seem very high doesn't it? The desktop marketshare of linux is something like 3%, so this answer seems off.
I missing functionality from c++ google mock library where running generator wasn't required. In go I see a lot of custom written assertion and in most of the big project mocks are self written. I would be nice in the future see support for assertion or mocks in go standard library.
Interesting. I've seen people using sync.Pool for similar results: when you put them back to the pool, allocations are already done, even if you reset data. This way you can tune down allocating memory for vanity data.
There is anything wrong with having another UUID library. But I'm not sure why anyone would use this over https://github.com/google/uuid which was a port of pborman's https://github.com/pborman/uuid that Kubernete's was using (I'm guessing Google decided to own their own implementation instead of using Paul's).
One of the most useful data structures in computer science is the hash table. Many hash table implementations exist with varying properties, but in general, they offer fast lookups, adds, and deletes. Go provides a built-in map type that implements a hash table. Go map is an unordered collection of key-value pairs. They map keys to values. Go map keys are unique within the map while the values may or may not be the same.
This is a great summary of everything that is wrong with stack overflow.
I've noticed the same about stack overflow, in particular go questions. They are regularly downvoted, often quite innocuous questions - it seems certain people spend their days downvoting most of the questions which are posted, which is just discouraging if you're a newcomer. The tools and the culture are to blame in my opinion - there is too much emphasis on gardening and blocking requests, which leads to encourages personality types more inclined to nitpick and disagree with others than try to help them. Downvoting should carry a far higher cost IMO, and be restricted to getting spam and other undesirable content off the site (perhaps flagging is more useful than downvoting).
Building communities is hard, and what's required at the beginning (driving engagement at all costs) can lead to a toxic community in time, if the culture develops into a negative one where every nail that stands out is hammered down. This particular question has since been voted very high by well-meaning people, but the culture will remain after those day-visitors are gone. The meta section in particular breeds a certain culture of insiders who adhere to esoteric rules, which are long-divorced from their original intention (for example rules against asking about products, or asking for general advice).
Instead of the UI encouraging beginners to post questions with more hints (for example it could prompt if there is no code in the question, or no links), they are left to post what they think is a reasonable question and then be haranged by a small core of regulars who spend their time downvoting and closing questions.
Every time these kind of topics get brought up on Meta people get very defensive and shout “quality!” As if you need to be a dick to maintain “quality”. It’s a false dichotomy: you can have quality and be nice, but there is a complete unwillingness to even discus it.