Hace tiempo cuando inicie con el desarrollo me inquieto , primero por su nombre y sus curiosidades; en este post voy a recopilar algunas de ellas para luego avanzar con en su ultima versión (1.4), por el momento continuamos con algunos conceptos básicos, de pronto estarás pensando que esto es OFF-TOPIC, pero es bueno conocer las tecnologías y lenguajes que están del lado del servidor y llevarse una idea básica de lo que puedes hacer con ello:
- es creado por uno de los pocos que existen, llamado , su nombre deriva de una comedia televisada en los años 60’s y 70’s llamada .
- es una excelente opción para enseñar conceptos de programación a personas sin experiencia previa pues tiene una sintaxis simple y convencional.
- Las Sentencias son muy similares a los algoritmos de pseudocódigo, pues no requiere de puntos y comas (), incluso ni de llaves “{ }” para declarar funciones ni clases.
- es un lenguaje interpretado, lo que ahorra un tiempo considerable en el desarrollo de software, pues no es necesario compilar.
- Sus cambios o criterios son basados en unos documentos que contienen los índices de todas las propuestas de mejoras llamados(“Python Enhancement Proposal“), que a través de lase discuten de manera abierta y técnica los cambios o mejoras de , de allí nace el nombre de .
- Dentro de sus PEP existe el como el PEP20, y no son más sino 19 reglas para tener en cuenta, claro esta que el autor sugiere que deben cumplirse. Otro mucho más importante, el es y es la guía de estilo para el código de Python, cosa que le falta a muchos lenguajes y esto realmente es más importante que cualquier otra cosa ya que el 80% de las personas entenderán el código que escribimos.
¿Y la Licencia?
Python es un lenguaje de programación gratuito para todo uso (incluido el comercial y/o privativo), pero también libre, ya que es explícito y permitido copiar, modificar y redistribuir. La licencia de está reconocida como libre tanto por la como por el proyecto GNU, es compatible con la GNU-GPL, se puede combinar con cualquier software bajo GPL. La licencia de Python no obliga a que los trabajos derivados mantengan la misma licencia (no es copyleft, a diferencia de la GPL), Ah y sus librerías también cumplen con esto.
¿Quién usa Python?
Voy a mencionar algunos de las :
- Desarrollo: Yahoo Maps, Yahoo Groups, Google, Zope Corporation, Ultraseek,, Mojam.com.
- Video Juegos (Games): Battlefield 2, Star Trek Bridge Commander, Civilization 4, QuArK (Quake Army Knife).
- Industria Grafica:, Walt Disney Feature Animation, Blender 3D, RoboFog
- Industria financiera: Altis Investment Management, ABN AMRO Bank, Treasury Systems, Bellco Credit Union, Journyx Timesheet and Resource Management Software.
- En el campo de la Ciencia: National Weather Service, NASA, Environmental Systems Research Institute (ESRI), Los Alamos National Laboratory (LANL) Theoretical Physics Division, AlphaGene, Inc., LLNL
Con estas empresas que usan, y desarrollan se puede llevar una idea de la madurez y lo robusto que puede llegar a ser.
¿Con respecto a otros lenguajes como se encuentra posicionado?
Según El índice TIOBE que calcula la popularidad de los lenguajes de programación, se actualiza una vez al mes. Las calificaciones se basan en el número de los ingenieros calificados en todo el mundo, cursos y proveedores. en este mes se encuentra en el puesto número 8 y aun que su verdadero auge aproximadamente data del 2002 sigue siendo de los lenguajes más cotizados a nivel mundial.
¿Los servicios y tecnologías líderes, pueden interactuar con ?
Si a desplegar aplicaciones y uso de API’s se refiere, entonces si, por ejemplo:
- Heroku: desplegar aplicaciones en y con la API propietaria de Heroku.
- : desplegar aplicaciones en .
- stackato: desplegar aplicaciones en con virtualización.
- Amazon EC2 y turnkey: Excelente appliance, que combina Amazon EC2 y .
- Rackspace Cloud Servers API: Rackspace actualmente servicio cloud con calificación líder en Gartner que aloja Github (próximamente un Post), tiene su propia API para trabajar y manejar algunas cosas de la plataforma con .
- tiene una API en REST para usarla de manera dedicada con aplicaciones escritas en .
- Evernote en su sitio oficial para desarrolladores tiene API‘s para diferentes lenguajes entre esos .
- Google App Engine en este sitio para los desarrolladores pueden desplegar sus aplicaciones con un completo SDK para y
Ahora te puedes dar una idea de que se puede implementar y donde lo puedes hacer con .
¿Y , que tiene con respecto a otros Framework’s?
esta escrito en , y lo que me gusta de es que hay pocos Framework’s y todos tienen filosofías interesantes y organizadas en la forma en que se utilizan y se implementan aplicaciones. Se pronuncia la D queda en silencio, creado pory Jacob Kaplan-Moss, su mascota es un curioso Pony que la verdad no es muy varonil. Características:
- Bajo acoplamiento, puede modificar una aplicación y no tiene que afectar todo el desarrollo.
- Patrón MTV (Model – Template – View)
- ORM (Object – Relational – Mapping) Excelente API para que la base de datos funcione acorde a la lógica del Negocio.
- Diseño de URL, perfectas para el trabajo de SEO.
- Sistema de Plantillas o templates, este posee un rico y excelente pool de tags y filtros.
- Internacionalización.
- No necesita de un LAMP, XAMPP, MAMP, pues cuenta con su propio servidor de desarrollo integrado.
Bueno pero esto lo tienen la mayoría de Framework’s… Si!, es totalmente cierto pero además de esta tiene otras características propias:
- Virtualización de aplicaciones, para que no tengas que modificar todo el ecosistema de su equipo.
- Protección CSRF según el documento Tecnico RFC2616
- Shell interactiva para trabajar con el ORM , con la Logica del Negocio o con los Templates.
- Implementa el Framework de Test Unitario Unittest, lo que te garantiza poder trabajar con la metodologia Ágil TDD
- Tiene extensiones como django-devserver además de que extiende el uso del servidor de desarrollo básico, puede medir la cantidad de tiempo que toma una consulta (Query), teniendo aproximaciones sobre lo que ejecuta en el motor de Bases de Datos.
- Una rica colección de Snippets enfocadas al uso del Framework
- Cuenta con una poderosa herramienta de Cache sobre el Framework
¿Quién usa Django?
- lawrence.com
- Washington Post
- Pinterest El Core es una versión totalmente optimizada y modificada para el uso de ellos.
- Everyblock
- LJWorld
- Toronto Life
- Tizomat
- monoku esta empresa tiene múltiples sitios y proyectos desarrollados en Django
Esto son algunos sitios recopilados, si deseas conocer más visita http://www.djangosites.org/
Con esta información te puedes dar ideas de lo que puedes llegar a hacer con Python y Django, si deseas conocer más y profundizar en el lenguaje, el framework y su filosofía, coméntanos el post y con gusto en la comunidad analizaremos unos tutoriales que te lleven de la mano con Python y Django.




