Two weeks ago, I went to visit the Devoxx conference in Antwerp. During the three day conference I got an update on the current state of affairs in the Java world. The event was hosted in one of Europe's largest movie theatres. I’m waiting for the talks to come online, so I can watch the talks I didn’t get the chance to see. I’m really looking forward to that. But until then, I'll have to make do with the talks I’ve seen in person.
It is clear that Oracle is investing heavily in the JavaFX platform and that they expect it to become widely used. The first major version of JavaFX hasn't gained much traction, but Oracle wants to change that for the second version. I personally haven’t played around with JavaFX myself, but the impressions I get are positive. The reason I haven’t tried it out myself is that I haven’t made any GUI applications recently, but when I do I will have a look at JavaFX. In the opening keynote given by Oracle the company showed that JavaFX could even run on a Raspberry Pi. It remains to be seen whether JavaFX will really become a popular framework, since pure web interfaces are more popular these days.
Version 8 brings new features to Java, such as lambda expressions. A couple of talks were about this subject. It was about time that Java received higher-order functions. One of things that higher-order functions make more convenient is working with collections. You don’t have to declare a foreach loop every time you want to iterate over a collection, instead you can call a method that iterates over the collection for you and executes a function for every element in the collection. Something I already use daily when writing code in Scala.
Finally, various speakers made a statement during their talks that sounds familiar to everyone: Choose the right tool for the job! Polyglot projects are becoming more popular. These projects use multiple programming languages in a single project. Each language has its own strong and weak points. Application servers help system administrators by allowing them to host applications written in multiple languages in an application server. By combining multiple languages, you can develop more efficiently. Similar things are visible in the database world. NoSQL databases are getting more common, because they can deal with large datasets more efficiently. However, that doesn’t mean that there isn’t a place for relational databases. Working with normalized data is in many cases more convenient than working with documents. Working with references in multiple directions is for example hard in NoSQL databases.