introduction to java for python programmers · why java? • more adequate for sophisticated...
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/18.jpg)
// 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](https://reader033.vdocuments.site/reader033/viewer/2022053022/604b925ffbeb2c00fd14bbcd/html5/thumbnails/19.jpg)
19