![]() |
CORSO DI JSP |
![]() |
JSP (Java Server Pages) è una tecnologia per sviluppare applicazioni Web, basata sul linguaggio di programmazione Java.
Perché usare Java anziché altri tipi di linguaggio per applicazioni Web (PHP, Python, ASP, ...)?
Fondamentalmente è questione di simpatia. Tuttavia ci possiamo chiedere:
Esistono caratteristiche di Java che costituiscono un punto in favore per la preferenza?
Vediamo.
Una caratteristica di Java è la portabilità, per cui le applet scritte sotto un sistema operativo girano anche sotto altri sistemi operativi. Si può comunque obiettare che essendo stati sviluppati gli interpreti per PHP e per Python per vari sistemi operativi, comunque non c'è problema, si può sviluppare codice PHP o Zope sotto Windows e farlo girare sotto Linux, o viceversa. Non sempre però. Ad esempio in Python esiste una funzione della libreria time che si chiama strcptime che è stata scritta in C, ed esiste nelle distribuzioni Linux di Python, mentre sotto Windows non è stata implementata.
E' chiaro che ciò che si scrive per .NET non è portabile per definizione di Microsoft.
Tuttavia Microsoft propone nella sua piattaforma .NET la possiblità di scrivere i web services in un linguaggio "qualsiasi" (VisualBasic, C, C#, ...), mentre nella piattaforma J2EE il codice si scrive, per definizione, SOLO in Java.
In Java, però, il bytecode che viene eseguito da una Java Virtual Machine va bene su qualsiasi sistema operativo, proprio grazie alla JVM. Quindi da una parte vi è la garanzia di poter installare una stessa applicazione web su diversi sistemi operativi scrivendo il codice con un solo linguaggio (Java), dall'altra vi è la garanzia che l'applicazione web girerà SOLO su un sistema operativo, in cambio il programmatore potrà scegliere il linguaggio che gli è più congeniale. Se vogliamo è una portabilità dal lato programmatore anziché dal lato macchina.
Un'altra importante caratteristica del Java è che è TIPIZZATO. Ciò da una parte costringe il programmatore ad una disciplina più rigida, però consente un maggior controllo dei dati, meno errori etc. Cose che PHP e ASP non hanno. Python ce l'ha. Anche qui si può obiettare che usando .NET anziché J2EE si può usare un linguaggio tipizzato come il C++ e si hanno gli stessi vantaggi.
Altra caratteristica è che Java è un linguaggio con classi, ma le classi si usano anche con PHP e Python (e con C++).
Ultima. Anche se Java è stato inventato da Sun, le piattaforme su cui deve girare non sono proprietarie, si può fare girare una applicazione JSP su WebSphere di IBM, o su Apache Tomcat che è OpenSource. Non servono le licenze. E' un mondo aperto all'open source. Qui non si può certo obiettare nulla da parte di Microsoft, se non una sedicente superiorità in termini di affidabilità etc...
Alla fine è, come dicevo all'inizio, una questione di simpatia.