Posts | aprile 2007

27/04/07

Are JSPs dead?

L’ennesima critica a JSP: sono da considerasi ufficialmente morte? Ehm… personalmente non credo che la loro scomparsa sarà poi così imminente. JSP fa parte delle specifiche JavaEE di Sun e ormai sono utilizzate praticamente in ogni contesto Java Web. E’ vero, consentono molta libertà in chi sviluppa (difatti sono nate come “antagoniste” di ASP!) e in pratica sono quanto di più “sbagliato” si possa utilizzare in un paradigma ad oggetti, ma per fortuna… esistono i framework!

Solito discorso: Struts in primis ha ricollocato le JSP quasi esclusivamente nello strato V del paradigma MVC (mentre il ruolo di controller è lasciato alle Servlet o meglio a Servlet specializzate dette Actions). Poi ci sono le taglib, gli include e JSTL… con questi strumenti JSP diventa utilizzabile e, addirittura, come qualcuno osserva, riusabile (anche se lo strato V è chiaramente il meno riusabile fra tutti). Il problema se mai è quello di non farne un uso improprio.

Poi è chiaro che le alternative esistono: Velocity, Freemarker, XML/XSLT, JSF (con Facelets) per citarne alcune. La mia personale esperienza con JSF non è stata delle più entusiasmanti, credo che siano ancora un po’ “acerbe” e tra le pecche, direi che hanno un pessimo livello di debugging.

Concludendo: JSP promosse, purchè usate con tutti i criteri. Consentono di essere molto produttivi, possono essere facilmente precompilate in Servlets e, entro certi limiti, possono essere riutilizzate. Il resto si trova nel post:

23/04/07

Why resist change to Java?

Con le versioni 5 e 6, Java ha introdotto diverse modifiche al linguaggio.
Oltre ai già noti (e a volte criticati) generics, boxing/outboxing, annotations, enums, static imports ora si parla di closures. In alcuni casi si tratta di zucchero sintattico o poco più, in altri casi di importanti modifiche al linguaggio, nel costante sforzo di rendere Java sempre competitivo nei confronti degli altri moderni linguaggi (C++, C#, Smalltalk, Ruby o Groovy…).

Ma ci sono anche delle “resistenze” ad accettare queste modifiche al linguaggio e spesso, come si osserva in questo post di TSS, sono proprio i “senior” a sembrare più restii ai cambiamenti. Forse per timore di perdere quel vantaggio che hanno acquisito con anni di esperienza, i senior sembrano in qualche modo spaventati dalle novità o semplificazioni recentemente introdotte nel linguaggio. Ma quel che spaventa di più forse è l’incompatibilità dei binari generati e così molti “preferiscono” ancora lo stile 1.4.

L’aspetto che mi sembra più interessante tuttavia è la possibilità di poter utilizzare altri linguaggi nella JVM come JRuby o Groovy ad esempio, il che rende meno “indispensabili” le continue estensioni del linguaggio Java vero e proprio. Non dimentichiamo infatti che Java è molto di più di un linguaggio: è una VM, un insieme di librerie ed API molto ricche, un mondo di framework open-source e molto altro… l’articolo è interessante e offre diversi spunti…