242-210 Programming Fundamentals 2: Background/1 1 242-210 F II Objectives – –give a non-technical overview of Java Semester 2, 2012-2013 1. Background.

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language.
In Review JAVA C++ GUIs - Windows Webopedia.com.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Introduction to Java The objectives of this chapter are: To describe the key aspects of Java To describe the Java software development kit (SDK) To explain.
got ? Research Project – April 1998 Hang Xia, Mark Wang, Richard S. Chang Updated: R Norman, August 1999.
Prepared By E.Musa Alyaman1 Chapter 2 The Java Overview.
Lab 1 Instructor: Jolanta Soltis.
PHY281Introduction to JavaSlide 1 Introduction to Java In this section we will learn how how to use Java and write our first Java Applet:  The Java Development.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Marlene Galea.  The JDK (Java Development Kit)  An IDE (Integrated Development Environment) ◦ Different IDEs include:  JCreator  NetBeans  BlueJ.
CMSC 202 Computer Science II for Majors Fall 2009 Introduction.
Developing User Interfaces (DUI) Chris North cs3724: HCI.
Suma D Event Driven programming using java(CSE210) Overview of java Packages and interface Exception handling Multithreading Input/output.
Advanced OOP MCS-3 OOP BSCS-3 Lecture # 1
Introduction to Java Programming. Contents 1. Java, etc. 2. Java's Advantages 3. Java's Disadvantages 4. Types of Java Code 5. Java Bytecodes 6. Steps.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
EE2E1. JAVA Programming Introduction Dr. Mike Spann
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Parts of a Computer Why Use Binary Numbers? Source Code - Assembly - Machine Code.
CS413: Java Programming language Applications Applets
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Introduction to Java Kumar Harshit. Objectives ( 목적지 ) At the end of the lesson, the student should be able to: ● Describe the features of Java technology.
Lecturer PEN PHIROM Tel : Web site: Lecturer PEN PHIROM Tel :
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
CMSC 202 Computer Science II for Majors Object-Oriented Programming.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.2 Getting the Tools and Setting Up the Development.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
The Basics of Javadoc Presented By: Wes Toland. Outline  Overview  Background  Environment  Features Javadoc Comment Format Javadoc Program HTML API.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
JAVA Java is a programming language and computing platform first released by Sun Microsystems in It was first developed by James Gosling at Sun Microsystems,
The Joy of Programming (also known as) Introduction to Object-Oriented Programming.
Java Tutorial Ethan New York University.
Session 1 Introduction to Java. Objectives Java Simplified / Session 1 / 2 of 32 Explain the history of Java Explain Java in brief List the types of Java.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Introduction to Java The Java Platform, The Java Language, JDK, Eclipse Svetlin Nakov Technical Trainer Software University
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing with Graphics.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing with Graphics.
The Java Platform, The Java Language, JDK, IntelliJ
Java – in context Main Features From Sun Microsystems ‘White Paper’
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
การเขียนโปรแกรมภาษา จาวา Java Programming อ. ยืนยง กันทะเนตร คณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยพะเยา Chapter 1.
ITP 109 Week 2 Trina Gregory Introduction to Java.
Introduction to Programming 1 1 2Introduction to Java.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 15: Java Basics Fundamentals of Web Programming.
Introduction to JAVA Programming
JAVA TRAINING IN NOIDA. JAVA Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented and specifically.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Tips for using Java with Internet Explorer
Applications Active Web Documents Active Web Documents.
Object Oriented Programming in
Before You Begin Nahla Abuel-ola /WIT.
A Programming Language for Web-based Computing with Graphics
Architecture of Android
Chapter 1 Introduction to Computers, Programs, and Java
Introduction to Advanced Java Programming
Introduction Enosis Learning.
Introduction Enosis Learning.
(Computer fundamental Lab)
Java History, Editions, Version Features
F II 1. Background Objectives
Review of Previous Lesson
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

Programming Fundamentals 2: Background/ F II Objectives – –give a non-technical overview of Java Semester 2, Background Original Slides by Dr. Andrew Davison

Programming Fundamentals 2: Background/1 2 Contents 1.Java, etc. 2.Java's Advantages 3.Java's Disadvantages 4.Types of Java Code 5.Core Libraries 6.Notes on Java Installation

Programming Fundamentals 2: Background/ Java's Many Names language (Java 2) tools runtime; libraries; compiler; profiler; debugger;... JRE (Java Runtime Environment) JDK (Java Software Development Kit) or SDK, JSDK, J2SDK Java SE (current version is 7, or 1.7)

Programming Fundamentals 2: Background/1 4 Other Javas (e.g. OpenJDK) I'll be using the Java developed by Oracle (initially by Sun). I'll be using the Java developed by Oracle (initially by Sun). There are other implementations of Java, the most important being OpenJDK There are other implementations of Java, the most important being OpenJDK –popular on Linux It's easier for non-Oracle people to add features to OpenJDK. It's easier for non-Oracle people to add features to OpenJDK.

