Aprender Lenguajes de Programación para la Web

Lenguajes de Programación para la Web

Revisamos varios lenguajes de programación que son usados en la actualidad para hacer páginas Web. Comentarios sobre ASP, JSP, ColdFusion, Perl y PHP, comparando fortalezas y debilidades.

* ASP
* ColdFusion
* JSP
* Perl
* PHP
* Reflexión

La controversia respecto a cuál tecnología usar en el lado del servidor tiene muchas características de guerra santa debido a que se mezcla con el problema de cuál sistema operativo/arquitectura usar. De esta forma, es un elemento más en la eterna batalla entre el mundo Unix y el mundo Microsoft.

Security Space tiene encuestas y estudios respecto al uso de cada tecnología.

ASP

ASP.significa Active Server Pages; estas páginas pueden ser escritas en VBScript que es a su vez un derivado de Visual Basic. La gran ventaja es que al parecer mucha gente sabe Visual Basic así que es fácil encontrar a alguien que haga el sitio, o que lo mantenga, si el programador ya emigró hacia mejores horizontes.

Las páginas ASP pueden hacer uso de objetos COM (Component Object Model) que son objetos en algún otro lenguaje (ej.: ejecutables en C++ o Java); de manera que si ya se tiene algo programado las páginas ASP a través del IIS pueden hacer uso de los métodos en estos objetos.

Para conectarse a una base de datos, normalmente se utiliza ADO que es un adaptador universal a bases de datos que se especializa posteriormente para hablar con una base de datos concreta.

El esquema de trabajo es crear objetos COM que ejecutan la lógica de la aplicación (Business Objects) y luego hacer la capa de interfaz con ASP.

<% Set OBJdbConnection = Server.CreateObject("ADODB.Connection") OBJdbConnection.Open "nba_membership" SQLQuery = "Select id, business FROM Directory" Set RSCustomers = OBJdbConnection.Execute(SQLQuery) Do Until rsCustomers.EOF Response.Write (rsCustomers("ID") & " " & rsCustomers("Business")) rsCustomers.MoveNext Loop %>

Hay tutoriales de ASP en ASP School.

ColdFusion

ColdFusion es un lenguaje 100% de scripting en que la idea es lograr resultados con pocas líneas de código. ColdFusion explota el hecho de que en la práctica muchos programadores lo que hacen es simplemente programar y no quieren tener que ver con Objetos, Clases ni nada de alto vuelo sino sólo con hacer consultas a la base de datos e imprimir el resultado.


select id, business from directory

#id# #business#

Eso no quiere decir que el lenguaje no sea muy potente. Además cuenta con un IDE y soporte comercial. ColdFusion corre como un add-on a los servidores, o como un CGI aparte. Es similar en concepto y expresividad a W3-Msql.

ColdFusion es la mejor manera de sacar algo bueno de una mala situación, esto es, de tener que desarrollar una aplicación para Web bajo Windows 2000
JSP

JSP (Java Server Pages) es una invención de la SUN que provee de un lenguaje de scripting en el lado del servidor que se comunica con clases Java, objetos RMI, CORBA, etc. La metodología de trabajo esperada es la misma que con Visual Basic con la diferencia de que esta vez se trata de una plataforma mucho más abierta.

El código JSP se puede poner dentro de las páginas HTML, o se puede precompilar en Servlets (programas en Java también pueden ser compilados en Servlets). Un servlet es una subclase de servlet que tiene métodos para atender requerimientos. El servidor pasa las variables hacia y desde el ambiente de ejecución del Servlet.

Para programar en JSP se requiere conocer Java, ser metódico y ordenado. El lenguaje no relaja las condiciones de tipado que le son propias.

<%@ page language="java" %>
Simple Scripting Tricks
Anyone can count like this:

<% for (int i = 1; i < i =" 1000000;">
It would take a long time, however, to count to <%= i %>.

Perl

Perl permite resolver los problemas fáciles fácilmente, y resolver también problemas difíciles. Es rápido hacer una pequeña aplicación Web.

Las ventajas principales son el que se trata de un lenguaje muy maduro, que lleva mucho tiempo funcionando, y que tiene cientos de bibliotecas operativas y listas para ser usadas.

%vars = CGI->ReadParse();
print CGI->MimeHtml();
DBI->init( "Oracle" );
$db = DBD::Oracle->Connect( "dbname=mydb" );
$cursor = $db->execute( "SELECT a,b FROM c WHERE d='$vars{a}'" );
while( %row = $cursor->fetchrow_hash() ) {
print "
  • $row{a} - $row{b}";
    }

    En Perl es más fácil que en otros lenguajes hacer algo inentendible y obscuro. Por otra parte, si uno tiene paciencia puede encontrar el 90% del trabajo que tenía que hacer ya hecho por otra persona, y el código que tiene que escribir es sólo el 10% más trivial.

    Perl debe ser usado precompilado vía ModPerl o el impacto en procesador es muy alto.

    PHP

    PHP es un pre-procesador de páginas HTML que está motivado y dirigido expresamente a contruir páginas, como ColdFusion. Un ejemplo de ello es que los argumentos CGI son importados directamente al espacio de nombres global de cualquier programa PHP: PHP puede correr como un CGI o como un plug-in del servidor web.

    PHP ha crecido en soporte y en funciones y ahora viene "de fábrica" con varias decenas de bibliotecas para funciones matemáticas, de bases de datos, etc. En este momento se encuentra en una fase de consolidación tras unos cuantos años de éxito, y la fase expansiva ha sido más bien dejada atrás para madurar en aspectos más relacionados con la integración de sus partes entre sí.

    There Were No Results for Your Search";
    }
    else {
    while ($number > $i) {
    $thename = mysql_result($result,$i,"name");
    $theemail = mysql_result($result,$i,"email");
    print "

    Name: $thename
    E-Mail:
    $theemail

    ";
    $i++;
    }
    }
    ?>

    Reflexión

    Es importantísimo dejar de pensar que el asunto de desarrollar aplicaciones Web es: leer de la base de datos, mostrar un formulario, leer los datos del formulario, escribir a la base de datos. No se puede seguir en esa línea mucho tiempo. Es mejor apuntar más alto, a formas de desarrollar las aplicaciones de más alto nivel.

    Un buen punto de partida es olvidarse de la base de datos y pensar en formas de más alto nivel de accesar los datos, como bases de datos orientadas a objetos o puentes objeto-relacional. Otra forma es abordarlo como un problema XML/XSL.

    Lo importante es evitar que toda la inteligencia de la aplicación esté tan cerca de la interfaz, porque a fin de cuentas uno termina cometiendo errores similares a cuando mezcla materialización y contenido de los documentos.
    Finalmente conviene revisar la salida usando un editor de texto, revisando que el código obtenido sea sintácticamente correcto, y dejando el documento lo suficientemente ordenado y legible como para que sea fácil de modificar al momento de realizar futuras actualizaciones.

    Fuente: Tejedores del Web
  • 1 comentario:

    CaR|Ta dijo...

    muy interesante tu blog