22 de abril de 2013

Python, el lenguaje que todos deberían conocer


Python es un lenguaje de programación interpretado, lo que quiere decir que necesitamos un programa intermedio para hacer funcionar nuestros scripts. Lo que ha favorecido que encontremos interpretes de Python  para una gran cantidad de plataformas.

Es un lenguaje sencillo, fácil de aprender y muy potente si aprovechamos la gran cantidad de librerías que posee. Al hacer hincapié en una sintaxis limpia y gracias a que usa tipado dinámico hacen que el código sea limpio y fácil de depurar.

También es muy versatil. Python es multiparadigma, soporta orientación a objetos, programación imperativa y programación funcional. Así que puede ser usado por multitud de programadores adaptándose a su estilo y necesidad.



Python fue creado a finales de los ochenta por Guido van Rossum en el Centro para las Matemáticas y la Informática (CWI, Centrum Wiskunde & Informatica), en los Países Bajos, como un sucesor del lenguaje de programación ABC. El nombre proviene de la afición de Guido, por los Monty Python y no por el animal, como mucha gente cree.


Actualmente es la Python Software Foundation es la encargada de mantenerlo. Posee una licencia de código abierto, denominada Python Software Foundation License,1 que es compatible con la Licencia pública general de GNU a partir de la versión 2.1.1, pero incompatible en ciertas versiones anteriores.

El 13 de febrero de 2009 se lanzó una nueva versión de Python bajo el nombre clave "Python 3000" . Esta nueva versión incluye toda una serie de cambios que requieren reescribir el código de versiones anteriores. Generalmente trabajaremos con la versión 2, es la que posee más librerías y documentación.

El intérprete de Python estándar incluye un modo interactivo donde se escriben las instrucciones en un intérprete de comandos. 

Y la formar de lanzar un script en python es así de simple:

 python miprograma.py

Normalmente encontrarás los scripts con extensión .py. Los  archivos del tipo .pyc o .pyo hace referencia a scripts compilados.

Python es asequible a todos los niveles, desde principiantes a expertos. Y una de las Es mejores opción para iniciarse en la programación.  Sólo hay que mirar la documentación sobre sus librerías para hacernos una idea de su potencia.

Os recomiendo para empezar este libro con licencia CC Python para todos. Con el aprenderemos todo lo necesario para crear nuestros programas.

Pero si aún necesitamos opciones a las librerías básicas disponemos de las librerías creadas por terceros. Vamos a ver alguna de ellas, aún así busca la que necesites seguro que existe ;-)

Librerias

Pygame

http://www.pygame.org/news.html

Pygame es una librería multiplataforma diseñada para hacer más fácil la escritura de software multimedia o como juegos, en Python. Pygame requiere el lenguaje Python y la biblioteca multimedia SDL. También se puede hacer uso de otras librerías. Nos permite gran cantidad de opciones para manipular gráficos, uso de Webcam o controladores como teclados o mandos de consola.


Scapy

http://www.secdev.org/projects/scapy/

Scapy es una potente aplicación para la manipulación de paquetes de forma interactiva. Es capaz de crear o decodificar un gran número de protocolos, la capturarlos, o crear peticiones y respuestas. Con scapy podemos realizar desde las tareas más básicas como escanear la red o hacer tracerouting como programar funciones similiares a nmap, arpspoof, arp-sk, arping, tcpdump...  También ofrece funciones muy concretas que la mayoría de otras herramientas no pueden manejar, como el envío de tramas no válidas, la inyección de sus propios marcos 802.11 incluso podemos combinar varías técnicas (VLAN hopping + ARP envenenamiento de caché, VOIP decodificación de canal cifrado WEP...)

WxPython

http://www.wxpython.org/

wxPython es un conjunto de herramientas GUI para el lenguaje de programación Python. Permite a los programadores de Python crear programas con una interfaz gráfica de usuario robusto, altamente funcional, simple y fácil. Se implementa como un módulo de extensión de Python (código nativo) que envuelve el wxWidgets populares multiplataforma GUI biblioteca, que está escrito en C + +.


Entornos

Boa Constructor

http://boa-constructor.sourceforge.net/


Boa Constructor es un  IDE Python y wxPython GUI Builder multiplataforma. Ofrece programación visual, un inspector de objetos, muchos puntos de vista sobre la fuente como la navegación de objetos, jerarquías de herencia, cadena de documentación generada documentos html, un depurador avanzado y ayuda integrada. Está escrito en Python y utiliza la biblioteca wxPython.


Eric

http://eric-ide.python-projects.org/


Eric es un completo IDE, escrito en python. Se basa en Qt GUI toolkit. Está diseñado para ser utilizable como editor rápido además de ser útil como una herramienta profesional de gestión de proyectos.  Integra muchas características avanzadas Python. Incluye un sistema de plugins, lo que permite una fácil extensión de la funcionalidades con plugins fácilmente descargables desde Internet. Las versiones estables actuales se basan eric4 en Qt4 y Python 2 y eric5 basado en Python 3 y Qt4.



Desarrollo web

Djando

https://www.djangoproject.com/


Django es un framework web creado Python de alto nivel que fomenta el rápido desarrollo y el diseño limpio y pragmático. Diseñado para crear aplicaciones Web elegante de alto rendimiento rápidamente.


Como véis las opciones son múltiples y sólo hay que investigar un poco.

No hay comentarios: