Download presentation
Presentation is loading. Please wait.
Published byEleanor Butler Modified over 8 years ago
1
Lecture 3: Scaffolding and Output Announcements & Review Announcements Discussion Sections: PAI 5.70 until further notice Pair in same discussion Email: 305j in subject Last Time Acquiring & creating language Noam Chomsky Catherine Snow
2
Lecture 3: Scaffolding and Output Today Compilation and Execution –What’s “javac” do? –What happens next? Basics –Scaffolding - what every program needs –Making the computer talk to you!
3
Lecture 3: Scaffolding and Output Static Compilation & Execution Easier case: The C programming language “static” ahead-of-time compilation model: Tool: “cc” the C compiler Your file: Circle.c “cc Circle.c” -> (Circle.a) -> a.out Executable: a.out “a.out ”
4
Lecture 3: Scaffolding and Output Dynamic Compilation & Execution Java “dynamic” compilation model: 2 Tools “javac” the Java bytecode compiler “java” the Java virtual machine Your file: Circle.java What do you do in Bluej? “javac Circle.java” -> Circle.class Executing Bytecode: low-level virtual machine form machine independent, portable What do you do in Bluej? “java Circle.class ”
5
Lecture 3: Scaffolding and Output Java Dynamic Compilation Executing Bytecode: “java Circle.class ” What happens? Interpretation vs Dynamic Compilation
6
Lecture 3: Scaffolding and Output Dynamic Compilation & Execution Java “dynamic” compilation model: Executing Bytecode: “java Circle.class ” - What happens? Interpreting 1.map each bytecode to a machine code sequence, 2.for each bytecode, execute the sequence Translation to machine code 1.map all the bytecodes to machine code (or a higher level intermediate representation), 2.massage them (e.g., get rid of redundancies between instructions), 3.execute the machine code
7
Lecture 3: Scaffolding and Output Dynamic Compilation & Execution “Hotspot” compilation, a hybrid 1.Initially interpret 2.Find the “hot” (frequently executed code) methods, and translate only these hot methods to machine code
8
Lecture 3: Scaffolding and Output Basics What you write –Scaffolding - what every program needs –Making the computer talk to you! Comments - tell the compiler to ignore text // the compiler ignores this text on the same line /* For multi-line comments, you can use * this form and it will ignore all this text * too until it sees */
9
Lecture 3: Scaffolding and Output Scaffolding: Magic or Logical? /* Kathryn S McKinley * January 10, 2005 * file: Song.java * My program does nothing right now! */ public class Song { // code can go here public static void main (String [] args) { // code here too }
10
Lecture 3: Scaffolding and Output Printing System.out.print(“I love CS305j.”); System.out.println(“I love CS305j.”); [More examples in Bluej…]
11
Lecture 3: Scaffolding and Output Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.