A Brief History of Java
Java is an Object Oriented Programming language developed by the team of James Gosling,
Patrick Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems in 1991. This
language was initially called “Oak” but was renamed “Java” in 1995. The name Java came about
when some Suns people went for a cup of coffee and the name Java was suggested and it struck.
Java was developed out of the rich experiences of the professionals who came together to design
the programming language thus, it is an excellent programming language. It has similar syntax to
C/C++ programming languages but without it complexities. Java is an elegant programming
language.
Java was initially developed for programming intelligent electronic devices such as TVs, cell
phones, pagers, smart cards etc. Unfortunately the expectations of the Suns team in this area did
not develop as they envisaged. With the advent of the in the boom of the Internet and the World
Wide Web (WWW), the team changed their focus and Java was developed for developing web
based applications. It is currently being used to develop a variety of applications.
Why Java?
Thousands of programmers are embracing Java as the programming language of choice and
several hundred more will joining before the end of the decade. Why is this so? The basic
reasons for these are highlighted below:
1. Portability: Java is a highly portable programming language because it is not designed
for any specific hardware or software platform. Java programs once written are translated
into an intermediate form called bytecode. The bytecode is then translated by the Java
Virtual Machine (JVM) into the native object code of the processor that the program is
been executed on. JVMs exist for several computer platforms; hence the term Write Once
Run Anywhere (WORA).
2. Memory Management: Java is very conservative with memory; once a resource is no
longer referenced the garbage collector is called to reclaim the resource. This is one of
the elegant features that distinguishes Java from C/C++ where the programmer has to
“manually” reclaim memory.
3. Extensibility: The basic unit of Java programs is the class. Every program written in
Java is a class that specifies the attributes and behaviors of objects of that class. Java
APIs (Application Programmers Interface) contains a rich set reusable classes that is
made available to the programmers. These classes are grouped together as packages from
which the programmer can build new enhanced classes. One of the key terms of object
oriented programming is reuse.
4. Secure: Java is a very secure programming language. Java codes (applets) may not
access the memory on the local computer that they are downloaded upon. Thus it
provides a secure means of developing internet applications.
5. Simple: Java’s feature makes it a concise programming language that is easy to learn and
understand. It is a serious programming language that easily depicts the skill of the
programmer.
6. Robustness: Java is a strongly typed programming language and encourages the
development of error free applications.
Types of Java Programs
Java programs may be developed in three ways. They will be mentioned briefly here:
1. Java Applications: These are stand-alone applications such word processors, inventory
control systems etc.
2. Java Applets: These programs that are executed within a browser. They are executed on
the client computer.
3. Java Serverlets: These are server side programs that are executed within a browser.
The following are the basic principles of Object Oriented Programming (OOP)
1. Encapsulation: Encapsulation is a methodology that binds together data and the codes
that it manipulates thus keeping it safe from external interference and misuse. An object
oriented program contains codes that may have private members that are directly
accessible to only the members of that program. Also it may have program codes
(methods) that will enable other programs to access these data is a uniform and controlled
fashion.
2. Polymorphism: Polymorphism is a concept whereby a particular “thing” may be
employed in many forms and the exact implementation is determined by the specific
nature of the situation (or problem). As an example, consider how a frog, lizard and a fish
move (“the interface”) from one place to another. A frog may leap ten centimeters, a
lizard in a single movement moves two centimeters and a shark may swim three meters in
a single movement. All these animals exhibit a common ability – movement – expressed
differently.
3. Inheritance: Inheritance is the process of building new classes based on existing classes.
The new class inherits the properties and attributes of the existing class. Object oriented
programs models real world concepts of inheritance. For example children inherit
attributes and behaviors from their parents. The attributes such as color of eyes,
complexion, facial features etc represent the fields in an java. Behaviors such as being a
good dancer, having a good sense of humor etc represent the methods. The child may
have other attributes and behaviors that differentiate them from the parents.
Java is an Object Oriented Programming language developed by the team of James Gosling,
Patrick Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems in 1991. This
language was initially called “Oak” but was renamed “Java” in 1995. The name Java came about
when some Suns people went for a cup of coffee and the name Java was suggested and it struck.
Java was developed out of the rich experiences of the professionals who came together to design
the programming language thus, it is an excellent programming language. It has similar syntax to
C/C++ programming languages but without it complexities. Java is an elegant programming
language.
Java was initially developed for programming intelligent electronic devices such as TVs, cell
phones, pagers, smart cards etc. Unfortunately the expectations of the Suns team in this area did
not develop as they envisaged. With the advent of the in the boom of the Internet and the World
Wide Web (WWW), the team changed their focus and Java was developed for developing web
based applications. It is currently being used to develop a variety of applications.
Why Java?
Thousands of programmers are embracing Java as the programming language of choice and
several hundred more will joining before the end of the decade. Why is this so? The basic
reasons for these are highlighted below:
1. Portability: Java is a highly portable programming language because it is not designed
for any specific hardware or software platform. Java programs once written are translated
into an intermediate form called bytecode. The bytecode is then translated by the Java
Virtual Machine (JVM) into the native object code of the processor that the program is
been executed on. JVMs exist for several computer platforms; hence the term Write Once
Run Anywhere (WORA).
2. Memory Management: Java is very conservative with memory; once a resource is no
longer referenced the garbage collector is called to reclaim the resource. This is one of
the elegant features that distinguishes Java from C/C++ where the programmer has to
“manually” reclaim memory.
3. Extensibility: The basic unit of Java programs is the class. Every program written in
Java is a class that specifies the attributes and behaviors of objects of that class. Java
APIs (Application Programmers Interface) contains a rich set reusable classes that is
made available to the programmers. These classes are grouped together as packages from
which the programmer can build new enhanced classes. One of the key terms of object
oriented programming is reuse.
4. Secure: Java is a very secure programming language. Java codes (applets) may not
access the memory on the local computer that they are downloaded upon. Thus it
provides a secure means of developing internet applications.
5. Simple: Java’s feature makes it a concise programming language that is easy to learn and
understand. It is a serious programming language that easily depicts the skill of the
programmer.
6. Robustness: Java is a strongly typed programming language and encourages the
development of error free applications.
Types of Java Programs
Java programs may be developed in three ways. They will be mentioned briefly here:
1. Java Applications: These are stand-alone applications such word processors, inventory
control systems etc.
2. Java Applets: These programs that are executed within a browser. They are executed on
the client computer.
3. Java Serverlets: These are server side programs that are executed within a browser.
The following are the basic principles of Object Oriented Programming (OOP)
1. Encapsulation: Encapsulation is a methodology that binds together data and the codes
that it manipulates thus keeping it safe from external interference and misuse. An object
oriented program contains codes that may have private members that are directly
accessible to only the members of that program. Also it may have program codes
(methods) that will enable other programs to access these data is a uniform and controlled
fashion.
2. Polymorphism: Polymorphism is a concept whereby a particular “thing” may be
employed in many forms and the exact implementation is determined by the specific
nature of the situation (or problem). As an example, consider how a frog, lizard and a fish
move (“the interface”) from one place to another. A frog may leap ten centimeters, a
lizard in a single movement moves two centimeters and a shark may swim three meters in
a single movement. All these animals exhibit a common ability – movement – expressed
differently.
3. Inheritance: Inheritance is the process of building new classes based on existing classes.
The new class inherits the properties and attributes of the existing class. Object oriented
programs models real world concepts of inheritance. For example children inherit
attributes and behaviors from their parents. The attributes such as color of eyes,
complexion, facial features etc represent the fields in an java. Behaviors such as being a
good dancer, having a good sense of humor etc represent the methods. The child may
have other attributes and behaviors that differentiate them from the parents.
0 Comments