- The most prominent use of computers is to solve problems quickly and accurately.
- The solution adopted to solve a problem is provided as a sequence of instructions or specifications of activity which enables a user to achieve the desired result.
- The solution for solving a problem in the field of information technology is achieved by developing software applications.
- A software application can be defined as a collection of programs that are written in high-level programming languages to solve a particular problem.
- The development of software application is done using a programming language.
- A programming language is used as a medium for communicating the instruction to the computer.
- The programming language enforces a particular style of programming that is referred to as a programming paradigm.
There are 2 types of Programming Languages
- STRUCTURED PROGRAMMING
- OBJECT ORIENTED PROGRAMMING (OOP)
- In structured programming paradigm, the application development is decomposed into a hierarchy of subprograms.
- The subprograms are referred to as procedures, functions, or modules in different structured programming languages.
- Each subprogram is defined to perform a specific task.
- Some of structured programming languages are C, Pascal, and Cobol.
Following figure displays bank application activities broken down into subprograms:
- Main disadvantage of structured programming languages are as follows:
- Data is shared globally between the subprograms.
- Efforts are spent on accomplishing the solution rather than focusing on problem domain.
- This often led to a software crisis, as the maintenance cost of complex applications became high and availability of reliable software was reduced.
- Growing complexity of software required change in programming style.
- Some of the features that were aimed are as follows:
- Development of reliable software at reduced cost.
- Reduction in the maintenance cost.
- Development of reusable software components.
- Completion of software development with the specified time interval.
- These features resulted in the evolution of object-oriented programming paradigm.
- In object-oriented programming paradigm, applications are designed around data, rather than focusing only on the functionalities.
Following shows different activities involved in the object-oriented software development:
- Object-oriented Analysis (OOA) phase determines the functionality of the system.
- Object-oriented Design (OOD) phases determines the process of planning a system in which objects interact with each other to solve a software problem.
- Object-oriented Programming (OOP) deals with the actual implementation of the application.
An OOP language is based on certain principles that are as follows:
- Object – Represents an entity which possesses certain features and behaviors.
- Class – Is a template that is used to create objects of that class.
- Inheritance – Enables the developer to extend and reuse the features of existing classes and create new classes. The new classes are referred to as derived classes.
- Polymorphism – Is the ability of an object to respond to same message in different ways.
- Encapsulation – Is a mechanism that combines data and implementation details into a single unit called class.
- Abstraction – Is a design technique that focuses only on the essential features of an entity for a specific problem domain.
- Team of engineers from Sun Microsystems wanted to design a language for consumer devices.
- Project was named as ‘Green Project’.
- Team included: James Gosling, Mike Sheridan, and Patrick Naughton.
- Java was developed in 1991 in Sun MicroSystems.
- Efforts were taken to produce portable and a platform independent language that can run on any machine.
- A Program or a software is implemented on different operating system that’s actually called Platform independent.
- Result was evolution of Java.
- Initially called ‘OAK’ and later renamed to Java.
- Internet and Web started emerging and was used worldwide.
- Sun Microsystems turned Java into an Internet programming language.
- It emerged as a Web technology that added dynamic capabilities to the Web pages.
In 2009 / 2010,
Sun Microsystems was acquired by Oracle Corporation.
Some Important Points About Java Programming Language
- It is one of the most popular OOP language.
- It helps programmers to develop wide range of applications that can run on various hardware and Operating System (OS).
- It is also a platform that creates an environment for executing Java application. JRE – JAVA RUNTIME ENVIRONMENT
- It caters to small-scale to large-scale problems across the Internet.
- Java applications are built on variety of platforms that range from:
- Embedded devices to desktop applications
- Web applications to mobile phones
- Large business applications to supercomputers
JAVA IS EVERYWHERE (SLOGAN)
- WRITE ONCE, RUN EVERYWHERE (WORE)
- JAVA resides in mobiles, client machines, server machines, embedded devices, smart phones etc
Java Virtual Machine (JVM)
- It is an executable engine that creates an environment for executing Java compiled code, that is, bytecode.
- It is known as a virtual machine because it is an imitation of a Java processor on the physical machine.
- There are different implementations of JVM available for different platforms, such as Windows, Unix, and Solaris.
- Is an intermediate form closer to machine representation.
- Is an optimized set of instructions executed by the Java runtime environment (JRE)
- This environment is known as JVM.
- The same bytecode can be executed by different implementations of JVM on various platforms.