| C++ | Java |
|---|
| Category | programming language | programming language |
|---|
| Developer | ISO C++ committee (WG21) | Oracle and the OpenJDK community |
|---|
| Created by | Bjarne Stroustrup | James Gosling |
|---|
| First release | 1985 | 1995 |
|---|
| License | Open standard | GPL-2.0 with Classpath Exception |
|---|
| Open source | Yes | Yes |
|---|
| Pricing | Free | Free |
|---|
| Website | https://isocpp.org | https://openjdk.org |
|---|
| Paradigms | Object-oriented, Procedural, Functional | Object-oriented, Functional, Concurrent |
|---|
| Typing | Static | Static |
|---|
| Type strength | Weak | Strong |
|---|
| Type inference | Yes | Yes |
|---|
| Memory management | Manual | Garbage collected |
|---|
| Runs as | Native code | Bytecode on a virtual machine |
|---|
| Main implementation | GCC, Clang, MSVC | OpenJDK HotSpot |
|---|
| Concurrency | Threads, atomics, coroutines | Threads, virtual threads |
|---|
| Null safety | No | No |
|---|
| Package manager | None official, vcpkg and Conan | Maven, Gradle |
|---|
| Used for | Systems, Games, Desktop, Embedded, Scientific computing | Back end, Mobile, Data and AI, Desktop |
|---|
| Specification | ISO/IEC 14882 | Java Language Specification |
|---|