Where Java Came From
- Terminology and concepts to look out for: programming language · source code · compiler
- Relevance to me: Yesterday you saw that programs written by people carry a question to a model and carry the answer back. Today you find out where one of the languages those programs are written in, Java, came from.
- Board Question: People write code using words like print and if, but a computer's chip runs only very simple instructions made of numbers. What do you think happens in between? Give your guess in one sentence, and say whether a person or a program does that step.
Open the discussion form on the right and answer Section 1 from your first reading.
Programming Languages and Where Java Came From
This section explains what a programming language is, how a person's code becomes something a computer can run, and where the Java language came from.
Programming Languages
On October 14, the class read that a program is a set of instructions that a person wrote, while a model is trained on examples. Monday's passage showed that everything in an AI tool except the model is an ordinary program, written by people in a programming language.
A programming language is a set of words, symbols and rules for writing instructions that a computer can carry out. Each programming language has strict rules about how a statement is built and which symbols may appear in it. A statement in a programming language is designed to have exactly one meaning, wherever it appears. English is not a programming language, because nobody designed it for computers and many English sentences can mean two different things. For example, "The coach saw the player with the camera" does not say who has the camera, so a computer could not run it. Java is one programming language, and Python and JavaScript are two others.
Source Code and the Compiler
Source code is the text that a person writes in a programming language. It is meant to be read by people as well as by the computer. In Java, source code is saved in plain text files whose names end in .java. The short program below is Java source code that a person could type into a file named Main.java. The class will read code like this in November.
1public class Main { 2 public static void main(String[] args) { 3 System.out.println("Hello from McDonogh 35"); 4 } 5}
Hello from McDonogh 35
A compiler is a program that reads source code, checks that it follows the language's rules, and turns it into a form the computer can run. Java's compiler is a program called javac. First, a person saves the source code as Main.java. Next, the person runs javac on that file. Then javac checks every statement against the rules of Java. If a rule is broken, such as a missing semicolon, javac reports an error with its line number and makes no new file. If there are no errors, javac writes a new file named Main.class, which the computer can run.
The person writes the source code, and the compiler does the turning. A compiler is not the person who wrote the program, because it only checks and turns instructions that a person already wrote. The Main.class file is not source code either, because the compiler made it and no person typed it. Figure 1 shows these steps as three boxes.
Where Java Came From
Java began inside a small research group at Sun Microsystems called the Green Project. In a 2019 interview, James Gosling said the project started at the very end of 1990 and ended in September 1992. The group studied consumer electronics such as TVs and VCRs. Gosling, often called the father of Java, was the only member who had built a compiler before. He volunteered to make the C language safer for those devices, and that work grew into a new language. According to his own account, he named the language Oak after an oak tree outside his office window.
The devices the group studied were built with many different kinds of chips. A company that changed to a new chip often had to rewrite large parts of its code. For this reason, the group wanted code that could move to a different chip without being rewritten. Trademark lawyers found too many conflicts with the name Oak, so the team chose the name Java instead. Sun introduced Java to the public on May 23, 1995. Java later became known for the slogan "write once, run anywhere," which Gosling has described as a marketing line. Oracle completed its purchase of Sun on January 27, 2010, and Oracle now looks after Java.
Java and JavaScript
Java and JavaScript are two different programming languages. JavaScript was created at Netscape in 1995 by Brendan Eich. In December 1995, Netscape and Sun announced the name JavaScript as part of a partnership between the two companies. The companies linked the two names, even though the designs of the languages were only alike on the surface. Mozilla's documentation tells readers not to confuse the two languages, and it notes that both names are trademarks of Oracle. In this class, Java code is always called Java. The next lesson explains why so many people chose Java and what "write once, run anywhere" means.
Summary
A programming language is a set of words, symbols and rules for writing instructions, and source code is the text a person writes in one. A compiler such as javac checks source code against the language's rules and turns it into a form the computer can run. Java began in Sun's Green Project under the name Oak, was introduced in 1995, and has been looked after by Oracle since 2010.
Sources: Oracle, The Java Tutorials: About the Java Technology; Oracle, The javac Command (Java SE 21); Oracle, The Java Tutorials: Common Problems; Downey and Mayfield, Think Java (2020); Downey, Think Python, 2nd ed.; Gosling, Oral History of James Gosling (Computer History Museum, 2019); Krill, Java turns 30 (InfoWorld, 2025); Wirfs-Brock and Eich, JavaScript: The First 20 Years (2020); Oracle, Oracle Completes Acquisition of Sun (2010); Oracle, Java Software; Mozilla, JavaScript (MDN Web Docs).
-
notebook cue: programming language
Java and English both have words and rules. What makes Java a programming language and English not one?
Check
Java was designed for writing instructions a computer can carry out, its rules are strict, and each statement has exactly one meaning. English was not designed for computers, and many English sentences can mean two different things, so a computer could not run them as written. See Programming Languages, paragraph 2.
-
notebook cue: source code
A programmer types a short Java program into a file named Main.java. What is the text in that file called, and who wrote it?
Check
The text is source code, and the programmer wrote it. Source code is the text a person writes in a programming language, and in Java it is saved in a file whose name ends in .java. See Source Code and the Compiler, paragraph 1.
-
notebook cue: compiler
The computer cannot run Main.java exactly as it was typed. What does the compiler do with it?
Check
The compiler, javac, reads Main.java and checks every statement against the rules of Java. Then it turns the code into a new file, Main.class, that the computer can run. If a rule is broken, it reports an error with the line number and makes no new file. See Source Code and the Compiler, paragraph 2.
The big picture so far (newest on top)
-
notebook cue: programming language
Java and English both have words and rules. What makes Java a programming language and English not one?
Check
Java was designed for writing instructions a computer can carry out, its rules are strict, and each statement has exactly one meaning. English was not designed for computers, and many English sentences can mean two different things, so a computer could not run them as written. See Programming Languages, paragraph 2.
-
notebook cue: source code
A programmer types a short Java program into a file named Main.java. What is the text in that file called, and who wrote it?
Check
The text is source code, and the programmer wrote it. Source code is the text a person writes in a programming language, and in Java it is saved in a file whose name ends in .java. See Source Code and the Compiler, paragraph 1.
-
notebook cue: compiler
The computer cannot run Main.java exactly as it was typed. What does the compiler do with it?
Check
The compiler, javac, reads Main.java and checks every statement against the rules of Java. Then it turns the code into a new file, Main.class, that the computer can run. If a rule is broken, it reports an error with the line number and makes no new file. See Source Code and the Compiler, paragraph 2.
Programming Languages and Where Java Came From
This section explains what a programming language is, how a person's code becomes something a computer can run, and where the Java language came from.
Programming Languages
On October 14, the class read that a program is a set of instructions that a person wrote, while a model is trained on examples. Monday's passage showed that everything in an AI tool except the model is an ordinary program, written by people in a programming language.
A programming language is a set of words, symbols and rules for writing instructions that a computer can carry out. Each programming language has strict rules about how a statement is built and which symbols may appear in it. A statement in a programming language is designed to have exactly one meaning, wherever it appears. English is not a programming language, because nobody designed it for computers and many English sentences can mean two different things. For example, "The coach saw the player with the camera" does not say who has the camera, so a computer could not run it. Java is one programming language, and Python and JavaScript are two others.
Source Code and the Compiler
Source code is the text that a person writes in a programming language. It is meant to be read by people as well as by the computer. In Java, source code is saved in plain text files whose names end in .java. The short program below is Java source code that a person could type into a file named Main.java. The class will read code like this in November.
1public class Main { 2 public static void main(String[] args) { 3 System.out.println("Hello from McDonogh 35"); 4 } 5}
Hello from McDonogh 35
A compiler is a program that reads source code, checks that it follows the language's rules, and turns it into a form the computer can run. Java's compiler is a program called javac. First, a person saves the source code as Main.java. Next, the person runs javac on that file. Then javac checks every statement against the rules of Java. If a rule is broken, such as a missing semicolon, javac reports an error with its line number and makes no new file. If there are no errors, javac writes a new file named Main.class, which the computer can run.
The person writes the source code, and the compiler does the turning. A compiler is not the person who wrote the program, because it only checks and turns instructions that a person already wrote. The Main.class file is not source code either, because the compiler made it and no person typed it. Figure 1 shows these steps as three boxes.
Where Java Came From
Java began inside a small research group at Sun Microsystems called the Green Project. In a 2019 interview, James Gosling said the project started at the very end of 1990 and ended in September 1992. The group studied consumer electronics such as TVs and VCRs. Gosling, often called the father of Java, was the only member who had built a compiler before. He volunteered to make the C language safer for those devices, and that work grew into a new language. According to his own account, he named the language Oak after an oak tree outside his office window.
The devices the group studied were built with many different kinds of chips. A company that changed to a new chip often had to rewrite large parts of its code. For this reason, the group wanted code that could move to a different chip without being rewritten. Trademark lawyers found too many conflicts with the name Oak, so the team chose the name Java instead. Sun introduced Java to the public on May 23, 1995. Java later became known for the slogan "write once, run anywhere," which Gosling has described as a marketing line. Oracle completed its purchase of Sun on January 27, 2010, and Oracle now looks after Java.
Java and JavaScript
Java and JavaScript are two different programming languages. JavaScript was created at Netscape in 1995 by Brendan Eich. In December 1995, Netscape and Sun announced the name JavaScript as part of a partnership between the two companies. The companies linked the two names, even though the designs of the languages were only alike on the surface. Mozilla's documentation tells readers not to confuse the two languages, and it notes that both names are trademarks of Oracle. In this class, Java code is always called Java. The next lesson explains why so many people chose Java and what "write once, run anywhere" means.
Summary
A programming language is a set of words, symbols and rules for writing instructions, and source code is the text a person writes in one. A compiler such as javac checks source code against the language's rules and turns it into a form the computer can run. Java began in Sun's Green Project under the name Oak, was introduced in 1995, and has been looked after by Oracle since 2010.
Sources: Oracle, The Java Tutorials: About the Java Technology; Oracle, The javac Command (Java SE 21); Oracle, The Java Tutorials: Common Problems; Downey and Mayfield, Think Java (2020); Downey, Think Python, 2nd ed.; Gosling, Oral History of James Gosling (Computer History Museum, 2019); Krill, Java turns 30 (InfoWorld, 2025); Wirfs-Brock and Eich, JavaScript: The First 20 Years (2020); Oracle, Oracle Completes Acquisition of Sun (2010); Oracle, Java Software; Mozilla, JavaScript (MDN Web Docs).
Each table agrees on one guess for what happens between the code a person types and the instructions the chip runs, and decides whether a person or a program does it.
Chromebooks stay closed while your table talks. Sections 1 and 2 of the discussion form are already done. After you talk, finish Section 3 right here under My View. Submit before the exit ticket.
This form has three sections. Section 1: answer today's Board Question. Section 2: after the reading. Section 3 opens later in class. Today's Board Question: People write code using words like print and if, but a computer's chip runs only very simple instructions made of numbers. What do you think happens in between? Give your guess in one sentence, and say whether a person or a program does that step.
CR 1. Board Question: People write code using words like print and if, but a computer's chip runs only very simple instructions made of numbers. What do you think happens in between? Give your guess in one sentence, and say whether a person or a program does that step. Give your answer and one reason.
Write your answer in your lab notebook, labeled CR 1.
MC 1. Think about your answer to the board question. People write code using words like print and if, but a computer's chip runs only very simple instructions made of numbers. What do you think happens in between? Give your guess in one sentence, and say whether a person or a program does that step. Which position is closest to yours now?
- Nothing happens in between. The chip reads the words the way they were typed.
- Another program translates the code into instructions the chip can run.
- The computer was trained on examples until it learned to understand the words.
MC 2. (Reading claim 1) Java and JavaScript are two names for the same language.
- Agree
- Disagree
MC 3. (Reading claim 2) Source code is written by a person, so a person can read it.
- Agree
- Disagree
MC 4. (Reading claim 3) Java was first built for small devices, not for web pages.
- Agree
- Disagree
MC 5. (Reading claim 4) A compiler is a program, not the person who wrote the source code.
- Agree
- Disagree
MC 6. (Reading claim 5) If a statement breaks one of Java's rules, javac fixes it and makes Main.class anyway.
- Agree
- Disagree
MC 7. (Reading claim 6) In Figure 1, source code goes straight to a form the computer can run, with nothing in between.
- Agree
- Disagree
MC 8. (Reading claim 7) James Gosling first named the language Oak.
- Agree
- Disagree
MC 9. (Reading claim 8) In whole-number division, 30 ÷ 4 is 7.5.
- Agree
- Disagree
CR 2. (A different view) Write the view at your table that was most different from yours. If everyone agreed, write the strongest argument against your table's answer.
Write your answer in your lab notebook, labeled CR 2.
CR 3. Think about the Board Question again: People write code using words like print and if, but a computer's chip runs only very simple instructions made of numbers. What do you think happens in between? Give your guess in one sentence, and say whether a person or a program does that step. Do you have the same opinion as when you first answered the board question? If it is the same, what from the reading or table talk reaffirmed your opinion? If it is different, what from the reading or table talk changed your opinion?
Write your answer in your lab notebook, labeled CR 3.