Comment on Unveiling Play 2.1 JSON API Bonus: JSON Inception with Scala 2.10 macrosparentComments−gren13yMaking stronger apps?Let's take the Play 1 vs Play 2 example:How many times I got a 500 pages in the face due to a basic NullPointerException in Play 1 groovy templates...In new play 2 templates, because they are type-safe, they guarantee that you will not have those basic errors.Of-course, it doesn't guarantee everything, but it's way less error-prone. You actually CANNOT make this kind of NPE errors with type-safe scala code.where in java you do something like:user.address.town // oops I forgot to test if user.address is not nullin scala:// user.address.town wouldn't work, because address is represented as an Option[Address]user.address.map(_.town).getOrElse("")−taligent13yI do understand your point as far as templates go. But they could have replaced the template engine or even improved on Japid.It just seems that for the rest of the system there isn't any real benefit over Play1 if you are using Java as opposed to Scala.
Comments
Making stronger apps?
Let's take the Play 1 vs Play 2 example:
How many times I got a 500 pages in the face due to a basic NullPointerException in Play 1 groovy templates...
In new play 2 templates, because they are type-safe, they guarantee that you will not have those basic errors.
Of-course, it doesn't guarantee everything, but it's way less error-prone. You actually CANNOT make this kind of NPE errors with type-safe scala code.
where in java you do something like:
user.address.town // oops I forgot to test if user.address is not null
in scala:
// user.address.town wouldn't work, because address is represented as an Option[Address]
user.address.map(_.town).getOrElse("")
I do understand your point as far as templates go. But they could have replaced the template engine or even improved on Japid.
It just seems that for the rest of the system there isn't any real benefit over Play1 if you are using Java as opposed to Scala.