Advance Computer Programming: by Hasnat Ali
Advance Computer Programming: by Hasnat Ali
Advance Computer Programming: by Hasnat Ali
Programming
By
Hasnat Ali
Lecture Outlines
Computer Programs and Programming Languages
Programming Language Paradigms
Introduction to Java
Why Java
History of Java Language
Java’s Future
Java’s Features
Java Code Compiling Process
Types of Java Applications
The Java Language Specifications
Java Application Programming Interface (API)
The Java Development Kit (JDK)
Java Development Tools (or IDEs)
Summary
Computer Programs
Programming Paradigms
Imperative Declarative
Structured Domain-Specific
Object-Oriented
Java - Introduction
Java Is Simple
Java Is Object-Oriented
Java Is Distributed
Java Is Interpreted
Java Is Robust
Java Is Secure
Java Is Architecture-
Neutral
Java Is Portable
Java's Performance
Java Is Multithreaded
Java Is Dynamic
Features of Java
Java Is Dynamic
Features of Java
Java Is Object-Oriented
several computers working
together on a network.
Java Is Distributed Java is designed to make
Java Is Interpreted distributed computing easy. Since
Java Is Robust networking capability is inherently
integrated into Java, writing
Java Is Secure network programs is like sending
Java Is Architecture- and receiving data to and from a
file.
Neutral
Java Is Portable RMI(Remote Method
Invocation) CORBA
Java's Performance
Java Is Multithreaded
Java Is Dynamic
Features of Java
Java Is Object-Oriented
found in other languages.
Neutral
Java Is Portable
Java's Performance
Java Is Multithreaded
Java Is Dynamic
Features of Java
Java Is Simple
Java Is Object-Oriented
Java Is Distributed Automatic null checking of references
Java Is Architecture-
Neutral
Java Is Portable
Java's Performance
Java Is Multithreaded
Java Is Dynamic
Features of Java
Java Is Simple
Write once, run
anywhere
Java Is Object- With a Java Virtual Machine (JVM),
you can write one program that will
Oriented run on any platform.
Java Is Distributed
Java Is Interpreted Byte code
Java Is Robust
OS
independent
Java Is Architecture-
Neutral
Java Is Portable
Java's Performance
Java Is Multithreaded
Java Is Dynamic
Features of Java
Java Is Simple
Java Is Object-Oriented
Java Is Distributed
Java Is Interpreted
Java Is Robust
Java Is Secure
Java Is Architecture-
Neutral
Java Is Portable Because Java is architecture neutral,
Java programs are portable.
Java Is Multithreaded Java programs can be run on any
Java Is Dynamic platform without being recompiled.
Features of Java
Java Is Simple
Java Is Object-Oriented
Java Is Distributed
Java Is Interpreted
Java Is Robust
Java Is Secure
Java Is Architecture-
Neutral
Java Is Portable Byte code includes compiling information
Java's Performance Interpreter interprets byte code quickly
Java Is Multithreaded
Java Is Dynamic
Features of Java
Java Is Simple
Java Is Object-Oriented
Java Is Distributed
Java Is Interpreted
Java Is Robust
Java Is Secure
Java Is Architecture- Multithread programming is smoothly
integrated in Java, whereas in other
Neutral
Java Is Portable
languages you have to call procedures
specific to the operating system to
Java's Performance enable multithreading.
Java Is Multithreaded
Java Is Dynamic Parallel task
Data sharing
Features of Java
Java was designed to adapt to an evolving
Java Is Simple environment. New code can be loaded on
Create/Modify Source C o d e
Compile Source C o d e
B yt e c od e (generated b y the compiler for J V M i.e., javac Welcome.j ava
to read and interpret, not for you to understand)
…
Method Welcome() If compilation errors
0 aload_0 stored o n the disk
…
B ytecode
Method void main(java.lang.String[])
0 getstatic # 2 …
3 ldc # 3 <String "Wel co m e to
Java!">
5 invokevirtual # 4 …
8 return R u n Byteode
i.e., java Wel co me
R e su lt
Normal/Desktop applications
Web-based Applications
- JAVA Editions
java.sun.com/docs/books/jls
Java API – Application Programming
Interface
The application program interface (API) contains predefined
classes and interfaces for developing Java programs.
The Java language specification is stable, but the API is still
expanding.
At the Sun Java Website (java.sun.com), you can view and
download the latest version of the Java API.
http://docs.oracle.com/javase/8/docs/index.html
Java’s Edition
• Eclipse Platform
• http://www.eclipse.org/platform
• Developed by the Apache Software
Foundation
NetBeans
JCreator
Notepad and Textpad
Java Communities
http://www.javaworld.com
http://docs.oracle.com/javase/tutorial/
Java Home
• http://java.sun.com
• http://www.java.com
• http://www.oracle.com/technetwork/java/index.htm
l
Java Supported Companies
Summary
Introduction of Java
Brief history of Java
Features/characteristics of
Java
Java compilation Process
Types of Java Applications
Java Development Kit
Java Editions
Java Development Tools