On Thursday I’ve participated in AlphaCSP’s TheEdge 2010 Conference.
Java – The Road Ahead
The opening session by Brian Goetz, Java Language Architect, was an excellent one and a great way to open a Java conference.
Brian presented the Java road map and what will soon be Java7 (also 8 and 9). Java7 was suppose to be published by the end of 2010 but due to Oracle acquisition's of Sun, the time frame moved to Mid2011 and Java8 to 2012. One of Java7 key features is the presentation of Project Coin, which presents new try-catch blocks with automatic resource cleaning and throwing the correct (inner) exception from the try block.
try (InputStream is = new FileInputStream(“filename.txt”); OutputStream os = new FileOutputStream(“anotherfile.txt”); { // … some code } catch (IOExecption e) { // this exception is only related to ‘some code’ inside the try and not for the resources themselves // no need to call is.close() or os.close() (which might throw exception) }
Project Coin also includes its sub-project: Project Diamond which makes creating generic typed instances a lot easier by asking the compiler to guess the correct type erasure (B.G. : “what the hell are erasures anyway?!”) and remove those long-long double declaration when creating collections.
List<Map<String, List<Integer>> list = new LinkedList<Map<String, List<Integer>>();
After ‘Diamond’ will look like
List<Map<String, List<Integer>> list = new LinkedList<>();
Big Data is Here
On the Enterprise track we were presented with the large data handling framework such as Hadoop (and its related component such as Hadoop File System, Hive [Hadoop key-value DB]). These frameworks will be part of your development process as your product evolve into millions of transactions and billions of records. Spring Data eases development and deployment for integrating these frameworks with Spring.
Secrets Of The Rock Star Programmer
Presented by the book author: Ed Burns. The hour long presentation showed interviews with some of Java “Rock Stars” like: Spring Framework founder (Rod Johnson) and Hudson CI creator (Kohsuke Kawaguchi). The interviews and most of the presentation was to discuss what are the desired skills from programmers to become a “Rock Star”.
If you want to know what it takes, you probably need to read the book…
Neo4J
As large data database come more and more into the industry, some implementations are inadequate with the data relations itself. Available on the market are key-value DBs (Hive), large table DB (Cassandra) and one other which I can’t remember but irrelevant for me. Neo4j is graph relation large data database which stores the data as graph association. The important note is that neo4j is only intended for large data. If you have a “small” thousands of records – stick with relation database. When you’re facing with millions (or even billions) records, associated as graph.
The examples given by Peter Neubauer were focusing on GIS systems but the usage itself looks endless when you wish to describes graph relations between your entities. A very common usage is social graph of members in social network (such as Facebook or Twitter).
Scala
Scala is a functional language with object oriented concepts. Scala code runs directly on the the JVM (like JRuby, Jython, Groovy, etc.). Like Groovy, it enables developers writing fewer code to achieve quicker development cycles and deployment. The presentation touched the mere surface but from the looks of it, it worth trying but I wouldn’t go and use it across the application.
HazelCast
For my opinion, one of the conference highlights. HazelCast is a distributed data grid framework which enables scalable distribution between nodes. Presented quickly by Guy Nir, it was really a nice presentation which APM might not need but still good to know of such framework. It’s concept is identical to other distribution systems (such as AMQP), but I would wait for Spring template to better support common operations (transactions, casting, multicasting, “hazelcasting”, queues…).
Hope to attend 2011 TheEdge Conference.