introduction to java for python programmers · why java? • more adequate for sophisticated...

19
Introduction to Java for Python Programmers Dominique Thiebaut CSC212 — Fall 2014 1

Upload: others

Post on 14-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Introduction!to Java!

for Python ProgrammersDominique Thiebaut CSC212 — Fall 2014

1

Page 2: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Why Java?• More adequate for sophisticated projects.

• Python is great for prototyping. Java good for development

• Java programs run faster than Python programs

• Structured language: everything is a class or an object.

• Easy to maintain large projects with many classes.

• Platform independent

2

Page 3: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Ranking

http://spectrum.ieee.org/static/interactive-the-top-programming-languages

3

Page 4: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Jobs

http://r4stats.com/2014/02/25/job-trends-improved/ (Feb 2014)

4

Page 5: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Interpreted vs Compiled

5

Page 6: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Interpreted vs Compiled

for i in [1,2,3]: print( i )

6

Read Line

EvaluateExecute

Page 7: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Interpreted vs Compiled

for i in [1,2,3]: print( i )

7

Read Line

EvaluateExecute

Simplicity Complexity

Page 8: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Interpreted vs Compiled

8

Page 9: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

9

for ( int i=0; i<3; i++ ) { System.out.println( i ); }

Compiler

01010101 01000111 10101001 01010001 00100101 11110011 11010111 10101010 11010101 01011111 00111011

MyProgram.class

MyProgram.java

JAVA VIRTUALMACHINE

(JVM)(byte code)

Page 10: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

10

for ( int i=0; i<3; i++ ) { System.out.println( i ); }

Compiler

01010101 01000111 10101001 01010001 00100101 11110011 11010111 10101010 11010101 01011111 00111011

MyProgram.class

MyProgram.java

JAVA VIRTUALMACHINE

(JVM)(byte code)

JAVA VIRTUALMACHINE

(JVM)

PCM A C

Page 11: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

11

for ( int i=0; i<3; i++ ) { System.out.println( i ); }

Compiler

01010101 01000111 10101001 01010001 00100101 11110011 11010111 10101010 11010101 01011111 00111011

MyProgram.class

MyProgram.java

JAVA VIRTUALMACHINE

(JVM) (byte code)

JAVA VIRTUALMACHINE

(JVM)

PCM A C

More Complex

Simpler/Faster

Page 12: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

An Example: Hello World!

12

Page 13: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

An Example: Hello World!

1) Write the code 2) Analyze the different parts 3) Create & run real program

13

Page 14: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

Hello World!

14

class HelloWorld {!! public static void main(String[] args) {! System.out.println( "Hello, World!" );! }!!}

HelloWorld.java

Page 15: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

emacs HelloWorld.java !

javac HelloWorld.java !

java HelloWorld !

!

Hello, World!

15

Page 16: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

emacs HelloWorld.java !

javac HelloWorld.java !

java HelloWorld !

!

Hello, World!

16

Page 17: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

17

Page 18: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

// Lecture1.java// D. Thiebaut// A program that uses some simple Java features.!public class Lecture1 { // main program public static void main(String[] args) { // local variables String name = "Sophia Smith"; int age = 24; double height = 94.5; // inches! // printout a message on the screen System.out.println( name + " is " + age + " years old." ); System.out.println( "Welcome to Smith College!" ); System.out.println( "=========================" );! }!}

18

Page 19: Introduction to Java for Python Programmers · Why Java? • More adequate for sophisticated projects. • Python is great for prototyping.Java good for development • Java programs

19