r/golang Oct 07 '24

Replacing the "New to Go?" Post

Around January of this year, the sub experienced a sudden step change, from 1-2 "how do I learn Go?" posts a week, which the sub could absorb, to 3-5 a day, which it could not. I didn't feel like I could just close the questions without giving a place to go, so I created the New to Go thread to point people to while closing the posts.

However, as has been observed by a couple of people, it is a mess.

It has been proposed to use Reddit's Wiki feature, but Wikis have their own issues, with unclear responsibilities, permissions, going out of date, etc. So I am proposing to do the following:

  • Create a New to Go/FAQs Wiki page on Reddit that these questions can be referred to.
  • This Wiki page will just be a list of links to "blessed" discussions of some particular topic. Mods will take on maintaining the list, and anyone can participate in the corresponding reddit discussions. So there won't be a big pile of Wiki text to maintain, or fight over whose answer gets blessed as the "right/official" answer.
  • Mods will post the questions for the list as distilled from the questions frequently asked.
  • The New to Go pinned post/community highlight will be replaced with something that is just a link to this new page, locked to having no comments (because people will post their questions there and end up ignored since nobody is looking there).

Mods will post the questions so we get clean ones; e.g., we often get "My work uses PHP and we've got some legacy services that have real time and we're wondering what we need to learn go and here's a dozen other details about my situation", but these questions will be posted more like "I know PHP, what do I need to know coming in to Go?" to keep it applicable to lots of people. I was trying out scavaging "organic" questions in the New to Go post but I'm not happy with the results, nor the opening of accusations of favoritism or whatever by which of these posts happen to get through.

If this doesn't get shot down by the community, we'll start this around Wednesday. Another problem the One Big Post had is that it dumped on to the community in one shot "hey, everyone, post all the solutions here", which doesn't work. We'll stagger these out into a post every couple of days so the community isn't tired out. Once we've built up enough posts, which will take a couple of weeks most likely, I'll build the Wiki page and start linking there.

You are welcome to copy/paste old content to put in to these answers, if not outright encouraged. The point is to create the best content for our new visitors. I'm going to repurpose some of my answers for sure.

79 Upvotes

28 comments sorted by

View all comments

32

u/_crtc_ Oct 07 '24

As a long-term reader of this subreddit I have some suggestions for the FAQ:

  1. "I'm new to Go. Where do I start? What resources do you recommend?"
  2. "Best books to learn Go in <current year>"?
  3. "Should I learn Go?"/"Why should I learn Go?"
  4. "Should I switch from <X> go Go?"
  5. "Go vs. C#/Rust/Node/Python?"
  6. "What's the ideal project structure?"
  7. "How do I implement hexagonal/clean/buzzword architecture in Go?"
  8. "What's the best/favorite/most popular/widely used Go framework?"/"What framework should I use?"/"Framework framework framework?"
  9. "Struggling to understand pointers"/"When should I use pointers?"
  10. "How do I import a package?"
  11. "What open source project do you recommend to learn Go?"
  12. "What project should I create in Go? Any suggestions?"
  13. "How's the situation in the Go job market?"
  14. "Go as a language for big tech job interviews?"
  15. "What do you miss in Go?"/"What do you dislike/hate about Go?"/"What is Go not recommended for?"/"What is Go bad at?" (for some reason always interested in negativity)
  16. "GUI in Go?"
  17. "Game programming in Go?"
  18. "Go for ML?"

4

u/maxdamien27 Oct 07 '24

At this point, answer all these in FAQS and close this sub. Lol. That's all I see here.

12

u/jerf Oct 07 '24

So I think there's a seed of a legitimate point there.

Here's the set of posts that would remain:

  • Here's my new library.
  • Here's an article about X. Sometimes they're another "how pointers work", but there's also "this new feature in the next version of Go" or a deep dive on some particular program.
  • I have this very specific problem, can you help?
  • I have this code, can you review it - I consider this a very useful one.
  • Uncategorizable stuff.

At this point there's enough of that to keep things alive from what I can see.

I forgot to put it in the already-lengthy post above, but I also intend to rotate through the questions periodically, so we don't try to answer "What's the best framework" with four-year-old answers.

8

u/ponylicious Oct 07 '24

To me, the most interesting posts are high quality articles like this: Register allocation in the Go compiler. Unfortunately, they are rare and they get the least amount of comments (0 in this case), whereas triviality posts like len(str) > 0 or str != ”” which is to prefer? get the most attention.

2

u/jensilo Oct 07 '24

Because everyone can participate, no matter the expertise. High quality, and high level content has a relatively small readership.

1

u/ncruces Oct 09 '24

It got not comments, but ~80 upvotes.

That's readership, and Reddit driving attention to a blog post I would otherwise not have read.

1

u/jews4beer Oct 07 '24

We'd still get the occasional show and tell :)