Está en la página 1de 12

QU ES PHYTON?

Atrvete a programar
Descripcin breve
Apreciaciones de un programador, historia, fundamentos, caractersticas, CODIGO y mucho ms.

Mario Miguel Incio Bazalar


marioincio@gmail.com

Contenido
CAPITULO I ..................................................................................................................................................................2
HISTORIA.................................................................................................................................................................2
Y qu es PHYTON? ............................................................................................................................................2
EVOLUCIN.............................................................................................................................................................2
Cmo entender las versiones de PHYTON? ......................................................................................................2
TIMELINE: Versiones ...........................................................................................................................................2
CAPITULO II .................................................................................................................................................................4
COMPAREMOS PHYTON CON ALGUNOS OTROS LENGUAJES ................................................................................4
PHYTON VS PHP VS JAVA ....................................................................................................................................4
7 RAZONES PARA MIGRAR A PHYTON ....................................................................................................................5
COMO S REALMENTE QUE PHYTON ES MEJOR ....................................................................................................6
EXPERIMENTO ....................................................................................................................................................6
TIEMPOS DE EJECUCIN .....................................................................................................................................8
RESULTADO ........................................................................................................................................................9
CONCLUSIN ......................................................................................................................................................9
CAPITULO III ............................................................................................................................................................. 10
PRECIO ................................................................................................................................................................. 10
SOFTWARE UTILIZADO ........................................................................................................................................ 10
FUTURO ............................................................................................................................................................... 10
DE DONDE VIENEN LOS DATOS?.................................................................................................................... 11
CONCLUSIONES ....................................................................................................................................................... 11

CAPITULO I
HISTORIA
PHYTON naci de la mano de Guido van Rossum, un programador de origen holands que desarroll este lenguaje
de programacin a finales de los aos 80 para el Centro de Matemticas y la Informtica de los Pases Bajos que
buscaba un lenguaje de programacin para ser utilizado bajo el sistema operativo 1Amoeba de Andrew S.
Tanenbaum que fuese capaz de sustituir al lenguaje ABC.

Y qu es PHYTON?
Un lenguaje de programacin de alto nivel que fue diseado con una sintaxis muy limpia que permitiese obtener
cdigos que fuesen fciles de leer, es multiplataforma y soporta orientacin a objetos, programacin imperativa
e, incluso, programacin funcional.

EVOLUCIN
Cmo entender las versiones de PHYTON?
Las versiones de Python se identifican por tres nmeros X.Y.Z, en la que X corresponde a las grandes versiones de
Python (1, 2 y 3), Y corresponde a versiones importantes en las que se introducen novedades en el lenguaje pero
manteniendo la compatibilidad (salvo excepciones) y Z corresponde a versiones menores, en las que slo se
corrigen errores y fallos de seguridad. De forma aproximada, se publica una nueva versin X.Y cada ao y medio
y se siguen publicando versiones X.Y.Z (en caso necesario) durante cinco aos a partir de la publicacin de la
versin X.Y.0, excepto para la versin 2.7, de la que se seguirn publicando actualizaciones de seguridad hasta
mediados de 2015.

TIMELINE: Versiones

Es un uso general del sistema operativo distribuido. Est diseado para tomar una coleccin de mquinas y hacerlos
actuar en conjunto como un nico sistema integrado.

La imagen siguiente muestra la fecha de publicacin de las versiones importantes de Python, en cada una de las tres grandes
versiones, Python 1, Python 2 y Python 3. Las versiones indicadas con punto rojo se consideran obsoletas, de las versiones
indicadas con punto negro se siguen publicando actualizaciones.
3
La imagen siguiente muestra la fecha de publicacin de las versiones menores de las ltimas versiones de Python. Las
versiones indicadas en rojo se consideran obsoletas.

