Вы находитесь на странице: 1из 13

2 Desarrollo Aplicaciones Entorno Servidor I.E.S.

Gran Capitn
Yamuza lvarez, Sergio Caas Poblete, Antonio

1. Caractersticas 2. Requisitos 3. Ventajas 4. Inconvenientes 5. Ejemplo de un programa sencillo 6. Referencias

2 4 8 10 11 13

1. Caractersticas

SIMPLE
Este lenguaje est caracterizado por ser de una complejidad media/baja, simple y minimalista. El pseudo-cdigo de Python permite centrarse en la solucin del problema, que es realmente lo importante, y no en la sintaxis.

SENCILLO DE APRENDER
Debido a esta caracterstica, Python se considera uno de los lenguajes ms sencillos de aprender.

CDIGO LIBRE
Es un ejemplo de FLOSS (Free/Libre and Open Source Software). Es decir, se pueden distribuir copias de este software libremente. Esta es una de las razones por las que Python es tan bueno, ha sido creado y mejorado por una comunidad que solo quiere ver un mejor Python.

LENGUAJE DE ALTO NIVEL


No hay que tener en cuenta detalles tales como manejar la memoria empleada por el programa que se est diseando.

PORTABLE
Funciona en diversas plataformas, al ser Open Source, sin necesidad de ningn cambio. Aunque s se deben tener en cuenta las caractersticas del sistema: libreras, mdulos exclusivos de un sistema

INTERPRETADO
No existen compilaciones separadas y pasos de ejecucin, internamente se ejecuta el cdigo fuente. No est presente la preocupacin de enlazar y cargar libreras, por tanto, slo se debe copiar el cdigo del programa en cualquier otro sistema y trabajar de igual forma.

ORIENTADO A OBJETOS
Permite programacin orientada a procedimientos (piezas de programa reutilizables) y objetos (combinacin de datos y funcionalidad). Respecto a otros lenguajes como C++ y Java, Python ofrece una manera potente y simple de emplear programacin orientada a objetos.

AMPLIABLE
En caso de requerir una pieza de cdigo de rpida ejecucin, se puede escribir en C, y despus combinarla con el programa Python.

INCRUSTABLE
Se puede insertar dentro de un programa C C++ para aprovechar las facilidades de scripting dentro del mismo.

LIBRERAS EXTENDIDAS
La librera estndar es muy amplia, puede ayudar a desarrollar programas que involucran expresiones regulares, generacin de documentos, bases de datos, navegadores web, correo electrnico, XML, archivos WAV Adems de esta librera estndar, hay otras de calidad superior como el Python Imaging Library, la cual permite la manipulacin de imgenes.

2. Requisitos

Si nos encontrsemos delante de un servidor de tipo Unix es probable que Python ya se encuentre instalado. Basta comprobarlo con una orden simple en la consola de comandos:

$ python

Python 3.0.1+ (r301:69556, Apr 15 2009, [GCC 4.3.3] on Type "help", "copyright", "credits" or "license" information. >>> Ese es el intrprete de Python. Para salir escribimos exit().

17:25:52) linux2 for more

>>> print Hola DWES; Hola DWES >>> exit()

Por el contrario, si nos devolviese un error del tipo

$ bash: python3: command not found

python

debemos proceder a su instalacin:


En sistemas Debian y derivados: $ sudo apt-get install python En ArchLinux: $ sudo pacman -S python En RedHat y dems sistemas basados en paquetera rpm: $ sudo yum install python

Para BSD podemos usar los ports de FreeBSD y en Solaris la herramienta pkgadd. En MacOSX y Microsoft Windows nos dirigimos a http://python.org/download y descargamos el correspondiente .dmg o el instalador .exe para la arquitectura de nuestro procesador.

Entre las herramientas ms comunes podemos encontrar:

El intrprete. CPython es el ms usado generalmente, aunque hay otros muy interesantes como IronPython, Jython (en mquina virtual Java) o Pypy (Python dentro de Python). Easy Install. Script que se encarga de indexar, instalar, compilar, desinstalar y actualizar de forma sencilla y segura todos los paquetes y libreras que queramos integrar. Tiene un funcionamiento muy completo, permite elegir la versin exacta a instalar, por si existen problemas de dependencias. Forma parte del paquete setuptools. Virtualenv. Por las caractersticas del mismo intrprete, pudiera ser que necesitemos distintas versiones de Python instaladas, con distintas libreras y diferentes configuraciones. Virtualenv es capaz de crear entornos virtuales para ejecutar programas, completamente aislados e independientes. Instalacin: $ easy_install virtualenv==dev.

Servidor para desarrollo web. En la fase de desarrollo no es necesario, pero s para la produccin. Y en este caso debemos montarnos el servidor, o servidores, necesarios. Lo normal es utilizar apache2 ms el mdulo WSGI para servir el contenido dinmico, y un segundo servidor para servir todo lo esttico. Generador de documentacin. Si seguimos unos estndares en las definiciones de clases, funciones, etc. podremos aprovechar la potencia de herramientas como Sphynx, un generador de documentacin muy potente, que nos ofrece la posibilidad de generar la API de nuestros desarrollos consultable en una aplicacin HTML, PDF, LateX.

Compilador a exe para Windows. Esta herramienta se llama Py2exe y consigue que podamos distribuir en plataformas Windows nuestro software, ya que se encarga de proporcionar el intrprete y todas las dependencias que fuesen necesarias. Entornos y editores:

