Peter Burka on Crossing the Gap from Imperative to Functional Programming through Refactoring

66402e897ef8d00d5a1ee30dcb5774f2?s=47 Papers_We_Love
September 23, 2014

Peter Burka on Crossing the Gap from Imperative to Functional Programming through Refactoring

The introduction of lambdas to Java 8 might be the most significant change to the Java language since Java 2 was released in 1998. Lambdas and the accompanying functional operations like map and filter promise to allow Java programmers to write clearer, simpler code, and to take better advantage of parallelism.

While developers of new code will be able to start using the features immediately, what should we do with the billions of lines of code that have already been written? This paper proposes that we can automatically translate the existing body of Java code to make use of the new features. This improves the readability of the old code, maintains consistency between new and old code, and potentially improves performance.

This paper addresses technical debt, an area of software engineering which is only starting to be addressed in academic literature. The authors solve a practical and important problem with a powerful technical tool.

66402e897ef8d00d5a1ee30dcb5774f2?s=128

Papers_We_Love

September 23, 2014
Tweet