Java, Java And Java

1018 Words5 Pages
Java 8 is one of the most notable changes to the Java programming language in Java history. Although profound, the changes enable developers to write programs more concisely, diminishing the complexity of verbose code. Our research uses Java 8 and its new functional features such as Functional Interfaces and Lambda Expressions to enable this Object Oriented Programming language to perform as a functional language.
There are a number of advantages in legacy code migration such as improved code design, however, the task of migration is tedious. Existing refactoring tools may reduce the weight of the task but some useful features still require manual intervention.
The focus of this research is placed on the new capabilities of Interfaces
…show more content…
This OOD model is based on objects and data rather than actions and logic unlike the historical logical procedure of programming which simply involved inputting data, processing it and producing output.
Java’s evolution (via the addition of new features) from Java 1.1to Java 7 has been well administered, but the release of Java 8 in March 2014 included some more profound changes than any other changes to Java in its history [1].

2. Phase 1: Research Background
The notable changes visited in our research include Lambda Expressions, Functional Interfaces, Default Methods and Method References – which are Functional Language Features. A Functional Language unlike OOD is based upon is when functions, not objects or procedures, are used as the fundamental building blocks of a program.
i. Lambda Expressions
Lambda expression (also known as an anonymous method) is a block of code that you can pass around so it can be executed later, once or multiple times. Since there are no function types in Java, functions are expressed as objects - instances of classes that implement a particular interface. Lambda expressions give you a convenient syntax for creating such instances. Lambdas also reduce verbosity caused by anonymous classes - making code more elegant and concise. For example:
Before Lambdas
Button btn = new Button(); final PrintStream pStream = …; btn.setOnAction(new Event Handler(){
Get Access