Python ???

Chema Cortes pych3m4 en gmail.com
Vie Ene 13 04:38:12 CET 2006


El 13/01/06, Juan Carlos Villalobos C<jucavilst en elicubs.com> escribió:
> Saludos a todos, por cosas del destino me he involucrado en un proyecto que
> requiere de python, ya hay una pequeña rutina desarrollada, pero se requiere
> ampliar mucho mas. Tengo experiencia como programador, pero soy nuevo en
> python y tengo muy buenas referencias como lenguaje.
> Podrian por favor aclararme que es python?, para que tipos de proyectos se
> puede usar? se puede correr en ambiente windows? reemplaza php o java?

La cosa es bastante extensa para explicartela ahora en poco tiempo.

Python es...

- es un lenguaje dinámico: el entorno de ejecución está compuesto de
objetos mutables que "viven" fuera de los límites de la aplicación.
- es multiparadigmático: mezcla modismos de lenguajes procedural,
orientado a objetos y funcional
- posee abstracción: utiliza una máquina virtual al estilo java y .Net
(más aún, también puede utilizar estas dos máquinas virtuales)
- es multiplataforma: existen versiones para casi cualquier sistema
operativo, procesador.
- es multiservidor: posee interfaces estándar que independiza el
código de los servidores de datos, web, etc.
- es un lenguaje de scripts: puede actuar de enlace entre aplicaciones
y con el sistema, y se puede empotrar fácilmente.
- es un lenguaje de sistema: python se utilizar en la gestión de
sistemas operativos y en servidores web y de datos.
- lleva las "pilas incluídas": su librería estándar (la instalación
básica de python) es suficiente para crear clientes y servidores
(socket, web, xmlrpc, ftp, ), y muchas cosas más.
- es modular: a parte de su completísima librería estándar, se pueden
añadir muchos más módulos.
- es de desarrollo equilibrado: las nuevas funcionalidades que se
añaden con cada versión han sido ampliamente discutidas por la
comunidad de desarrolladores y se incorporan paulatinamente sin
traumas para la compatibilidad con versiones anteriores.

Pero lo esencial de todo:
...es de aprendizaje sencillo y fácil de mantener (incluso después de
varios meses aún eres capaz de saber lo que hacía determinado código
que escribiste).

Tipos de Proyectos: casi todos en los que no sea esencial grandes
rendimientos de cómputo o con recursos muy restrictivos. También hay
que considerar que python, al ser tan flexible, puede no ser adecuado
en ambientes seguros (no se puede "crear una sandbox").

El resto de preguntas creo que ya te he respondido. Python puede
reemplazar a java o, mejor aún, lo puede complementar. Hay versión
python para java llamada "jython" que se está usando como lenguaje de
script para java con el que resulta más sencillo trabajar con XML que
con java puro.

Python también puede reemplazar a PHP, y funcionaría de la misma
forma: scripts de python insertados en código html para que lo
procesara el servidor. Lo que ocurre es que no es una buena forma de
programar mezclar diseño y código. Si has visto algo de programación
web, verás que se está usando los patrones MVC
(modelo-vista-controlador), y para python hay muchos y muy buenos
frameworks web que siguen estos principios que te ayudan a hacer las
cosas como es debido. Uno de estos frameworks es zope, que de por sí
daría para hablar tanto o más que de python.

Me he dejado muchas cosas en el tintero, pero para empezar supongo que
ya te será suficiente.




Más información sobre la lista de distribución Python-es