C vs Go: 30 Metrics Comparison

C vs Go: 30 Metrics Comparison. C is a Procedural, Object-Oriented, Generic programming language first appeared in 1972, designed by Dennis Ritchie. Main use cases: Systems Programming, Embedded, Perf

C vs Go

C

C is a Procedural, Object-Oriented, Generic programming language first appeared in 1972, designed by Dennis Ritchie. Main use cases: Systems Programming, Embedded, Performance-Critical Applications.

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.

30 Metrics

MetricCGo
GitHub Stars6180459948
Stack Overflow Tags860669818506
TIOBE Rank638
RedMonk Rank1131
PYPL Rank832
Average Salary (USD)132367115006
Job Postings4152440063
Benchmarks Score0.830.82
Learning CurveHardHard
Community SizeVery LargeLarge
Documentation Quality1010
Ecosystem Maturity109
Industry Adoption108
Type System Complexity810
Concurrency Support96
Performance - Execution Speed108
Performance - Memory Usage99
Performance - Startup Time106
Tooling Quality88
Package Manager Quality1010
IDE Support88
Debugging Experience98
GitHub Stars Rank1319
Stack Overflow Tags Rank617
Average Salary Rank728
Job Postings Rank1116
Benchmarks Rank2428
Learning Curve Score22
Community Size Score98
AHP Score8.287.5

AHP Score

  • C: 8.28 (#9)
  • Go: 7.5 (#25)
C               | ######## 8.28
Go              | ######## 7.5

When to choose C

Systems Programming, Embedded, Performance-Critical Applications. C is a Procedural, Object-Oriented, Generic programming language first appeared in 1972, designed by Dennis Ritchie. Main use cases: Systems Programming, Embedded, Performance-Critical Applications.

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.

Hello World Example

C:

#include <stdio.h>
int main(){ printf("Hello, World!\n"); return 0; }

Go:

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

Other languages