You're flying! How?... Python!

Estos últimos días estuve tratando de realizar un desarrollo web “productivo” (con lo de productivo me refiero a no solo jugar con el lenguaje, sino que además hacer un deploy de la app en un entorno productivo). Hace bastante tiempo que estoy familiarizado con el desarrollo de aplicaciones en Java y Python, pero esta vez quería probar algo simplemente diferente. Navegue por las aguas de PHP, tratando de utilizar Symfony nuevamente, me acorde porque era que no me había gustado la primera vez. El caso es que symfony tiene una gran cantidad de configuraciones, los errores son poco amigables y siempre pensé que PHP debería ser más fácil.

Luego escuche que Kohana, proponía un codigo bastante seguible, y ademas era bastante minimalista. Además de esto, kohana utiliza herencia “real” y PHP 5. Luego de jugar bastante, me topé con un problema, la documentación. Algunos ejemplos no eran claros o estaban desactualizados (hay una gran diferencia entre ko2 y ko3). Por lo que mi motivación con este framework disminuía poco a poco.

Particularmente, me gusta bastante aprender nuevos lenguajes, pero con el tiempo me he dado cuenta de que tienen que tener una mezcla exacta entre practicidad y buena documentación. Cuando digo buena documentación no me refiero solamente a poner un glosario de las funciones del lenguaje o del framework, sino a exponer ejemplos y ejercicios. Alguna vez probaron el Rails For Zombies? Dios…es simplemente excelente. No solo posee un video introductorio, sino que además podemos interactivamente codear y practicar algunos ejercicios que brinda el tutorial.

Edgar Dale una vez expuso el cono del aprendizaje, demostrando la importancia de practicar sobre leer en el aprendizaje.

Es por eso que encuentro difícil de encontrar un lenguaje como Python, o mejor dicho su framework web Django. No es simplemente comodidad, sino que desde el principio, Django, empieza con un tutorial muy práctico de cómo hacer un Blog. Toca las partes más importantes de este framework. La documentación está abierta a comentarios por los usuarios de la comunidad y aclaraciones MIENTRAS SE LEE (esto es simplemente excelente). Además, detalles como anchors en los títulos de cada tópico, permite leer y encontrar más fácil ciertos temas. Pero sin duda Django cuenta con una buena comunidad de programadores, la cual expone apps open-source para ver cómo se pueden encarar determinados problemas comunes. Otra cosa que me llama la atención de Django es que tiene un web-server integrado (solo de prueba) para probar las aplicaciones lo cual es excelente.

Sinceramente, tendría que observar como se comportaría un framework como este en una app grande, pero sin duda es la mejor herramienta que encontré para desarrollar aplicaciones pequeñas/medianas.

import xkcd

No te olvides del import antigravity! ( solo para curiosos )

Por lo poco que estuve viendo, Grails posee un estilo bastante parecido a Django, pero sinceramente no lo he podido probar a fondo todavía.