CAPITULO II
COMPAREMOS PHYTON CON ALGUNOS OTROS LENGUAJES
PHYTON VS PHP VS JAVA
PHP
1. Es un lenguaje muy maduro que ha estado en el mercado hace ya muchos aos (1995) y como principales
ventajas tiene:
2. Una gran comunidad de programadores que te pueden ayudar cuando te atores en algo.
3. Su curva de aprendizaje es muy suave ya que es muy sencillo de aprender (adems de su gran parecido
con c)
4. La cantidad de bibliotecas que te simplifican el desarrollo de cosas como creacin de imgenes y pdf
manejo de sockets y bases de datos de una forma muy simple y sencilla, por lo tanto desde el punto de
vista de un negocio el tiempo de desarrollo en php es mnima y muy rpida lo que se traduce en alta
productividad.
5. La implementacin es muy simple por lo tanto la oferta de hosting que soportan esta tecnologa es
gigantesca.
DESVENTAJAS
1. Es muy lento lo que en sitios web que tendrn muchas peticiones por segundo o cargas muy pesadas de
acceso a BD, no ser la mejor opcin.
2. Si bien la persistencia de datos existe al serializar manualmente o por medio de sesiones, no existe la
persistencia de objetos lo cual puede llegar a ser una gran desventaja al programar OOP.
3. Es un lenguaje que al principio no soportaba OOP por lo que hacer cdigo espagueti es muy fcil y casi
involuntario, adems de que en algunos benchmarking demuestra ser lento al ejecutar OOP que
simple cdigo estructurado.
JAVA
Es un lenguaje tambin muy maduro y con mucha experiencia y tiene como ventajas:
1. Al igual que en php una gran cantidad de programadores te pueden ayudar.
2. Gran potencia y velocidad, ya que se usan servlets y existe persistencia de objetos.
3. Es un lenguaje totalmente OOP por lo que es imposible programar feo (o al menos no como en PHP).
DESVENTAJAS
1. Su curva de aprendizaje es muy pesada, ya que este lenguaje es muy complejo, lo cual no lo hace
justificable si tu desarrollo es medianamente simple.
2. el tiempo de desarrollo y por lo tanto su productividad no es tan bueno que como en php al menos en
desarrollos relativamente simples como sitios de e-comerce, uso de base de datos sencillo. Aunque en
sitios ms complejos donde la carga de consultas a bases de datos sea muy alta es mejor Java.
3. la implementacin de esta tecnologa es ms costosa por lo tanto es ms escasa la oferta de hosting para
la misma.
PHYTON
Es un lenguaje ms parecido a java que a php (en su forma de operar) y aunque ms antiguo que php (1991)
su incursin en la web ha sido muy escasa, si bien es un lenguaje interpretado al igual que php, se parece ms a
java y si lo piensan bien java tambin es interpretado ya que la compilacin autentica no se da en estos lenguajes
4

no como en c o c++, ambos tanto java como python traducen el script a un bytecode (muy parecido al lenguaje
maquina) a diferencia de php que sus opcodes son ms parecidos al lenguaje ensamblador, y los bytecode son
ms ptimos, por lo tanto python es ms eficiente en su ejecucin que php aunque no se le acerca a java, PERO
hay una configuracin para python, que me gusta y por la que apuesto todo, se trata de un framework que soporta
sesiones, mvc y ms importante SERVLETS as es python puede manejar servlets como java con este framework,
por lo que su desempeo mejorara muchsimo que me atrevera a decir que le anda pisando los talones a Java.
VENTAJAS
1. Curva de aprendizaje muy suave, es un lenguaje que se puede jactar de ser de muy alto nivel
casi aproximndose al lenguaje humano, dejando atrs a java y php en este sentido.
2. Se ejecuta como lo hace java con bytecode lo que lo hace muy rpido resultando estar en medio entre
php y java en rapidez.
3. Tambin implementa una gran cantidad de bibliotecas para hacer maravillas como sucede en php.
DESVENTAJAS
1. no hay muchos programadores en esta tecnologa y la documentacin es muy escasa en espaol y en
ingles tambin aunque hay ms que en espaol.
2. Implementar esta tecnologa en web es muy compleja por lo tanto los hosting que soportan python
son todava ms escasos que en Java.

7 RAZONES PARA MIGRAR A PHYTON


Identacin: Esta dems mencionarlo, pero algunos programadores tienden a mandar al carajo esta esencial ayuda
para leer el cdigo (Lo comienzo a veces me da flojera) pero esto no ocurre en python, pues l nos dice Identa tu
cdigo si o si.
Llaves y punto coma: En ocasiones nosotros mismos por no llevar una correcta identacin, sufrimos al estar
forzando nuestra vista, tratando de localizar el inicio y cierre de las llaves. La verdad al estar programando en
python he notado que la identacin obligatoria, hace prcticamente intil el uso de las llaves. Es un caso similar
al punto coma (Ahora estando en python, tengo errores por poner la coma XD ) es un carcter poco til a la hora
de programar y cuando estamos apurados con toda la presin de sacar adelante un proyecto olvidamos colocarlos.
Perdiendo valiosos segundos.
Productividad: Ya hablamos de la identacin y las llaves con estos dos puntos nos ahorra tiempo valioso al tener
que regresarnos por un error de punto y coma faltante o que tienes un comportamiento extrao por un mal cierre
de un a llave (Justo ahora me pregunto, si junto cada segundo, minuto desperdiciado por las llaves y punto y coma
olvidados cuando se acumulara? ). Por si fuera poco este beneficio, al ir aprendiendo mas el lenguaje uno se va
dando cuenta que puedes realizar una funcionalidad con mucho menos lneas de cdigo (Obviamente necesitas ir
aprendiendo las mejores practicas. ) que al estar en otro lenguaje.
Modular: Esta es una caracterstica, que en lo personal me a encantado pues con tan solo colocar en un directorio
un archivo __init__ se convierte automticamente en una librera, que tu dinmicamente puedes utilizar. algo
que en php tendra que escanear el directorio ver si existe el archivo e incluirlo. Esto es mgico. Adems de esto
puedes simplemente compartir este directorio con tus funciones, clases a otra persona y listo. Sin mencionar su
gestor de paquetes que tambin me hipnotizo.
Consola,Web,Escritorio: No hay mucho que decir, solo que python por defecto trabaja desde lnea de comandos,
por lo que lo hace muy til para la generacin de servicios, creacin de script de seguridad, de mantenimiento de
5

