Tags
Authors
A couple of days ago I spotted an interesting hole in Ceylon's type checker. I started out with something like this:
Hibernate Core 4.0.0.Beta5
Hibernate Core 4.0.0.Beta5 has just been released. The complete list of changes can be found in JIRA release notes. Things are moving along with the main focus on the new metamodel and its integration into the Core engine.
Raw types != type erasure
In connection with this discussion it's worth making explicit what I guess everybody knows, but that sometimes seems to get a bit mixed up in conversation: that Java's support for raw types (necessary for backward compatibility with pre-generics code) doesn't really have anything much to do with type argument erasure. In a hypothetical language:
Three arguments for reified generics
Cedric recently brought up the topic of type erasure, concluding:
Here are a few quick tips when migrating Hibernate 3-based applications to JBoss AS7, covering the options available for JBoss AS 7.0.0.Final.
So it's official Bean Validation 1.1 has started. It has been voted yes by the JCP expert committee yesterday.
Weld 1.1.2.Final released!
I'm happy to say we (finally) released Weld 1.1.2.Final.
Why is JBoss AS 7 so fast?
The short answer is that it is designed around Ahmdahl's law (effective parallelization of work) as opposed to Moore's law (waiting for hardware with a faster clock rate). Almost every CPU powering desktops, laptops, and servers is now at least dual core, and the trend is rapidly expanding. The days of the frequency race are essentially over. So, now software must adapt to tap into the power of the hardware of today and tomorrow.
Over the last couple of days, I've exchanged a few emails with Stephen Colebourne regarding Ceylon, and some of the decisions we made in designing the syntax of Ceylon.
My experience of returning to Java
So my recent return to writing code in Java has been interesting. Most of my Java programming experience has been in web apps, where there is a lot of UI/declarative code, and state-holding classes, or in framework development where I need a lot of interception and reflective code, and in those domains I have often found that Java gets in the way. But now I'm writing a compiler (well, a type checker/analyzer to be precise), and I don't have much use for declarative code, interception, or reflection. And there is a lot more code that does stuff
rather than represents state or data. Java is honestly a quite different experience in this domain. My overall reaction is that Java is simply very reasonable and non-annoying for this kind of work. It just doesn't get in my way much. And in an IDE like Eclipse, Java's static typing saves me enormous gobs of time.