Go logo

Go

An open source programming language that makes it easy to build simple, reliable, and efficient software
10.6K
8.8K
+ 1
2.9K

What is Go?

Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Go is a tool in the Languages category of a tech stack.
Go is an open source tool with 79.1K GitHub stars and 11.4K GitHub forks. Here’s a link to Go's open source repository on GitHub

Who uses Go?

Companies
2296 companies reportedly use Go in their tech stacks, including Uber, Google, and Pinterest.

Developers
7701 developers on StackShare have stated that they use Go.

Go Integrations

Sentry, Datadog, Rollbar, Auth0, and Hugo are some of the popular tools that integrate with Go. Here's a list of all 151 tools that integrate with Go.
Public Decisions about Go

Here are some stack decisions, common use cases and reviews by companies and developers who chose Go in their tech stack.

Russtopia Labs
Sr. Doodad Imagineer at Russtopia Labs · | 4 upvotes · 12.1K views
Shared insights
on
Go

Got frustrated with the complexities of heavyweight build automation/continuous integration tools like Jenkins, Concourse or Buildbot so I built my own in Go . https://gogs.blitter.com/Russtopia/bacillus. Well under 1K SLOC, no JVM or containers required. Config nearly 100% in the launch script itself.

Go is a lean, powerful language that takes a lot of cognitive load off of the developer with rich data manipulation functions and easy to use HTTP/net libs and concurrency. Combined with gopherjs this old-timey embedded programmer finally found a sensible language for both front- and back-end web development.

See more
Eugene Cheah
Shared insights
on
Node.js
npm
Go
at

Our CLI was originally written Node.js with npm , 2 years ago. We have now migrated to Go !

It was something we quickly hacked together at the early beginnings of Uilicious when our focus was to move fast and iterate the product quickly. We wanted to roll out the CLI ASAP, so that users with a CI/CD can hook up their tests to their front-end deployment pipeline.

However after 2 years, with NPM dependency hell pains - We decided to migrate our CLI toolchain to Go for

  • Zero deployment dependencies
  • Single file distribution (and backwards compatible with NPM)

Happy with how it is : article covers the decision in much deeper details

https://dev.to/uilicious/why-we-migrated-our-cli-from-nodejs-to-golang-1ol8

See more
Russtopia Labs
Sr. Doodad Imagineer at Russtopia Labs · | 4 upvotes · 73.5K views
Shared insights
on
Gogs
GitHub
Go
GitLab

I installed Gogs after a few repos I planned to use on GitHub disappeared without explanation, and after Microsoft's acquisition of same, it made me think about the over-centralization of community-developed software. A self-hosted solution that enables easy point-and-click mirroring of important repositories for my projects, both in-house and 3rd-party, ensures I won't be bitten by upstream catastrophes. (So far, Microsoft's stewardship has been fine, but always be prepared). It's also a very nice way to host one's own private repos before they're ready for prime-time on github.

Gogs is written in Go and is easy to install and configure, IMHO much more so than GitLab, though it's of course less feature-rich; the only major feature I wish Gogs had is an integrated code review tool, but the web plugin hypothes.is https://stackshare.io/hypothes-is/hypothes-is is quite suitable as a code review tool. Set up a group for each code review, and just highlight lines to add comments in pull request pages of Gogs.

See more
Ben Katz
Software Engineer at DoorDash · | 1 upvote · 1.3K views
Shared insights
on
Go
at

When I was building ATGATT as a solo founder, I was primarily concerned about the cost required to deploy the app to production, along with speed of development. Given this requirement, I landed on Go because of its minimal memory usage, allowing me to run the entire site on the cheapest possible EC2 VM (free tier!). Even with 1000 concurrent users active at the same time, I never see more than 20% memory usage or 10% CPU usage in production. Go is also an extremely simple language to work with in terms of features and syntax, while still maintaining type safety, an important characteristic when the codebase grows in size.

See more
Jakub Olan

In our company we have think a lot about languages that we're willing to use, there we have considering Java, Python and C++ . All of there languages are old and well developed at fact but that's not ideology of araclx. We've choose a edge technologies such as Node.js , Rust , Kotlin and Go as our programming languages which is some kind of fun. Node.js is one of biggest trends of 2019, same for Go. We want to grow in our company with growth of languages we have choose, and probably when we would choose Java that would be almost impossible because larger languages move on today's market slower, and cannot have big changes.

See more

I've been juggling with an app idea and am clueless about how to build it.

A little about the app:

  • Social network type app ,
  • Users can create different directories, in those directories post images and/or text that'll be shared on a public dashboard .

Directory creation is the main point of this app. Besides there'll be rooms(groups),chatting system, search operations similar to instagram,push notifications

I have two options:

  1. React Native, Python, AWS stack or
  2. Flutter, Go ( I don't know what stack or tools to use)
See more

Blog Posts

Nov 20 2019 at 3:38AM
https://img.stackshare.io/stack/517248/default_4bf5f3d2d3ef627f563fd3b2e94dee6cc37a38d6.jpg logo

OneSignal

7
3487
Oct 3 2019 at 7:13PM
https://img.stackshare.io/stack/511159/default_5f04358e03a27bf2607a39dd9b409dd7830ce4d3.png logo

Ably Realtime

4
3069
Jun 26 2018 at 3:26AM
https://img.stackshare.io/stack/325466/default_06cecdd7cb3f11903cc5a8af0677b9b393889e67.png logo

Twilio SendGrid

11
8867

Go Alternatives & Comparisons

What are some alternatives to Go?
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Rust
Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
See all alternatives

Go's Followers
8812 developers follow Go to keep up with related blogs and decisions.