domingo, 15 de julio de 2007

Software Libre y los Lenguajes de Programacion

Software Libre


Segun Wikilpedia software libre es: Software libre (en inglés free software) es el software que, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. El software libre suele estar disponible gratuitamente, pero no hay que asociar software libre a software gratuito, o a precio del coste de la distribución a través de otros medios; sin embargo no es obligatorio que sea así y, aunque conserve su carácter de libre, puede ser vendido comercialmente. Análogamente, el software gratis o gratuito (denominado usualmente freeware) incluye en algunas ocasiones el código fuente; sin embargo, este tipo de software no es libre en el mismo sentido que el software libre, al menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.

Estudiando el concepto podemos extraer varias ideas fundamentales sobre el software libre, entre las cuales podemos enumerar:

1. Puede ser ejecutado con cualquier proposito (eduactivo, empresarial, domestico, comercial,etc)
2. El codigo fuente esta disponible para su estudio y modificacion.
3. Es de libre distribución, o sea, podemos copiar el programa y llevarlo e instalarlo en cualquier parte en donde sea necesario, sin necesidad de tener una licencia !.

Estas caracteristicas son las grandes diferencias entre el software libre y el software propietario. ahora dentro de estas 2 ramas del sotfware existe varios lenguajes de programacion, nosotros nos concetraremos en 2 lenguajes en especifico utilizados para la creacion de paginas web dinamicas, lenguajes de servidor como lo son ASP y PHP.

ASP

En el Software privativo nos encontramos con ASP (Active Server Pages) es una tecnología del lado servidor de Microsoft para páginas web generadas dinámicamente, que ha sido comercializada como un anexo a Internet Information Server (IIS). La tecnología ASP está estrechamente relacionada con el modelo tecnológico de su fabricante. Intenta ser solución para un modelo de programación rápida ya que programar en ASP es como programar en VisualBasic.

ASP es un sistema con nula portabilidad pues requiere necesariamante de un servidor Windows, con todas las implicaciones de alto costo, poca flexibilidad y escasa seguridad que estos equipos conllevan

PHP

Por otro lado tenemos a PHP es un lenguaje de programación el cual se ejecuta en los servidores web y que permite crear contenido dinámico en páginas HTML.

Dispone de múltiples herramientas que permiten acceder a bases de datos de forma sencilla, por lo que es ideal para crear aplicaciones para Internet.

Es multiplataforma, funciona tanto para Unix (con Apache) como para Windows (con Microsoft Internet Information Server) de forma que el código que se haya creado para una de ellas no tiene porqué modificarse al pasar a la otra.

Así como se habla constantemente entre windows y linux, tambien se comparan los lenguaje de programación web. Entre ellos estan PHP y ASP, dos de los lenguajes de programación web más usados.

Cuando un usuario pretende visualizar una página, el servidor ejecuta los scripts y generará otra página como resultado. Esta nueva página sólamente contiene HTML, y es la que visualiza el navegador del usuario.

Caracteristicas de PHP

