Java programming language

Java is an object-oriented programming language expressly designed to run on many different types of computers and operating systems. It was developed by Sun Microsystems in the 1990s in response to the growing need for a modern programming language designed to work with the internet and the underlying processes of electronic devices with embedded microcomputer systems. Java quickly became popular and remained in widespread use into the early twenty-first century.

The Java programming language is technically distinct from the software platform of the same name, which is a system used for development and deployment of programs written in the language itself. Java is also distinct from JavaScript, another programming language developed around the same time that became a major part of the World Wide Web.

89550592-58347.jpg

Overview

Although the underlying language of computers is binary code, it is difficult and time-consuming to write programs this way. For this reason, programming languages allow programmers to write, or code, in a format that is easier to read and comprehend. This code is then converted by another computer program, known as a compiler, into binary code so the computer can execute instructions. Java is an example of a particular language, although it is compiled quite differently from more traditional languages.

A team of engineers led by developer James Gosling at the company Sun Microsystems proposed Java during the 1990s. The language was developed based on borrowing its syntax—that is, its linguistic structure and rules—from the dominant programming language on the market at the time of its development, C++. Like C++, Java is an object-oriented programming language, meaning that it relies upon complex data structures to increase the level of organization in code. The team developing Java noticed that with the growth of the internet, there was a growing need to be able to generate code that could run on more than one type of computer; for instance, computers running Microsoft's Windows operating system with Intel processors, and computers running Apple’s Macintosh OS with PowerPC processors.

Although Java code looks very similar to code written in C++, it functions differently from C++ and other previously existing programming languages because it is neither interpreted nor compiled. Interpreted code is converted to binary instructions as the user uses the program, which can often make a program slow. Compiled code is converted to binary before it is actually run. In a stark departure from both these methods, Java was developed to compile code first to an intermediate format called bytecode, which is then executed not by a computer itself, but by the Java Virtual Machine (JVM). Using this method, code can be written without knowing what hardware it will be run on. As long as a version of the JVM exists for that hardware, it can execute this bytecode. Versions of the JVM were quickly distributed to many Web-connected devices and platforms, and Java technology was added to the influential Netscape Navigator web browser, hastening the adoption of Java-related technology.

Java continued to grow in popularity in the early twenty-first century, as electronic devices and the internet proliferated like the designers of the language envisioned. Over time, Sun Microsystems made much of its software platform used to develop and implement Java programs publicly available. Notably, in 2006, the company began the process of making its JVM free and open-source. In 2010, Sun was acquired by Oracle, which continued to develop the original technologies that comprise Java. Other JVMs have also been produced, both by competing companies and independent open-source developers.

Java has been used in numerous formats. For example, it became the primary language used to write programs for the popular Android mobile operating system. According to some metrics, Java began to slowly lose popularity in the 2010s compared to other major computer languages. However, it continued to be among the most popular languages into the 2020s.

Bibliography

Antoy, Sergio, and Michael Hanus. “Functional Logic Programming.” Communications of the ACM 53 (2010): 74–85.

Awati, Rahul. "Definition: Java." TheServerSide, TechTarget, Jan. 2024, www.theserverside.com/definition/Java. Accessed 20 Aug. 2024.

“A Brief History of Java.” Oracle, 2019, www.oracle.com/a/ocom/docs/dc/ww-brief-history-java-infographic.pdf. Accessed 20 Aug. 2024.

Cazzola, Walter, and Edoardo Vacchi. "@Java: Bringing a Richer Annotation Model to Java." Computer Languages, Systems & Structures 40.1 (2014): 2–18.

Chrząszcz, Jacek, Patryk Czarnik, and Aleksy Schubert. “A Dozen Instructions Make Java Bytecode.” Electronic Notes in Theoretical Computer Science264.4 (2011): 19–34.

Emurian, Henry H., and Peng Zheng. “Programmed Instruction and Interteaching Applications to Teaching Java: A Systematic Replication.” Computers in Human Behavior 26.5 (2010): 1166–75.

McMillan, Robert. "Is Java Losing Its Mojo?" Wired, 8 Jan. 2013, www.wired.com/2013/01/java-no-longer-a-favorite/. Accessed 20 Aug. 2024.

Reynolds, Mark C. “Modeling the Java Bytecode Verifier.” Science of Computer Programming 78.3 (2013): 327–42.

Reza, Juan Rolando. “Java Supervenience.” Computer Languages, Systems & Structures 38.1 (2012): 73–97.

Schildt, Herbert. Java: The Complete Reference. 8th ed. New York: McGraw, 2011.