Go vs Scala: 30 Metrics Comparison

Go vs Scala: 30 Metrics Comparison. Go is a Procedural, Object-Oriented, Generic programming language first appeared in 2009, designed by Google. Main use cases: Systems Programming, Embedded, Perform

Go vs Scala

Go

Go is a Procedural, Object-Oriented, Generic programming language first appeared in 2009, designed by Google. Main use cases: Systems Programming, Embedded, Performance-Critical Applications.

Scala

Scala is a Object-Oriented, Functional programming language first appeared in 2004, designed by Martin Odersky. Main use cases: Backend Services, Enterprise Applications, Android.

30 Metrics

MetricGoScala
GitHub Stars5994855399
Stack Overflow Tags818506668243
TIOBE Rank3849
RedMonk Rank3151
PYPL Rank3256
Average Salary (USD)115006108106
Job Postings4006332694
Benchmarks Score0.820.77
Learning CurveHardHard
Community SizeLargeLarge
Documentation Quality109
Ecosystem Maturity99
Industry Adoption89
Type System Complexity107
Concurrency Support64
Performance - Execution Speed86
Performance - Memory Usage95
Performance - Startup Time66
Tooling Quality89
Package Manager Quality109
IDE Support89
Debugging Experience89
GitHub Stars Rank1925
Stack Overflow Tags Rank1732
Average Salary Rank2841
Job Postings Rank1635
Benchmarks Rank2836
Learning Curve Score24
Community Size Score88
AHP Score7.57.17

AHP Score

  • Go: 7.5 (#25)
  • Scala: 7.17 (#30)
Go              | ######## 7.5
Scala           | ####### 7.17

When to choose Go

Systems Programming, Embedded, Performance-Critical Applications. Go is a Procedural, Object-Oriented, Generic programming language first appeared in 2009, designed by Google. Main use cases: Systems Programming, Embedded, Performance-Critical Applications.

When to choose Scala

Backend Services, Enterprise Applications, Android. Scala is a Object-Oriented, Functional programming language first appeared in 2004, designed by Martin Odersky. Main use cases: Backend Services, Enterprise Applications, Android.

Hello World Example

Go:

package main
import "fmt"
func main(){ fmt.Println("Hello, World!") }

Scala:

object Main extends App { println("Hello, World!") }

Other languages