Diferencias con Java y JavaScript
Antes de continuar veamos las diferencias con estas dos otras tecnologías de las que ya hemos hablado anteriormente.
Java es un lenguaje orientado a objetos muy similar a C++ (aunque algo más sencillo) que no ofrece prácticamente ninguna limitación a los programadores que lo usen. Utilizando este lenguaje pueden escribirse los llamados applets. Estos applets tras ser escritos en Java se compilan. En concreto se traducen a bytecodes, un lenguaje intermedio entre el Java y el código máquina. El programa ya compilado se guarda en un archivo con terminación .class y se inserta en una página usando las etiquetas apropiadas de HTML. Cuando un usuario visita la página el archivo .class es transferido a su ordenador donde se ejecuta. Usando CGI's esto es radicalmente distinto ya que el programa CGI ¡SE EJECUTA EN EL SERVIDOR! Esto quiere decir que cuando tu accedes a una página que usa un CGI, pongamos por ejemplo YAHOO, y ejecutamos dicho CGI el programa se ejecuta en el ordenador donde estaba la página, en nuestro ejemplo en el ordenador de YAHOO. El programa nunca llega al ordenador del usuario.
JavaScript tiene características similares a Java, pero es un lenguaje interpretado (no necesita ser compilado) y se introduce junto con el código HTML. También se ejecuta en el ordenador del usuario.
Si queremos realizar algo sencillo que puede ser hecho con JavaScript o incluso Java, es preferible usarlos antes que acudir a un CGI, pero esto no será posible siempre. Por ejemplo, cuando necesitemos acceder a una base de datos o a cualquier otra fuente de datos del servidor los CGIs serán nuestra única solución.