Excelente articulo, te comento que tambien Autodeks Maya permite hacer scripts con python
Saludos
Gracias lo tendremos en cuenta buen tip
Excelente post, muchas gracias, estoy iniciando con python y django, esto me a sido de gran ayuda !!
Me alegra mucho que te sirva para tu preparación y adelante; pues Django es herramienta muy bien diseñada y facilmente escalable. Saludos
Muy util el post,
Por lo que he leido esta tecnología seria adecuada para desarrollar una aplicación tipo facebook donde el trafico de datos sea alto.
Por otro lado como se lleva esta tecnología con Ajax?
Gracias por la pregunta si por ejemplo Pinterest, Disqus, Instagram, Open Stack, Mozilla entre otros grandes portales están construidos con Django. En cuanto a AJAX existe DAJAX-ICE y DAJAX que funcionan como motor de AJAX Muy bueno… pero puedes llegar a integrar Node.JS porque esto ocurre en Pinterest y las cosas son casi en tiempo real. Otra opción de eventos de este tipo es Twisted de Python.
Muy explicativo y consciso tu tuto, sin embargo me gustaria si fueras tan amable tu explicación y opinion sobre el desarrollo de aplicaciones de escritorios, algun IDE para codificar, complilar y el empaquetado como se realizaría…
Bueno en mi opinion Python no lo veo tanto como un lenguaje al estilo Java con swing para construir aplicaciones de escritorio, no obstante existen varias herramientas como Python-GTK para este proposito. IDE recomendado para Python? la verdad los IDE en Python no son tan necesarios pues esta más del lado del sistema operativo… pero si te recomiendo Komodo Edit es "gratis" o el famoso sublime text. Hay unos muy específicos para Python, pero generalmente es necesario complementar con otros lenguajes por esto recomiendo los anteriores. El empaquetado si utilizas Python-GTK te lo proporciona y te lo indica GTK y también depende del sistema operativo en el cual quieres desplegar la aplicación. Si gustas me dices más especificamente que quieres construir con Python y buscaremos la mejor solución. Gracias por el comentario saludos.
Buen artículo. La verdad estoy incursionando hasta ahora en este lenguaje porque me ha parecido muy sencillo de aprender. Soy desarrollador de aplicaciones para empresas del sector commercial (Inventarios, nóminas, facturación,compras,etc) pero me quedé desactualizado hace rato (Uso lenguajes xBase). Estoy tratando de migrar mis aplicaciones a Web pero estoy frenado en qué lenguaje escoger (C#,Java,PHP,Ruby,Python,etc) y eso del lado del servidor. Tambien tengo que aprender HTML,CSS,JavaScript para el cliente y para completar, la base de datos (MySQL,SQL server, postgress,etc…). He hecho varios cursos de algunos de ellos pero la verdad es que la curva de aprendizaje es muy alta y no he encontrado uno que sea tan sencillo como el que uso. Me ayudaría mucho una opinion sobre un camino a seguir. Gracias
Claro muchas gracias por tener cuenta nuestra opinion. Bueno lo más importante es que tengas ganas de conocer las relativamente "nuevas" tecnologias que han evolucionado de eso que trabajas tiempo atras. Bueno te recomiendo analices varios aspectos y tomes una decision con respecto al lenguaje que te agrade, que veas posibilidad de emplearte, claro esta si lo requieres, y la oferta laboral en el pais en que estes ubicado. Python tiene cosas muy interesantes, y en el caso de Django es su arquitectura que es muy organizada y facil de trabajar, aun que toma un tiempo de aproximadamente 6 meses entender su filosofia es bueno que iniciaras a migrar uno de los proyectos que ya tienes maduro y de este modo conocerías el framework y el lenguaje de una manera impresionante. Respecto a las tecnologias y lenguajes Frontend te recomiendo seguir varias de nuestras guias como el curso de maquetado desde cero te aterrizara muchos conceptos. Puedes estar atento de ninjacode.tv en este espacio compartimos conocimientos desde diferentes puntos de vista… entonces solo te queda es querer aprender y un poco de paciencia. Saludos!
NICE!
Hola me ha parecido muy útil esta información. Termine de aprender lo básico en python y me gustaría ir mas allá, Django me atrae, no sé si pudieras recomendarme un buen tuto que me sirva para este y que me siga ensañando de python. Por ultimo quisiera trabajarlo con couchdb es para un proyecto escolar y te agradecería mucho si mi pudieras proporcionar información para manejarlos en conjunto.
Muchas Gracias