Go vs Scala: 30 Metrics Comparison
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
| Metric | Go | Scala |
|---|---|---|
| GitHub Stars | 59948 | 55399 |
| Stack Overflow Tags | 818506 | 668243 |
| TIOBE Rank | 38 | 49 |
| RedMonk Rank | 31 | 51 |
| PYPL Rank | 32 | 56 |
| Average Salary (USD) | 115006 | 108106 |
| Job Postings | 40063 | 32694 |
| Benchmarks Score | 0.82 | 0.77 |
| Learning Curve | Hard | Hard |
| Community Size | Large | Large |
| Documentation Quality | 10 | 9 |
| Ecosystem Maturity | 9 | 9 |
| Industry Adoption | 8 | 9 |
| Type System Complexity | 10 | 7 |
| Concurrency Support | 6 | 4 |
| Performance - Execution Speed | 8 | 6 |
| Performance - Memory Usage | 9 | 5 |
| Performance - Startup Time | 6 | 6 |
| Tooling Quality | 8 | 9 |
| Package Manager Quality | 10 | 9 |
| IDE Support | 8 | 9 |
| Debugging Experience | 8 | 9 |
| GitHub Stars Rank | 19 | 25 |
| Stack Overflow Tags Rank | 17 | 32 |
| Average Salary Rank | 28 | 41 |
| Job Postings Rank | 16 | 35 |
| Benchmarks Rank | 28 | 36 |
| Learning Curve Score | 2 | 4 |
| Community Size Score | 8 | 8 |
| AHP Score | 7.5 | 7.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!") }