gEdit: dispone de todas las caractersticas necesarias en un editor actual. Vi+pyflakes: una herramienta potentsima una vez se aprende. Eric IDE: entorno moderno, con autocompletado, estilo Eclipse.

3. Ventajas.

LEGIBILIDAD
La siintaxis de Python lo convierte en un lenguaje claro y legible tanto para expertos como para los ms novatos en la programacin, lo cual le est dando cierta fama entre los docentes que eligen a ste como un lenguaje introductorio. Su forma de organizarse impone ciertas normas a los programadores que de manera implcita los vuelve ms productivos. Tiene menos dialectos (variaciones que no cambian la naturaleza intrnseca del lenguaje) que, por ejemplo, Perl. El hecho de definir los bloques mediante indentacin previene los fallos causados por un incorrecto sangrado del cdigo.

SOPORTE
Existen innumerables foros de ayuda o el canal de IRC #Python, en la primera posicin de lenguajes de programacin. La creciente comunidad de Python se fundamenta en el hecho de ser un lenguaje de cdigo abierto, lo que promueve la correccin de errores, actualizacin, creacin de parches e innovacin, ya que cualquiera puede aportar sus conocimientos.

FCIL/RPIDO DE APRENDER
Asemeja al pseudocdigo, evitando las largas y extraas lneas de cdigo que podemos ver en otros lenguajes de programacin. En el mundo empresarial esto se traduce en un bajo costo al poder ensear e implantarlo fcil y rapidamente a su plantilla de programadores. Desde el principio del aprendizaje pueden crearse cdigos tiles casi de inmediato.

FCIL/RPIDO DE PROGRAMAR
8

Se dice que Python es un lenguaje listo para ser ejecutado. No necesita seguir un proceso de compilacin, comprobacin y ejecucin ni, como ocurre con otros lenguajes de scripting, editar el cdigo fuera del entorno de ejecucin. Permite modificar la capa de abstraccin de alto nivel de la aplicacin sin cambiar las reglas del negocio. A modo didctico y para pruebas, el intrprete interactivo puede ser de gran ayuda, elevando su potencial si lo usamos para depurar trozos de cdigo antes de insertarlos en la aplicacin. Adems, ste intrprete es facilmente extensible, incluso podemos incrustar cdigo en C.

REUSABILIDAD
Hace hincapi en esto implementando mdulos y paquetes. Existe la Librera Estndar de Python, parte de distribucin, con un extenso nmero de mdulos listos para ser usados. Adems, es fcil con Python dividir el cdigo en mdulos para compartir funcionalidades con otras aplicaciones a modo de complementos de las mismas.

PORTABILIDAD
No ha sido diseado para un sistema operativo concreto. Su intrprete se escribi en ANSI C por lo que prcticamente podemos llevarlo a toda plataforma. No obstante ciertos mdulos pueden implementar funcionalidades especficas de los sistemas.

PROGRAMACIN ORIENTADA A OBJETOS


En contraposicin a la mayora de lenguajes de scripting, que implementan el nuevo paradigma como un aadido (add-on), Python se dise orientado a objetos. Sin embargo, en tareas simples, podemos seguir usando cdigo estructurado.

4. Inconvenientes.

El cdigo en Python es ms lento que su homlogo escrito en C/C++, puesto que no es un lenguaje compilado. No se comprueban los tipos de variables en tiempo de compilacin. Aunque esto facilite la lectura/escritura de cdigo, al usar unos tipos dinmicos tan flexibles, los grandes proyectos en Python pueden ser difcilmente depurables. Adems, la librera estndar de Python no es comparable en extensin con la de C/C++/C# o Java. Sin embargo, asciende rpidamente gracias a su comunidad. Pero, qu opinan los programadores?

10

5. Ejemplo de un programa sencillo.

Instalamos el mdulo de Apache


$ apt-get install --no-install-recommends libapache2-mod-python

Lo configuramos:
$ vi /etc/apache2/sites-available/default <directory var="var" www="www"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On </directory>

Reiniciamos Apache:
$ /etc/init.d/apache2 restart

Probamos:
$ vi /var/www/prueba.py

11

def index(req): req.content_type = 'text/html' req.write("<html>\n\n") req.write("<head>\n") req.write("<title>Fibonacci con Python</title>\n") req.write("</head>\n\n") req.write("<body>\n\n") a, b = 0, 1 while b < 1000: req.write(str(b)) req.write("\n") a, b = b, a+b req.write("\n\n</body>\n") req.write("</html>")

12

6. Referencias
http://www.webdotdev.com/nvd/content/view/1073/
http://programmers.stackexchange.com/questions/15468/what-are-the-drawbacks-of-python

http://python-hispano.org/Inicio
http://www.ironfroggy.com/software/i-am-worried-about-the-future-of-python

http://es.wikipedia.org/wiki/Python http://www.pythontutorials.net/introduction-to-python.aspx http://python.majibu.org/ http://es.wikipedia.org/wiki/Dialecto_(programaci%C3%B3n) http://www.carlospes.com/minidiccionario/reusabilidad.php


http://dev.laptop.org/~edsiper/byteofpython_spanish/ch01s02.html

http://www.genbetadev.com/herramientas/herramientasimprescindibles-para-un-desarrollador-de-python

13

Вам также может понравиться