I find the “pure Java” claim on both sides to be very funny.
Of course, it is unrealistic for a project to use absolutely nothing but java. However, the “pure Java” label must have some standards, I don’t think any framework qualifies.
Play actually changes the semantics of the Java language. Everything is in order, if clearly indicated. If you are doing some bytecode manipulation, just be honest about it. Usually this is done using AOP-ish trick, the instance methods are decorated with additional behavior, their explicit behavior - they are written in the code, as a rule, are saved. It's not that hard to accept, we can pretend our code is subclassed by the framework, and our methods are overridden by additional behavior.
In Play, one static method that calls another static method in the same class can have magical effects, and the behavior is not like calling a method. This is a huge problem if a Java programmer can no longer be sure what a static method call is.
Spring - well, their part of Java is still pure Java. But it is so magical (from java POV) and so heavily dependent on the heavy structure, calling Spring “pure Java” is like calling a hamburger “pure veg” if we don't see the meat. Meat is the best part!
irreputable Aug 26 '10 at 18:20 2010-08-26 18:20
source share