by Martin Jacobs GVP, Technology
Today, Java 8 was finally released. It has been a long time in the works, and there are some new exciting capabilities that have been added. Obviously, the most significant one is the full support for lambda expressions and closures. It brings more functional programming concepts into the language.
With these changes, it looks like the pure smalltalk style object oriented programming has made room for more functional programming ideas. In the early days of Java, there were many articles about how to really do proper object oriented programming. There were many courses around thinking in objects, and guides around moving from structural programming to object oriented. Nowadays, everything is around functional programming concepts. Popularity of functional programming is growing, and the coursera courses around scala have been some of the most popular MOOC courses. One of the standard questions in interviews for candidates has always been to explain the concepts of inheritance, polymorphism and generics. Now, questions around closures, map and reduce have become the standard fare for new hires as well.
It is going to be interesting to see how this plays out, how the evolution of programming languages is going to affect the technology industry.
How quickly will the establish product vendors adopt and incorporate Java 8 into their products? One of the main challenges for Java in the past has been the slow adoption, and one of the key drivers of market share for Java has been the product offerings available on the market, such as commerce platforms, content management solution and full ERP stacks.
Java has remained one of the leaders in the Tiobe Index. The popularity of the Android platform has been a big contributor to that. Therefore, another interesting thing to look out for is whether Android will adopt these changes, and incorporate them onto the Dalvik VM.
Overall, I think this is an exciting release, and for anybody working with Java fairly regularly, an important update to learn about.