12 febrero 2014

Un nuevo comienzo... con Python

Recientemente, estoy entrando de lleno a ver Python como un lenguaje alternativo al que uso diariamente (java). He tenido oportunidad de ver el uso de este lenguaje y también he visto aplicaciones que amigos míos han desarrollado, realmente, he quedado gratamente encantado con ello por la simpleza que hay en este código. Entonces, tras ver su aplicación en el desarrollo de aplicaciones web y desktop, en la administración de servidores, en la ejecución de tareas del sistema operativo (uso Linux) y saber que se puede aplicar en otros campos más, pues es claro que este lenguaje tiene mucho potencial y que sería buenísimo aprender a usarlo. 

Cuando empecé a explorar este lenguaje, un detalle interesante cuando empleas el Python Interpreter es que al ingresar la sentencia "import this" nos aparecerá el Zen de Python, el cual contiene un listado de principios de diseño y la filosofía que hay detrás de este lenguaje y que nos puede ayudar a entender un poco más cómo es que funciona.

The Zen of Python, by Tim Peters

Beautiful is better than ugly. (Hermoso es mejor que feo)
Explicit is better than implicit. (Explícito es mejor que implícito)
Simple is better than complex. (Simple es mejor que complejo)
Complex is better than complicated. (Complejo es mejor que complicado)
Flat is better than nested. (Plano es mejor que anidado)
Sparse is better than dense. (Disperso es mejor que denso)
Readability counts. (La legibilidad cuenta)
Special cases aren't special enough to break the rules. (Casos especiales no son lo suficientemente especiales para romper las reglas)
Although practicality beats purity. (Aunque la practicidad le gana a la pureza)
Errors should never pass silently. (Los errores nunca debería pasar silenciosamente)
Unless explicitly silenced. (A menos que sea silenciado explicitamente)
In the face of ambiguity, refuse the temptation to guess. (De cara a la ambigüedad, rechace la tentación a adivinar)
There should be one-- and preferably only one --obvious way to do it. (Debería haber una -- y preferiblemente solo una -- forma obvia de hacerlo)
Although that way may not be obvious at first unless you're Dutch. (Aunque esa forma pueda no ser obvia al principio, a menos que seas holandés)
Now is better than never. (Ahora es mejor que nunca)
Although never is often better than *right* now. (Aunque nunca es frecuentemente mejor que "ahora mismo")
If the implementation is hard to explain, it's a bad idea. (Si la implementación es difícil de explicar, es una mala idea)
If the implementation is easy to explain, it may be a good idea. (Si la implementación es fácil de explicar, puede que sea una buena idea)
Namespaces are one honking great idea -- let's do more of those! (Los namespaces son una gran idea -- hagamos más de aquellas!)

Ya les iré comentando como me va con este nuevo lenguaje, es el inicio de una nueva etapa.