1. Rapidez de ejecución.
2. Es un lenguaje específicamente diseñado para realizar aplicaciones web, mientras que otros lenguajes son adap
taciones de lenguajes preexistentes, no pensados para la web.
3. El software necesario para ejecutar aplicaciones es software libre. (GNU/Linux)
4. Mantiene un bajo consumo de recursos de máquina.
5. Gran seguridad, muy poca probabilidad de corromper los datos.
6. Trabaja con una diversidad de bases de datos
7. Rico en funciones predifinas.
8. Puede ser instalado en servidores Windows (Con emuladores (apache+php+(MySql/PostGre)
9. Fácil aprendizaje

10. Es un lenguaje libre
11. Dispone de muchismos mas recursos que asp.
12. Dispone de recursos open source.
13. Trabaja en combinación con otras técnologias: perl,javascript,phyton y dhmtl.
14. presenta una filosofía totalmente diferente y, con un espíritu más generoso, es progresivamente construido por colaboradores desinteresados que implementan nuevas funciones en nuevas versiones del lenguaje.

15. Combina excelentemente con otras inmejorables herramientas, como son el servidor apache y la base de datos mysql (o msql, o posgres), todas ellas gratuitas.
16. Buena documentación.

Carateristicas ASP

1. Las páginas pueden ser programadas en Visualscript, Jscript y Perl
2. Uso bajo Licencia propietario
3. Solo Servidores y/o equipos con sistema Operativo Windows de Microsoft
4. Invoca más frecuentemente los objetos.
5. Realiza numerosas tarea
s sirviéndose de componentes (objetos) que deben ser comprados (o programados) por el servidor a determinadas empresas especializadas.
6. Buen Nivel de seguridad.
7. Conocimientos previos básicos de programacion en Visual.
8. Precisa que el servidor funcione sobre Windows NT, Windows 2000 o superiores
9. Para emular en Sistemas operativos OpenSource deben cancelarse la licencia .
10. Código cerrado, solo visto por sus desarrolladores.
11. Buena documentación.

Ahora pasemos a la parte practica del tema, vamos a programar una script que recoja 2 datos de un formulario y despues lo muestre en pantalla despues de haber procesado los datos. Vamos a ver que necesitamos:

Se necesita un formulario que imprima en pantalla el nombre y la direccion de su blog, de un estudiante del IUTLV utilizando ASP y PHP. Antes que todo debemos contruir el formulario, el cual va a ser el mismo para los 2 casos y el cual no lleva ninguna programacion en asp ni php, para esto utilizamos un diseñador de paginas web, en mi caso estoy utilizando Macromedia Dreamweaver MX.

Formulario:
form name="Formulario" method="post" action="imprimir.asp" br table border="1" width="50%" br tr br td b Nombre: b td td input type="text" name="Nombre" td br tr br td b Direccion del Blog: b td td input type="text" name="Blog" td br tr br td input type="submit" td td input type="reset" td br table br form

Nota: Se han eleminado muchos caracteres de Html, para que el Blogger no los tome como HTML y produzca el formulario.

El cual queda de esta forma:








Nombre:
Direccion del Blog:

Ahora que el formulario esta diseñado pasemos a la programacion en ASP:

Primero debemos crear un documento en .asp llamado "imprimir.asp" el cual va ser llamado por la pagina formulario en la cadena action="imprimir.asp" al presionar Enviar Consulta. Al realizarse el llamado a la pagina imprimir.asp se ejecutara el siguiente codigo el cual se encuentra en la la pagina "imprimir.asp"

<% Dim nombre, Blog nombre=CStr( Trim( Request.Form("Nombre") ) ) Blog=CStr( Trim( Request.Form("Blog") ) ) Response.Write("Nombre:"&nombre&""&VbCrLf) Response.Write("Blog: "&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;Blog&""&VbCrLf) %>

Para que el servidor pueda diferenciar el codigo html, xml, java, etc del codigo ASP se empieza con "<%" despues de haber terminado de escribir nuestro codigo se cierra con "%>". Con esto denotamos que dentro de esto esta el codigo ASP. Despues declaramos nuestras variables las cuales son nombre y blog. Con Trim y Cstr convertimos los datos en cadenas de textos. Ahora con "Request.Form" recojemos los datos del formulario y su sintaxis es la siguiente "(Request.Form("nombre del campo"))" .

Despues de haber obtenido los datos del formulario y de haberlos introduccidos en las variables debemos mostrarlo por pantalla y en ASP esto se hace con el comando "Response.Write".

PHP
Utilizaremos el mismo formulario pero a diferencia que en action va a llamar a la pagina "imprimir.php" comenzemos con el codigo:

$nombre = $_POST["nombre"];
$blog= $_POST["blog"];
echo " Nombre : $nombre;
echo "Dirreccion del Blog : $Blog;

Este Codigo lo guardaremos como "imprimir.php". Al igual como en ASP, el codigo en PHP tiene que ser denotado para que el servidor pueda saber que estamos programando y esto se hace mediante "" El signo $ identifica a las variables y utilizando el comando $_POST obtenemos los datos del formulario y con el comando "echo" imprimimos en pantalla el valor de la variable.

Despues que vimos el mismo ejercicio resuelto con los 2 lenguajes de programacion veremos los comandos utilizados y sus similares en ASP y PHP.

Request.Form (ASP): Con este comando tomamos el valor del campo en el formulario.
$_POST (PHP): Con este comando tomamos el valor del campo en el formulario.
Response.Write (ASP): Con este comando imprimimos en pantalla.
Echo (PHP): Con este comando imprimimos en pantalla.

En general existen miles de comandos, los cuales casi siempre tienen su homologo en cada lenguaje de programacion.