Re: anti-python?

Chema Cortes <[email protected]>
Newsgroups gmane.comp.python.general.castellano
Message-ID <[email protected]>
El 27 de agosto de 2009 23:45, Juan M Puertas<[email protected]> escribió:
>  Siempre se podría hacer un Python más cómodo aún.
>  Ahora no lo encuentro, pero hace poco ha salido un lenguaje basado en Python en el que no necesitas "import"; supongo que sólamente con la biblioteca estándar. :-)
>  Es decir, si escribes: "s = sin(p)", interna, invisible, y automáticamente es como si el programa escribiese: "from math import sin"

No se si te refieres al lenguaje "boo", aunque no diría que es un
lenguaje reciente.

En python se optó por ser "explícitos" hasta el extremo de estar
incluído como regla en el Zen de python ('import this'). Lo de los
imports implícitos no suele ser una ventaja a la larga, puesto que
pasado un tiempo llegas a olvidar concretamente qué estaba importado
implícitamente y qué no (yo tengo que examinar muchas veces el
__builtins__). Es mejor que tu código muestre explícitamente todo
aquello que necesite para funcionar, al menos sirvirá como ayuda a los
demás si quieren estudiar y probar tu código.

>  Para mi, la comodidad sería una gran evolución para cualquier lenguaje, que aquellas cosas que éste pueda hacer por ti, las haga, aunque siempre te deje la puerta abierta para hacerlo a tu manera.
>...
>  Una de las pocas pegas que he encontrado con Python, es que hace algunas cosas de una manera muy distinta a la mayoría de los lenguajes, por ejemplo; para declarar una matrix de tres dimensiones, así como algunas abstracciones que son un poco raras, pero que hacen la delicia de muchos como Chema. ;-)

Algunas veces no he podido disimular una sonrisa cuando alguien me
explica entusiasmado cómo ha conseguido crear "colecciones" con las
STL para C++ para procesar conjuntos de objetos, algo que en python se
hace sencillamente con una lista o un diccionario.

No creo que haya un único modo de hacer las cosas; si otros lenguajes
te parecen distintos a python es porque todavía te falta ver cómo se
las tienen que apañar con esos lenguajes.

Precisamente, estos días estoy revisando la "Intentional Programming"
ideada por Charles Simonyi (a quien microsoft debe toda la metodología
empleada en sus desarrollos). Este hombre tiene una visión de la
programación estratificada por niveles, donde el programador tendría
total libertad para crear su código siempre y cuando cumpla la
"metaprogramación" impuesta en un nivel superior. Para hacer esta
tarea, los programadores tendrían disponibles herramientas visuales
que mejoren la codificación, muy similar al WYSIWYG (también inventado
por Simonyi) empleado para procesar textos.

Ni que decir tiene que microsoft se ha ido por otro camino, el .Net, y
que Simonyi está desarrollando su "Intentional Programming" por su
cuenta.


Aunque no coíncido en todo, sí que coincido con el uso de la
"metaprogramación", entendiendo por tal las herramientas generadoras
de código a partir de pequeños códigos sencillos de programar. A veces
los programadores nos empeñamos en abstraernos rápidamente del dominio
de aplicación para así iniciar la codificación, menospreciando la
experiencia que podrían brindarnos los usuarios dentro de sus dominios
(financiero, gestión, etc). La metaprogramación podría servir tanto
para adaptar el código a la cultura propia del usuario como permitir
que sea el propio usuario el que codifique los parámetros de su
aplicación (cálculo de intereses, ponderaciones, etc). Sería un poco
llevar los generadores de código para GUIs al siguiente nivel.

En el lado práctico, no he encontrado nada de metaprogramación para
python. Sólo "metalua" <http://metalua.luaforge.net>.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.