Go 与 Scala 对比:30项指标

Go 对比 Scala

Go

Go 是一种Procedural, Object-Oriented, Generic编程语言,首次出现于 2009 年,由 Google 设计。主要应用场景:Systems Programming, Embedded, Performance-Critical Applications。

Scala

Scala 是一种Object-Oriented, Functional编程语言,首次出现于 2004 年,由 Martin Odersky 设计。主要应用场景:Backend Services, Enterprise Applications, Android。

30项指标

指标GoScala
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综合评分

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

何时选择Go

Systems Programming, Embedded, Performance-Critical Applications. Go 是一种Procedural, Object-Oriented, Generic编程语言,首次出现于 2009 年,由 Google 设计。主要应用场景:Systems Programming, Embedded, Performance-Critical Applications。

何时选择Scala

Backend Services, Enterprise Applications, Android. Scala 是一种Object-Oriented, Functional编程语言,首次出现于 2004 年,由 Martin Odersky 设计。主要应用场景:Backend Services, Enterprise Applications, Android。

Hello World 示例

Go:

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

Scala:

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

Other languages