Even though Golang was presented only in 2009, it already holds a firm position in software development of any kind, not limiting only to microservices architecture as was believed a couple years ago. Maks Kuharenko, QArea’s CTO, created a list of the best Golang development sites and resources to improve skills and keep track on recent news.
Why learn Go?
Golang is one of the most contradictory new programming languages. If to visit developers discussions on Quora and Reddit, it becomes obvious how controversial Go is. Some devs don't even consider it as a functional language, others are in love with Its fast performance, comfortable concurrency model, and simple binary deployments. No wonder, it is not that easy to form your own independent opinion, especially if you have only started exploring Golang technology.
Golang popularity is growing fast. Source: Google Trends
We decided to ask the Go expert and CTO at QArea’s, Maksim Kuharenko, to share his personal list of must-have Golang sites with news, analytics, cases, and tutorials - so you can receive the information from different experts, form own opinion about the language and improve coding skills. QArea developers write on Go for 4 years (this experience is pretty rare in developers community, especially if you consider the fact that the language was officially announced only 8 years ago). Maksim Kuharenko and his team were practically pioneers of Golang development so if there is someone to be asked about most credible sites, it is him.
It is a must-read site for those who are getting started. Here you can find:
- Tour of Golang (online or installed locally)
- Official answers to frequently asked questions
- Must-have packages (package and command documentation, language specification), the Go Memory Model and release history
- Codewalks, official guidelines, tools and tips
Golang official packages
An official library of GoLang packages with their explanation and links to full wiki articles. You can look into all the Open Source packs provided by the community with full guides to them.
Golang on GitHub
The library of the best Go tools (for working with Gerrit code reviews, windows builders, testers etc). There are supplementary time packages for low-level interaction with the operating system and Go App engine. The site is regularly updated and reviewed by Golang experts.
Golang is one of the most popular languages on GitHub. Source: octoverse.github.com
Dave Cheney’s blog
Dave Cheney is a well-known Golang expert - he is a regular conference attendant and a certified trainer. His blog is interesting both for experts and beginners. It provides:
- Thorough how-to guides (Maksim Kuharenko, recommends to start with Resources for new Go programmers)
- Information about conferences and training sessions
- Analytics about Golang benefits updates and features.
Just For Func: Programming in Go
Video guides are an excellent way to master Golang Web and mobile development - they are easier to understand and repeat after. There are lots of visual tutorials such as how to build an app or a Chrome extension from scratch using Golang, Go tooling in Action. The channel also provides series of screencasts and talk recordings about Google Cloud Platform.
It is one of the most often updated Go news sites - there is information from the most popular blogs so you don’t have to follow all of them. Everything you need to know about Golang services and updates is collected here. The page is updated 2-3 times a day so if you want to keep track of the latest updates, make it a habit to visit the site. If you are a beginner, we recommend starting with video tutorials and code lessons.
Martin Fowler’s blog
Martin Fowler is a credible software development expert, author of best-selling books and popular blog. He works in ThoughtWorks - the company which develops Golang for six years now. As a Chief Scientist, Martin has lots to say about Go and its specifics. We recommend reading his interview with Chad Wathington, Managing Director of ThoughtWorks - there is a lot of insider information about Golang.
Stack Overflow Questions are a great source of information for a Golang beginner. Here experts provide free advice and answers to developers questions and share opinions about latest Go trends. You can read already answered questions or ask something yourself - you will receive comments in less than an hour.
You can also communicate with top Golang developers, explore tutorials and Wiki including guides, books and project cases.
The popularity of Golang on OverStack. Source: insights.stackoverflow.com/survey/2017
Learn Go programming
Great visual Go guides for experts and beginners. The site is regularly updated (2-3 tutorials for a week). At the end of each month there is a recap of all written articles - so you won’t miss anything. For beginners, we suggest it is better to start general Go overview with language history, specifics and advantages. The article is very engaging to read - the data is visually presented and the writing style is just perfect.
Golang Code provides brief how-to articles with less words and more code samples - the articles are tiny and to the point. The blog provides short answers to little everyday questions (how to generate a random number, print a variable’s type, convert an int to a string etc). It definitely deserves to be on your must-read list just in case a problem arrives.
Go Forum is a perfect source of experience and professional advice for beginners. Questions and topics are divided into few categories:
Each of the categories is regularly updated and discussed both by experts and beginners. The community is very active (17.4k posts, 2.1 k topics, 4.2k users, 5.4 k likes). New questions and answers about Golang app and web development are published at least 2-3 times a day.
GoForum Statistics. Source: https://forum.golangbridge.org/about
What can be better for a beginner than watching a full-time Golang show with world’s best experts? Go Time Show is hosted by Erik St. Martin (Cloud Developer Advocate for Microsoft, Azure, and GopherCon), Carlisia Pinto (Golang trainer), Brian Ketelsen (Go expert, author of numerous talks and webinars).
Each week they invite best Golang experts (the show was already visited by Dmitri Shuralyov, Chase Adams, Alexander Neumann and many others) to discuss getting into Golang, its advantages, and specifics.
The show can be watched both live and in-record - the new episode goes out every Thursday.
The website is a perfect source of free education and Golang development tools. The programs and tutorials are divided into two categories: basic programs and advanced ones. Here you can find practical code solution to your problem and find patterns and techniques for creating Go applications.
If you haven’t worked on Golang projects before, we suggest you find interesting the page “What is Go?”. There is everything a beginning developer wants to know - information about data type, constants, variables, operators, concurrency, tutorials for working with interface, channels, and logging go programs. You can subscribe and regularly receive new Go programs to your e-mail.
Golang on JetBrains
GoLand blog is one of the most popular Go blogs. They publish tons of free guides every week where they not only tell but show how to solve the problem, give advice on which Golang framework or package to use. The blog is new (was created in 2016) - there is no outdated information.
Golang issue tracker on JetBrains. Source: https://youtrack.jetbrains.com/issues/GO
The thing we love most about the site is not only the materials itself but also comments on the articles. The discussions between experts are not only engaging to read, but also are very useful for those who have only started exploring Golang.
Golang community on Reddit
If you want to be a real GoLang geek, welcome to Reddit Go community. Where else can you find 85+ posts per week with hundreds of comments under? For those who are interested in keeping track on latest Golang trends and participating in the most active discussions, Reddit community is a must-have.
The list was created by QArea CTO, Maksim Kuharenko, a credible Golang expert and trainer. Do you have your own list? Share it in comments.
P.S. QArea’s blog is also a good source of recent Golang news and updates - so stay tuned for new publications. Look at some articles we have published recently:
If you have some questions or project ideas, contact us - our Golang developers are going to provide you a detailed consult.