Programming Fundamentals 2: Background/ Java’s Advantages Productivity – –object orientation – –many standard libraries (packages) Simpler/safer than C, C++ – –no pointer arithmetic, has automatic garbage collection, has array bounds checking, etc. continued

Programming Fundamentals 2: Background/1 6 GUI features – –mostly located in the Swing and Abstract Windowing Toolkit (AWT) packages Multimedia – –2D and 3D graphics, imaging, animations, audio, video, etc. continued

Programming Fundamentals 2: Background/1 7 Network support – –communication with other machines/apps – –variety and standards: sockets, RMI, IPv6 – –security, resource protection Multithreading / concurrency – –can run several ‘threads’ at once – –extensive concurrency libraries continued

Programming Fundamentals 2: Background/1 8 Portablility / Platform Independence – –“write once; run anywhere” – –only one set of libraries to learn Supports native code – –can integrate legacy (old) C/C++ code JDK is free continued

Programming Fundamentals 2: Background/1 9 Good programming environments: – –Eclipse, Blue J, NetBeans – –do not use them when first learning Java – – Applets (and Java Web Start) eliminates the need for explicit software installation.

Programming Fundamentals 2: Background/1 10 Some Java Statistics (May 2012)

Programming Fundamentals 2: Background/ Java’s Disadvantages Java/JDK is still being developed – –many changes between versions Sun has not guaranteed backward compatibility of future versions of Java. – –at the moment, when old-style code is compiled, the compiler gives a “deprecation” warning, but will still accept it continued

Programming Fundamentals 2: Background/1 12 Java compilation/execution was slow, but... – –not any more: JDK 7 is the same speed as C (perhaps a tiny bit slower for some things) – –there are compilers to native code, but they destroy the “write one; run anywhere” idea – –the first version of Java, back in 1995, was about 40 times slower than C continued

Programming Fundamentals 2: Background/1 13 Cross-platform testing and debugging has been a problem (due to inconsistencies) – –most major problems have been fixed “Write once; run anywhere” means that some local OS features weren't supported: – –e.g. right button actions under Windows – –no joysticks, special keypads – –this is fixed in the latest versions of Java continued

Programming Fundamentals 2: Background/1 14 Java’s security restrictions makes some code hard to write: – –cannot “see” much of a local machine – –newer JDK versions make this easier The existing code base (in C, VB, etc.) means that people do not want to rewrite applications in Java. continued

Programming Fundamentals 2: Background/1 15 Embedded Systems – –Sun Microsystems (Java’s inventor) saw this as a major market for Java – –Java ME (Java 2 Micro Edition) is a cut-down version of Java – –Java ME was the main programming language for mobile devices continued

Programming Fundamentals 2: Background/1 16 Slow Internet connections – –makes it difficult (and irritating) to download medium/large size applets – –e.g. flash files have replaced Java animations Lots to learn – –Java language (small) and Java libraries (very, very large) continued

Programming Fundamentals 2: Background/1 17 There seem to be few ‘serious’ Java applications. But... – –the Java compiler ( javac ) is written in Java – –most custom Java applications are internal to a company they don’t have the high profile of major vendor software

Programming Fundamentals 2: Background/ Types of Java Code There are two kinds of Java code: 1. Java applications – –ordinary programs; stand-alone – –they don’t run inside a browser (but they can use Java’s GUI libraries) continued We will see examples in the next part.

Programming Fundamentals 2: Background/ Java applets – –they run in a Web browser – –they are attached to Web pages, so can be downloaded easily from anywhere – –applets have access to browser features

Programming Fundamentals 2: Background/ Core Libraries Java runtime – –standard I/O, networking, applets, basic windowing, data structures, internationalization, maths, etc. Java Foundation Classes – –Swing GUI library, Java 2D graphics continued

Programming Fundamentals 2: Background/1 21 Security – –digital signatures, message digests JDBC – –database connectivity Java RMI – –remote method invocation JavaBeans – –a software component library and much, much more…

Programming Fundamentals 2: Background/ Notes on Java Installation Add the bin path for Java to the PATH environment variable This says where the Java tools (e.g. javac ) are located. c:\Program Files\java\jdk1.6.0_22\bin;

Programming Fundamentals 2: Background/1 23 Install the Java Docs/Tutorial Unzip the Java documentation and tutorial files: – –jdk-6-doc.zip – –tutorial.zip Place them as subdirectories \docs and \tutorial below the directory java continued

Programming Fundamentals 2: Background/1 24 You should add a Java menu item to the “Start” menu, which contains shortcut links to the Java documentation and tutorial. Test the Java. In a DOS window, type: > java –version > javac -version