Java Developer, Thailand
Elliotte Rusty Harold
Joined: Feb 25, 2004
IPv6 is one of the major new networking features in Java 1.4 and in the third edition of Java Network Programming. It's starting to see some traction outside the United States and is at the beginning of what is probably a classic exponential growth curve. That being said, though, the absolute number of IPv6 deployments is still quite small compared to IPv4, and is likely to remain small for the next couple of years. Right now I'd venture to say there are more Mac OS 9 and other IPv6 incapable systems connected to the Net than there are IPv6 nodes.
Longer term, IPv6 is likely to become very important for networks and network administrators. It adds lots of useful functionality and helps out with addressing; but the really good news is that most developers working in Java can pretty much ignore it. One of the things that Java has done right since 1.0 is abstract away a lot of gory, low-level details like the exact representation of network addresses. Pretty much all the Java networking code you write today or have written in the past will just work on an IPv6 network without any extra effort on your part, as long as you're using Java 1.4 or later.
A related issue that will affect Java developers more directly is internationalized domain names and IRIs. The specs for these aren't quite finished yet, but they will be soon, and they're going to catch fire a lot faster than IPv6 because they provide obvious benefits to roughly five billion end users, who are going to start using them (in some cases, already are using them) whether or not the specs and software are ready. Sadly even Java 5.0 has absolutely no support for any of this. This means application developers are going to have to accept internationalized domain names and IRIs from end users and other software and convert them into old style domain names and URIs before working with them in Java. This really should be a core part of the library. There are open RFEs for this functionality for Mustang (Java 1.6) so maybe we'll have this sometime in 2006.
Elliotte Rusty Harold<br />Author of <a href="http://cafe.elharo.com/web/refactoring-html/" target="_blank" rel="nofollow">Refactoring HTML</a>