C vs Scala: 30 Metrics Comparison

C vs Scala

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.

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 C Scala
GitHub Stars 61804 55399
Stack Overflow Tags 860669 668243
TIOBE Rank 6 49
RedMonk Rank 11 51
PYPL Rank 8 56
Average Salary (USD) 132367 108106
Job Postings 41524 32694
Benchmarks Score 0.83 0.77
Learning Curve Hard Hard
Community Size Very Large Large
Documentation Quality 10 9
Ecosystem Maturity 10 9
Industry Adoption 10 9
Type System Complexity 8 7
Concurrency Support 9 4
Performance - Execution Speed 10 6
Performance - Memory Usage 9 5
Performance - Startup Time 10 6
Tooling Quality 8 9
Package Manager Quality 10 9
IDE Support 8 9
Debugging Experience 9 9
GitHub Stars Rank 13 25
Stack Overflow Tags Rank 6 32
Average Salary Rank 7 41
Job Postings Rank 11 35
Benchmarks Rank 24 36
Learning Curve Score 2 4
Community Size Score 9 8
AHP Score 8.28 7.17

AHP Score

  • C: 8.28 (#9)
  • Scala: 7.17 (#30)
C               | ######## 8.28
Scala           | ####### 7.17

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 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

C:

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

Scala:

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

Other languages