Protocol Buffers 与 Java 对比:30项指标

Protocol Buffers 对比 Java

Protocol Buffers

Protocol Buffers 是一种Declarative, Interface编程语言,首次出现于 2001 年,由 Google 设计。主要应用场景:Interface Definition, RPC, Schema。

Java

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

30项指标

指标 Protocol Buffers Java
GitHub Stars 47207 67614
Stack Overflow Tags 599205 836938
TIOBE Rank 59 4
RedMonk Rank 57 2
PYPL Rank 59 19
Average Salary (USD) 114690 126537
Job Postings 29742 41128
Benchmarks Score 0.75 0.91
Learning Curve Hard Hard
Community Size Medium Very Large
Documentation Quality 6 8
Ecosystem Maturity 6 9
Industry Adoption 7 9
Type System Complexity 7 9
Concurrency Support 9 10
Performance - Execution Speed 8 10
Performance - Memory Usage 7 10
Performance - Startup Time 7 10
Tooling Quality 7 10
Package Manager Quality 7 9
IDE Support 8 9
Debugging Experience 7 10
GitHub Stars Rank 44 2
Stack Overflow Tags Rank 44 10
Average Salary Rank 29 15
Job Postings Rank 47 12
Benchmarks Rank 41 14
Learning Curve Score 3 3
Community Size Score 6 10
AHP Score 6.51 8.41

AHP综合评分

  • Protocol Buffers: 6.51 (#44)
  • Java: 8.41 (#5)
Protocol Buffers | ####### 6.51
Java            | ######## 8.41

何时选择Protocol Buffers

Interface Definition, RPC, Schema. Protocol Buffers 是一种Declarative, Interface编程语言,首次出现于 2001 年,由 Google 设计。主要应用场景:Interface Definition, RPC, Schema。

何时选择Java

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

Hello World 示例

Protocol Buffers:

message Hello { string msg = 1; }

Java:

public class Main { public static void main(String[] a){ System.out.println("Hello, World!"); } }

Other languages