AURORA STATE COLLEFE OF TECHNOLOGY
MODULE 1
Introduction to JAVA Programming
SUBJECT CODE: PROG2
INSTRUCTOR: JOSHUA C. FORNAL
SCHOOL OF INFORMATION TECHNOLOGY
General Learning Objectives :
By the end of this module, the learner will
be able to describe the fundamental evolution
and architecture of the Java programming
language, specifically explaining the "Write
Once, Run Anywhere" (WORA) philosophy.
Introduction
what is JAVA?
Java is a programming language originally developed by
James Gosling at Sun Microsstems and released in 1995 as a
core component of Sun Microsystems' Java platform. The
language derives much of its syntax from C and C++ but has a
simpler object model and fewer low-level facilities. Java
applications are typically compiled to bytecode (classfile) that
can run on any Java virtual machine (JVM) regardless of
computer architecture.
Introduction
what is JAVA?
The original and reference implementation Java
compilers, virtual machines, and class libraries were developed
by Sun from 1995. As of May 2007, in compliance with the
specifications of the Java Community Process, Sun made
available most of their Java technologies as free software under
the GNU General Public license. Others have also developed
alternative implementations of these Sun technologies, such as
the GNU Compiler for Java and GNU Classpath.
AURORA STATE COLLEFE OF TECHNOLOGY
HISTORY of JAVA
SCHOOL OF INFORMATION TECHNOLOGY
History
James Gosling initiated the Java language
project in June 1991 for use in one of his many
set-top box projects. The language, initially called
Oak after an oak tree that stood outside Gosling's
office, also went by the name Green and ended
up later renamed as Java, from a list of random
words. Gosling aimed to implement a virtual
machine and a language that had a familiar
C/C++ style of notation.
History (1995)
Sun released the first public
implementation as Java 1.0 in 1995: It promised
"Write Once, Run Anywhere" (WORA), providing
no-cost run-times on popular platforms. Fairly
secure and featuring configurable security, it
allowed network-and file-access restrictions.
History (1998)
Major web browsers soon incorporated the
ability to run Java applets within web pages, and
Java quickly became popular. With the advent of
Java 2 (released initially as J2SE 1.2 in December
1998), new versions had multiple configurations
built for different types of platforms. For
example, JEE targeted enterprise applications
and the greatly stripped down version J2MEfor
mobile applications.
History TODAY
Java technology includes Java Standard
Edition (Java SE) which lets you develop and
deploy Java applications on desktops and
servers, as well as in today's demanding
embedded environments. Java offers the rich
user interface, performance, versatility,
portability, and security that today's
applications require.
History TODAY
While Java EE 6 SDK and Java EE 6 Web Profile
SDK are free integrated development kits for
building, testing, and deploying Java EE 6-based
applications. Java EE 6 SDK and Java EE 6 Web Profile
SDK contain Oracle GlassFish Server v3 and Oracle
GlassFish Server v3 Web Profile, respectively, which
implement the latest Java EE 6 platform
technologies, including JavaServer Faces 2.0, Java
Persistence 2.0, and Enterprise JavaBeans 3.1.
History TODAY
Java EE 6 Web Profile SDK is designed
specifically for Web applications. Java EE 6 SDK is the
complete Java EE 6 platform. Java ME Platform SK on
other hand is a state-of-the-art toolbox for developing
mobile applications. It provides device emulation, a
standalone development environment, and a set of
utilities for rapid development of Java ME
applications.
History TODAY
The JavaFXScript and the JavaX Mobile are the
newest addition in the Java Technology. JavaFX Script
comprises comprehensive set of runtime environments,
widgets, development tools and scripting
environments.
It's a simple scripting language for creating rich
content and applications to run on billions of JavaTM-
powered devices from mobile phones to Blu-ray Disc
players to the browser. While JavaX Mobile, is a small
GNU/Linux platform with a complete Java 6 runtime.
Primary Goals
There were five primary goals in the creation of the Java ;
1. It should be "simple, object oriented, and familiar"
2. It should be "robust and secure"
3. It should be "architecture neutral and portable"
4. It should execute with "high performance"
5. It should be "interpreted, threaded, and dynamic"
Powerful Features of Java
● Simple ● Secure
● Reusable ● High Performance
● Portable (Platform Independent) ● Dynamic
● Distributed ● Multithreaded
● Robust ● Interpreted
Simple
There are various features that make the java as a
simple language. Programs are easy to write and debug
because java does not use the pointers explicitly. It is
much harder to write the java programs that can crash
the system but we cannot say about the other
programming languages. Java provides the bug free
system due to the strong memory management. It also
has the automatic memory allocation and deallocation
system.
Reusable
Reusable components are simply pre-built pieces
of programming code designed to perform a specific
function. While designing an application in a visual
environment, controls can be quickly dropped into the
design, and modified to fit the task at hand. Most of the
controls you'll find are designed to handle such tasks as
pushbuttons, menus, text labels, and so forth. As a
developer, you only need to write code to "glue" them
into your application, and develop the interactions
between controls.
Portable (Platform Independent)
Unlike many other programming languages
including C and C++ when Java is compiled, it is not
compiled into platform specific, rather into platform
independent byte code. This byte code is distributed
over the web and interpreted by virtual machine (JVM)
on whichever platform it is being run.
Distributed
With extensive set of routines to handle
TCP/IP protocols like HTTP and FTP java can
open and access the objects across net via URLS.
Robust
Java has the strong memory allocation and
automatic garbage collection mechanism. It provides
the powerful exception handling and type checking
mechanism as compare to other programming
languages. Compiler checks the program whether there
any error and interpreter checks any run time error and
makes the system secure from crash. All of the above
features make the java language robust.
Secure
Java was designed to allow secure execution of
code across network. To make Java secure many of the
features of C and C++ were eliminated. Java does not
use Pointers. Java cannot access arbitrary addresses in
memory.
High Performance
Java uses native code usage, and lightweight
process called threads. In the beginning interpretation
of bytecode resulted the performance slow but the
advance version of JVM uses the adaptive and just in
time compilation technique that improves the
performance.
Dynamic
While executing the java program the user can
get the required files dynamically from a local drive or
from a computer thousands of miles away from the user
just by connecting with the Internet.
Multithreaded
One of the powerful aspects of the Java language
is that it allows multiple threads of execution to run
concurrently within the same program a single Java
program can have many different threads executing
independently and continuously. Multiple Java applets
can run on the browser at the same time sharing the
CPU time.
Interpreted
We all know that Java is an interpreted language
as well. With an interpreted language such as Java,
programs run directly from the source code. The
interpreter program reads the source code and
translates it on the fly into computations. Thus, Java as
an interpreted language depends on an interpreter
program.
Interpreted
The versatility of being platform independent
makes Java to outshine from other languages. The
source code to be written and distributed is platform
independent. Another advantage of Java as an
interpreted language is its error debugging quality. Due
to this any error occurring in the program gets traced.
This is how it is different to work with Java.
AURORA STATE COLLEFE OF TECHNOLOGY
// End of Part 1
Questions?
SCHOOL OF INFORMATION TECHNOLOGY
THANK YOU!