Go vs Spring Boot

Go
Go

5.4K
3.7K
2.5K
Spring Boot
Spring Boot

3.8K
3K
451
Add tool

Go vs Spring Boot: What are the differences?

Go: An open source programming language that makes it easy to build simple, reliable, and efficient software. 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; Spring Boot: Create Spring-powered, production-grade applications and services with absolute minimum fuss. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

Go can be classified as a tool in the "Languages" category, while Spring Boot is grouped under "Frameworks (Full Stack)".

"High-performance", "Simple, minimal syntax" and "Fun to write" are the key factors why developers consider Go; whereas "Powerful and handy", "Easy setup" and "Java" are the primary reasons why Spring Boot is favored.

Go and Spring Boot are both open source tools. Go with 60.5K GitHub stars and 8.37K forks on GitHub appears to be more popular than Spring Boot with 39.8K GitHub stars and 25.8K GitHub forks.

According to the StackShare community, Go has a broader approval, being mentioned in 901 company stacks & 606 developers stacks; compared to Spring Boot, which is listed in 333 company stacks and 615 developer stacks.

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.

What is Spring Boot?

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Go?
Why do developers choose Spring Boot?

Sign up to add, upvote and see more prosMake informed product decisions

What are the cons of using Go?
What are the cons of using Spring Boot?

Sign up to add, upvote and see more consMake informed product decisions

What companies use Go?
What companies use Spring Boot?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Go?
What tools integrate with Spring Boot?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Go and Spring Boot?
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.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
See all alternatives
Decisions about Go and Spring Boot
Tim Abbott
Tim Abbott
Founder at Zulip · | 6 upvotes · 9.1K views
atZulipZulip
Go
Python

We've been a big fan of Python ever since we adopted it for my first startup, Ksplice. But it's been an absolutely ideal tool for Zulip, which is now one of the leading alternatives to Slack. Zulip is 100% open source software, with ~10K stars on GItHub. And being written in idiomatic Python has been really helpful for our open source project, because it's such an accessible language: Any programmer can learn Python quickly. And that means we're not restricted to e.g. "folks who are excited about contributing to Zulip and ALSO know Go".

I've linked to a blog post I wrote on Python's awesome new static type system, which fixes the main complaint one might have about using Python for a large codebase, which has a lot more perspective, as well as some commentary on our Python 3 migration.

See more
Nitzan Shapira
Nitzan Shapira
at Epsagon · | 10 upvotes · 69K views
atEpsagonEpsagon
AWS Lambda
GitHub
Java
Go
Node.js
npm
Serverless
Python

At Epsagon, we use hundreds of AWS Lambda functions, most of them are written in Python, and the Serverless Framework to pack and deploy them. One of the issues we've encountered is the difficulty to package external libraries into the Lambda environment using the Serverless Framework. This limitation is probably by design since the external code your Lambda needs can be usually included with a package manager.

In order to overcome this issue, we've developed a tool, which we also published as open-source (see link below), which automatically packs these libraries using a simple npm package and a YAML configuration file. Support for Node.js, Go, and Java will be available soon.

The GitHub respoitory: https://github.com/epsagon/serverless-package-external

See more
Go
Lua
OpenResty
nginx
Logstash
Prometheus

At Kong while building an internal tool, we struggled to route metrics to Prometheus and logs to Logstash without incurring too much latency in our metrics collection.

We replaced nginx with OpenResty on the edge of our tool which allowed us to use the lua-nginx-module to run Lua code that captures metrics and records telemetry data during every request’s log phase. Our code then pushes the metrics to a local aggregator process (written in Go) which in turn exposes them in Prometheus Exposition Format for consumption by Prometheus. This solution reduced the number of components we needed to maintain and is fast thanks to NGINX and LuaJIT.

See more
Interest over time
Reviews of Go and Spring Boot
Avatar of tschellenbach
CEO at Stream
Review ofGoGo

Go has been a joy to work with. Performance is often 30x of what we used to see with Python. It's a performant and productive programming language: https://getstream.io/blog/switched-python-go/

Review ofSpring BootSpring Boot

spring boot allow my team to start building web services quickly and package it in a stand alone application

How developers use Go and Spring Boot
Avatar of Karma
Karma uses GoGo

The first time I actually started using Go was for software on our devices. So on our hotspots we have some custom software running in the firmware. For the first device, that was actually completely built by our manufacturer. But for the second generation most of the parts are built by us in-house and we needed a way to quickly develop software for the device. But we don't have any C programmers in-house, so we were actually looking for something that basically sits in between the friendliness of Ruby, but the performance and the ability to be deployed on an embedded system which you get with C. That's basically what led us to Go and it's been awesome for that. It works so well and so great. Since it works so great, it pushed us into looking into whether we should start using this for some backend services as well.

Avatar of Flutter Health Inc.
Flutter Health Inc. uses GoGo

The following basic API endpoints are implemented on the server written in Go:

  • Authorization (Sign Up, Sign In)
  • Update user profile
  • Community: add post, like post, add comment, delete post, add reply to comment
  • Self-diagnosis: send data from the app to the server
  • Journal: send user data from the app to the server
  • Add groups of community
  • Report post, report comment, report reply
  • Block user
Avatar of Zinc
Zinc uses GoGo

We wrote our own image processing, resizing, and snapshotting service in Go to allow our clients to send photos and GIFs to each other. Files are stored in S3, resized on the fly using OpenCV, and then cached in GroupCache before being served to clients.

Go allows it all to be quite fast and efficient, and entirely non-blocking on uploads!

Avatar of Diggernaut LLC
Diggernaut LLC uses GoGo

Our main web scraping engine is built usign Golang because of the way how efficiently and fast this language is. Also out compilation facility let people who dont know Golang build fast as flash scrapers to run ourside of our platform without any knowledge in programming in Golang.

Avatar of Refractal
Refractal uses GoGo

For some of our more taxing parts of our applications, something able to handle high I/O load quickly and with fast processing is needed. Go has completely filled that gap, allowing us to break down walls that would've been completely impossible with other languages.

Avatar of Climate CoLab
Climate CoLab uses Spring BootSpring Boot

Spring-Boot allows us to create stand-alone web servers and helps us configure many of our dependencies with sane default, while maintaining flexibility where we need it.

Avatar of Emcee
Emcee uses Spring BootSpring Boot

Probably the best application framework in Java, by far. Time-proven, mature.

Avatar of p009922
p009922 uses Spring BootSpring Boot

light weight server approach for REST-services

Avatar of Project44
Project44 uses Spring BootSpring Boot

All services are spring-boot applications.

Avatar of Vaadin
Vaadin uses Spring BootSpring Boot

Solid base for Java-based web app backend

How much does Go cost?
How much does Spring Boot cost?
Pricing unavailable
Pricing unavailable
News about Spring Boot
More news