Java 7 New Features – Seminar in Cairo, at the Egyptian Java User Group (EGJUG)
Last week I was invited by Ahmed Hashim, the Egyptian Java User Group (EGJUG) leader for a technical talk about what is coming in Java 7. I was happy to perform a talk in the Faculty of Computers and Informatics (FCI) of Cairo University in front of 60-70 keen Java developers:
I presented the key new features coming with the next release of the Java platform: Java 7, which is expected to be released at the end of 2010. I started by explaining the new concepts about the dynamic languages support in the JVM, the new invokedynamic bytecode instruction, the new module system developed under the project Jigsaw, the extended annotations syntax (JSR 308). I put special attention to the interesting small language enhancements implemented in the project Coin that will make the developer’s life easier: automatic resource management, the new “diamond <>” syntax for generic collections, the concept of collections literals that allow directly specifying the elements of collection at its creation, the indexed [] access to the elements of lists and maps, the new underscore _ syntax for numbers and the new binary format for integers. The exciting new concept of “closures” coming from the functional programming (and already implemented in C# and dynamic languages like Ruby and Python) was explained in details. Special attention was given to the benefits of using function types (method handles) instead of interfaces for implementing callback behavior, the concept of lambda functions and lambda expressions and how all this stuff can be used for efficiently processing collections with extension methods and parallel processing on multi-core / multi-CPU machines. Finally I mentioned few other new features coming with the Java 7 platform: compressed 64-bit oops, garbage-first GC, upgraded class-loaders, URLClassLoader.close(), Unicode 5.1 and support for SCTP and SDP protocols. All features that were implemented in the latest (at the time of presentation) early access preview build 89 of JDK 7 (Java SE 1.7.0-ea-b89) was demonstrated with live examples.
It was interesting seminar and attendees entered into a passionate discussion. Due to the uninterruptable sequence of questions we finished in 3 hours instead of 1.5 hours as initially planned.
I am impressed by the good level of technical expertise of the Egyptian developers in Cairo. The Egyptian Java developers I met were really nice guys and girls, smart and eager for knowledge and motivated to learn new technologies and concepts. Most of them could look a bit strange for the European people (young men with long beards and young girls with covers on their heads) but these people are normal developers, very friendly and polite, smart and skillful – just good developer community.
I didn’t miss my chance to visit Giza and the 7000-years-old pyramids in the desert near Cairo, which is “must visit” when traveling to Egypt.
I hope EGJUG someday will invite me again for exciting technical talks.
Download my PowerPoint presentation about Java 7: Java-7-New-Features-Nakov-EGJUG-Cairo-2-May-2010.pptx.
Download also the demonstration examples: Java7-Demos-Netbeans6.9beta.zip.
Special thanks to Ahmed Hashim who organized this event and my enjoyable stay in Cairo and to my colleague Mihail Stoynov who is my co-author in the presentation.