New in Java 7 - and why we are not running public Java 7 courses
Archive - Originally posted on "The Horse's Mouth" - 2012-01-08 11:50:01 - Graham Ellis
Java 7 (or Java 1.7, if you prefer that name) was launched last summer, with new / improved features including:
* switch on a String object
* try with resources allowing easier cleanup / reducing memory leak potential
* catch allowing multiple exceptions in the same block to avoid need to repair code
* throw allows you to change thrown object type within the catch block
* The file i/o mechanism has been reworked with programmers being heavily encourages toward java.nio rather than java.io
* Addition of support for walking a file tree, and for watching a file or tree for changes
* Unicode 6.0.0 support added, including within regular expressions
* Support for ISO4217 currency codes and updated locales
* Various enhancements to Swing and Java 2D
* Other enhancements relating to JDBC, Java DB, Java's use of XML, etc
* Changes to garbage collection and VM performance enhancements
There are more details on Oracle's site - [here].
Whilst none of these render old code inoperable, they do provide the Java programmer with new and easier ways of doing things than were previously available, which results in the gradual side-tracking of the older ways of doing the same thing. These changes take time to percolate through into production code, of course, because the developer need to be certain that his code will run on his customer's Virtual Machine, and customers (especially web server customers running Tomcat or similar) don't rush to upgrade.
Java 6 also had things added - see [here], and so did Java 5 [here]. And these little things add up. Of course, we've updated our training to mirror the extra (and nothing has been taken out from the base language) but there becomes a time where a radical rebuild or rewrite is necessary. And that point is rapidly approaching.
Java has moved on a long way since our first courses in the mid 1990s - in those days it was a niche (and we specialise in niches) and quite a compact language with a good range of libraries. Today that description wouldn't fit - Java is a complete system, a big language with a huge range of libraries and tentacles reaching into a vast number of different areas. And that creates a problem when providing training, in that everyone needs to learn an area of extras beyond the basics - but that area of extra will differ from customer to customer.
So - we have taken the decision that we'll not be offering public Java courses any more, and you won't find any dates listed on our web site. The course descriptions will remain in place, and for private customers with the right requirement that we can meet, we will still run courses. Java has simply changed, and whereas it was a natural string in our bow 10 years ago, that's no longer the case. So it's a good time for us to formally bow out of the Java market - to concentrate on the niches that we know so well and are keeping us more that busy - that's Lua, Ruby, Python, Perl, Tcl, C, C++ and PHP. And, yes, there are other niche languages that just may get added later this year.