16
1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

Embed Size (px)

Citation preview

Page 1: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

1

G54PRG ProgrammingLecture

1

Amadeo Ascó Adam Moore

G54PRG ProgrammingLecture

1

Amadeo Ascó

3

Java Programming Language

Page 2: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

2Amadeo Ascó , Adam Moore

Previously• What is a programming language?– Set of grammatical rules for instructing a computer to

perform specific tasks• Languages by implementation– Machine language; Assembly language– Compiled languages; C, C++– Interpreted languages; Java

• Language by paradigm• Simple initial design– Divide project into smaller and simpler subprojects– Pseudocode

Page 3: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

3Amadeo Ascó , Adam Moore

Overview

• What’s Java?• Some history• Characteristics• Components• Type of programs• Development

Page 4: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

4Amadeo Ascó , Adam Moore

What’s Java?

Java is a programming language • Created by Sun Microsystems • Often used for web programming – Initially marketed as a web development system – Java is not only for web programming

• General purpose programming language • Very similar to C++ – simplified!

Page 5: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

5Amadeo Ascó , Adam Moore

What Else?

NOT JAVASCRIPT!!!!

Page 6: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

6Amadeo Ascó , Adam Moore

Some history

• James Gosling - Sun– Started 1991, Launched 1995– "write once, run anywhere" WORA

• There were five primary goals :– It should be "simple, object oriented, and familiar".– It should be "robust and secure".– It should be "architecture neutral and portable".– It should execute with "high performance".– It should be "interpreted, threaded, and dynamic".

• NOT Licensed to Microsoft - $20M

Page 7: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

7Amadeo Ascó , Adam Moore

Current 'Flavours'

• Java SE– Standard Edition

• Java EE– Enterprise Edition– Servlets

• Java ME– Micro Edition– Optimised for mobile devices

Page 8: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

8Amadeo Ascó , Adam Moore

Characteristics

• Object Oriented• Concurrent• Interpreted• Modular– There's a library for (nearly) everything!

• Internationalization - utf8 native• Memory Management• Error Handling

Page 9: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

9Amadeo Ascó , Adam Moore

Components

Hardware

Operating System

Virtual Machine

Byte Code

Page 10: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

10Amadeo Ascó , Adam Moore

Development / Distribution

• JDK– Development Toolkit– Compiler– Header Files

• JRE– Runtime Environment– Just what's needed to execute bytecode

Page 11: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

11Amadeo Ascó , Adam Moore

Type of programs

• Applications– Has an entry point; static main method– Runable in a computer with JVM

JVM

OS

Application

Storage

Library (y)Library (y)Library (y)

Page 12: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

12Amadeo Ascó , Adam Moore

Type of programs

• Applets– GUI applications– Applet is a program written in the Java that can be

included in an HTML page

Browser

Library (y)Library (y)

OS

Applet

Web Server

Storage

Library (y)

Page 13: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

13Amadeo Ascó , Adam Moore

• Servlets– Applications that run on the server side, so has an

entry point– Normally used to extend functionality of a Web

Type of programs

ServletWeb

Server

Storage

JVM

OS

LibraryLibrary

Page 14: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

14Amadeo Ascó , Adam Moore

• Libraries– Re-usable code– Cannot be run by itself; doesn’t have an entry

point

Type of programs

JVM

OS

Application

Storage

Library (y)Library (y)Library (y)

Page 15: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

15Amadeo Ascó , Adam Moore

Development

• Java Development Kit (JDK)http://www.oracle.com/technetwork/java/javase/

downloads/index.html

• Eclipse Development EnvironmentPenumbra is in

http://wiki.eclipse.org/Eclipse_IDE_for_Education

• Documentation for Java librarieshttp://download.oracle.com/javase/6/docs/api/

• Tutorialhttp://download.oracle.com/javase/tutorial/index.html

Page 16: 1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language

16Amadeo Ascó , Adam Moore

Eclipse

• Rapid Application Development• Very Powerful• Most commonly used RAD today• For (just about) all Languages• Can be very complex• So - we are using Penumbra– Special Educational Edition