CS I · Tue Oct 27 · 13.2 · Do Now

Where Java Came From

Open the discussion form on the right and answer Section 1 from your first reading.

Announcements

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).

I Do questions
  1. 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.

  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.

  3. 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.

Figure 1. Java's story runs from the Green Project at Sun in 1991 to Oracle today, and a person's source code passes through a compiler to become a form the computer can run.

The big picture so far (newest on top)

Big picture 5 of 5. What you can reach. The AI tool sits inside its walls from Big picture 4. You can reach past them to a library card's databases, Look It Up stations, archives, books on the shelf and librarians, each with a real catch.
Big picture 4 of 5. Walls you can't see. Around the chain from Big picture 3 sit three walls: sources behind a login that the search can't open, a training gap shaped by crawler blocks and licensing deals, and policy rules that can look like missing information.
Big picture 3 of 5. Generation and retrieval. In Google's AI Mode, Lens reads the image, Search fetches pages from the open web (retrieval), and Gemini writes the answer from its squeezed chunk (generation), with links back to the pages.
Big picture 2 of 5. The song ladder. On each rung the gaps get bigger and less is really known, but the model sings every rung in the same confident voice. On rung 4 a word gets "picked anyway," which people call a hallucination.
Big picture 1 of 5 (from 12.2). Training squeezes one chunk of the internet into a much smaller parameters file and loses details; probability fills the gaps when the model is used.
I Do questions
  1. 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.

  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.

  3. 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).

Table Talk
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.

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.