Java's Success
“Java is expected to be the most frequently used programming language platform in three years, outpacing JavaScript, C++, and Python, among others” (Rommel, 2021, para. 2). Executive Vice President of VDC Research, Chris Rommel, makes a bold claim about Java’s future success. VDC Research is a technology market intelligence and consulting firm that provides services to high-profile clients like Dell, Samsung, Qualcomm, Hewlett Packard, Honeywell, and Oracle, among others. Rommel’s bold claim is backed by this reputable company operating since 1971. Nonetheless, Java would not be what it is today if not for the advancements in programming languages like C and C++. The programming languages C and C++ laid the foundation for the development of Java, and success can be seen in its portability, design, usage rate, and use cases.
Foundation
The programming languages of C and C++ inspired the development of Java. “As Java was inspired by C and C++, its syntax is similar to these languages” (Software Testing Help, 2022, para. 24). The syntax of Java is proof that C and C++ laid the foundation for the development of Java. C was developed to move away from assembly language or machine code, and C++ was an expansion of C to include classes for more complicated programs. “Java was created at Sun Microsystems, Inc., where James Gosling led a team of researchers in an effort to create a new language that would allow consumer electronic devices to communicate with each other” (Britannica, n.d., para. 1). As the Britannica Encyclopedia states, Java was created to solve a different problem. The issue that Java aimed to resolve was portability.
Portability
Java was developed to solve the issue of portability, and success arose thanks to the challenges the language was able to overcome. C and C++ are directly executed languages, making C and C++ platform dependent. At the same time, Java is run by the Java Virtual Machine (JVM), making it platform independent and capable of running on any machine with the JVM installed. (Edureka, 2019). As found in Edureka, an educational technology site, thanks to Java’s JVM, the program can run on any machine. Java was able to accomplish this platform independence thanks to its ability to use byte-code. “After compilation, your Java source code gets converted into byte-code having a .class extension, and those files can be used on any Java-supported platform without any modification” (Sah, 2021, para. 2). Sah explains how Java uses the .class extension, which holds the byte-code of Java that the JVM processes. This makes it possible to run the code on any operating system, in contrast to the .exe executable files generated by C and C++.
Design
Other than portability, Java’s object-oriented design has contributed to its success. C is a procedural programming language, C++ is both procedural and object-oriented, and Java is entirely an object-oriented language (Software Testing Help, 2022). As Software Testing Helper states, Java is fully object-oriented, in contrast to C and C++. There are many benefits to object-oriented programming. According to Robert Half of Robert Half Talent Solutions, the top benefits of Java’s object-oriented programming (OOP) are encapsulation, inheritance, and polymorphism (2021). Half lists three of the significant components of OOP, only lacking abstraction. Encapsulation breaks down the code into groups, allowing ease of troubleshooting. Inheritance enables the reuse of code. Polymorphism allows functions the flexibility to adapt to their class. Abstraction is found in languages like C and C++ because the code is written in a way legible to humans and is later compiled for machines to read. Java’s extensive libraries provide a step above C and C++, allowing Java to easily use imported functions that do not need to be rewritten.
Usage Rate
The current usage rate of Java is significantly higher than C and C++. According to the Stack Overflow Developer Survey 2021, 35.35% of developers used Java, 24.31% used C++, and 21.02% used C (2021). Stack Overflow shows how over 10% more developers are using Java than C++ and nearly 15% more developers than C. Stack Overflow gathers data from over 80,000 developers in various development fields, genders, and ages to obtain the most accurate data possible. To compare the results of Stack Overflow, Vailshery from Statista provides the following statistics for 2021 most used programming languages worldwide: 33.27% of developers used Java, 22.55% used C++, and 19.24% used C (2022). Vailshery’s findings show that the numbers are slightly skewed, but the differences are the same. The statistical data found by Stack Overflow and Vailshery confirm that Java has a higher usage rate than C and C++.
Use Cases
Thanks to the JVM, there is nearly an infinite number of use cases for Java, giving it the success seen today. “Java is used for: GUI applications, Web servers and applications servers, Middleware applications, Web applications, Mobile applications, Embedded systems, Enterprise applications” (Aternity, 2021, para. 6). The list of use cases provided by Aternity encompasses an immense variety of different kinds of applications. Thanks to the JVM, Java can run from anywhere between a TV remote and the most potent cloud server. The possibilities in between are endless. On the other hand, C and C++ must be specifically written to be supported by each piece of hardware. Nonetheless, C and C++ are used on many of the same machines as Java, but with different purposes. C is mainly used to develop operating systems, databases, or interpreters. C++ is used to write embedded systems, AI applications, and other resource-heavy applications.
Conclusion
In conclusion, the programming languages C and C++ laid the foundation for the development of Java, and success can be seen in its portability, design, usage rate, and use cases. With so much accomplished by Java, Chris Rommel may be correct in his prediction for 2025. Although Java is ahead of C and C++, it has much ground to cover to catch up to JavaScript and HTML/CSS. When developers gather statistics, web developers are also included, making JavaScript and HTML/CSS the undisputed winners. The future is difficult to predict, and betting on the underdog, as Rommel of VDC Research has done, is bold. The world will have to wait and see how Java comes out on top.
References
Aternity. (2021, March 25). What is java used for? Retrieved July 5, 2022, from https://www.aternity.com/blogs/what-is-java-used-for/
Britannica. (n.d.). Java. Retrieved July 5, 2022, from https://www.britannica.com/technology/Java-computer-programming-language
Edureka. (2019, June 24). Difference between C, C++ and Java. Retrieved July 5, 2022, from https://www.edureka.co/blog/difference-between-c-c-and-java
Half, R. (2021, November 18). 4 advantages of object-oriented programming. Robert Half Talent Solutions. Retrieved July 5, 2022, from https://www.roberthalf.com/blog/salaries-and-skills/4-advantages-of-object-oriented-programming
Rommel, C. (2021). Long-term success and security with Java: A VDC analyst brief [PDF of a brief]. Oracle. Retrieved July 5, 2022, from https://rb.gy/fz9bfe
Sah, P. K. (Ed.). (2021, August 14). Introduction to Java programming. Algo Lesson. Retrieved July 5, 2022, from https://www.algolesson.com/2021/08/introduction-to-java-programming.html
Software Testing Help. (2022, May 13). C++ vs Java: Top 30 differences between C++ and Java with examples. Retrieved July 5, 2022, from https://www.softwaretestinghelp.com/cpp-vs-java/
Stack Overflow. (2021). Stack overflow developer survey 2021. Retrieved March 24, 2022, from https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language
Vailshery, L. S. (2022, July 5). Most used languages among software developers globally 2021. Statista. Retrieved July 5, 2022, from https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/