On this page
In the early 1990s, the software world was fragmented. If you wrote a program for a Windows PC, it would not work on an Apple computer or a UNIX workstation. Programmers had to rewrite and recompile their code for every machine.
James Gosling and his team at Sun Microsystems solved this by building a new language with a promise: "write once, run anywhere". That language was Java, and it changed how the world builds software.
When was the Java programming language created?
The story began in June 1991, when James Gosling, Mike Sheridan and Patrick Naughton formed a small group at Sun Microsystems called the Green Team (Wikipedia)). Their original goal was not to change the internet, but to write platform-independent software for interactive televisions and digital consumer devices.
By 1994, the market for interactive television had stalled, but the World Wide Web was growing fast. The team realised that a secure, portable language was exactly what the internet needed. On May 23, 1995, at the SunWorld conference, Sun officially announced Java. In a surprise move, Netscape announced that its Navigator browser would support Java, allowing developers to embed interactive programs directly into web pages.
Why did Sun Microsystems change the name from Oak to Java?
Gosling originally designed the language to be robust and familiar to developers who were used to C and C++. He initially named it Oak, after an oak tree that stood outside his office window.
When the team later found out that "Oak" was already a registered trademark held by Oak Technology, they needed a new name. After brainstorming alternatives, they renamed it Java, inspired by the Indonesian coffee the team drank.
What does "write once, run anywhere" mean?
When you write a program in an older language like C, a compiler translates your text directly into machine code—the exact binary instructions that a specific processor understands. If you want the software to run on a different processor, you must compile it again.
Gosling's team took a different route. When you compile a Java program, it does not turn into machine code. Instead, it turns into "bytecode". Bytecode is a set of intermediate instructions that no physical computer understands on its own.
To run the bytecode, you install a piece of software called the Java Virtual Machine (JVM). The JVM acts as a translator, reading the bytecode and turning it into machine code for your specific device on the fly. Because Sun built a JVM for Windows, a JVM for Mac, and a JVM for Linux, a developer only had to write and compile their Java code once. The local JVM handled the rest. Sun Microsystems guided this ecosystem until Oracle Corporation acquired Sun for US$7.4 billion in 2010 (Wikipedia).
How can students apply the JVM to their study habits?
When studying for exams, many students act like old C compilers. They memorise the exact steps to solve a specific type of JEE numerical, and then try to memorise a different set of steps for their school board exams. They are compiling their knowledge separately for every test format.
The Java approach is more efficient: learn the core concept once, and run it anywhere.
In cognitive science, this is related to mastery learning. If you truly master the underlying physics—the "bytecode" of the topic—you do not need to memorise different tricks for different papers. The Fermi Concept Library holds every concept in physics, chemistry, biology, mathematics and computing, each with its own lesson and its place in the map. When you learn the science from first principles, you can apply it to a multiple-choice question or a long-form derivation just as easily.
When you sit down to study, Fermi's AI tutor works out what you already know, builds a plan for the session, and teaches through it—writing on a board, drawing the figure, running the simulation, and checking understanding as it goes. By treating why mistakes help you learn as part of the process, you build a robust mental model that runs perfectly on test day.