servidores, monitoreo de recursos del sistema. Adems de ofrecerte la capacidad de desplegar tu informacin va
web, o si lo tuyo es el ambiente de escritorio con libreras como PyQT puedes crear lindas aplicaciones de
escritorio.
Estadstico: Aqu ya es un poco mas complicado de explicar, quizs para aquellos que les fascina los nmeros,
realizar grficas, comprobar datos, encontraran que python es una excelente alternativa para mathlab u otros
software matemticos. Bueno pero decirlo es muy sencillo un Ejemplo de esto. Cuanto nos tomara realizar una
funcin para el calculo de un determinante. multiplicaciones entre matrices o que me dibuje graficas con los
resultados. Con las libreras / mdulos numpy , matplotlib y scipy. Cranme esto es cosa de una o dos lneas. Ya
solo te preocupas de la programacin.
Django: Este framework es sin duda hermoso, es cierto que aun soy un principiante en python, Pero permtanme
decirles he utilizando frameworks como Codeigniter, Drupal (Se que es un cms, pero su estructura modular me
encanta), YiiframeWork, algunos privados y actualmente probando Laravel. Puedo comentar que Django tienes
las de ganar, con un ORM, sistema de platillas, con sus sistema de signals, middlewares, su administrador de
consola, el concepto de aplicacin (Nuevamente mdulos ). Sus inline tags y por ltimo su fascinante
Administrador. Hacen ver a los dems frameworks algo pequeos (Desde mi punto de vista.)

COMO S REALMENTE QUE PHYTON ES MEJOR


EXPERIMENTO
Comparar la velocidad a la que se ejecuta un mismo algoritmo en diversos lenguajes de programacin. Para ello,
hice un pequeo algoritmo que imprime parte de la serie de Fibonacci, en los siguientes lenguajes:

Cdigo JAVA

5
6

Cdigo PHP
Cdigo PHYTON

TIEMPOS DE EJECUCIN

RESULTADO

CONCLUSIN
Desmenuzando todas estas pruebas llego a la conclusin de que cada lenguaje cumple su rol y fue desarrollado
para cumplir su propio rol, que quiere decir esto. Java es para un desarrollo ms robusto y proyectos de gran
envergadura con motor de base de datos robustos. PHP es una programacin ms ligera con motor de base de
datos portables y ms comerciales el cual hace que los procesos que realiza sean ms ligeros y por ende sus
estndares de seguridad son menores a las de JAVA. PHYTON al igual que PHP tiene un lenguaje para desarrollos
ligeros y trabaja con motor de base de datos portables que definen un menor tiempo de ejecucin y de
programacin. Por todos estos motivos, influye mucho en la velocidad de ejecucin.

CAPITULO III
PRECIO
Lo mejor de todo. Es cdigo abierto y cuenta con una comunidad de programadores en todo el mundo que
ayudan al desarrollo. Tienen una mecnica de desarrollo progresivo que va desde revisiones semanales y
aprobaciones o descarte de cdigos obtenidos.
Es multiplataforma y no cuesta nada. El nico precio que van a tener que preocuparse es saber cunto van a
cobrar por sus honorarios.

SOFTWARE UTILIZADO
Libreras7:

SciPy y NumPy
wxPython
VPython
Matplotlib

Para ms detalle leer el pie de pgina en donde referencio la fuente.

FUTURO
Juzguen ustedes mismos

http://fisica.eia.edu.co/wiki/index.php/Python_y_sus_Librer%C3%ADas

10

DE DONDE VIENEN LOS DATOS?


Codeeval, una masiva plataforma de evaluacin de programadores y empresas de desarrollo en el mundo, cada
ao, evala a miles de developers y compaas, junto a sus tendencias de uso y desarrollo.

CONCLUSIONES
Me intriga que java este por debajo de PHYTON. Pero es porque JAVA como lenguaje no aporta nada nuevo, aun
as como plataforma es otra historia. Actualmente muchos lenguajes tienen versiones compatibles con la mquina
virtual de Java y as aprovechan sus bondades, eso tambin debe tener algo que ver con la reduccin drstica de
su cuota de uso. Otra razn algo ms osada es que Oracle posiblemente est matando a Java como lenguaje y
quizs como plataforma.

11