Por qué no Python? (continuado)

Jueves, marzo 13, 2008

Después de leer la respuesta de Giuseppe a mi post anterior (y tener tiempo libre para responder) me quedé con la impresión de que Giuseppe me malinterpretó respecto de la pregunta “¿Por qué no Python?” la cual yo pretendía debatir en el contexto de los “3 mosqueteros” (Perl, Python y Ruby) y excluyendo a SmallTalk debido a que este no estaba originalmente en ese pequeño conjunto, y a que en general no se lo considera dentro de esa “clase” de lenguajes “dinámicos” o de “scripting” que tienen tanto furor en la industria por estos días.

Las razones por la cuales Giuseppe descartó a Perl y a Python quedan muy bien justificadas por él en el contexto de su elección y mi pregunta no apuntaba a cuestionar tal decisión sino al asunto mas general de la moda de Ruby y la aparente (y a mi juicio inmerecida) omisión de Python.

Quise debatir esa pregunta porque en el contexto de la discusión entre Perl, Python y Ruby, éste último está teniendo en la actualidad mucha atención de la industria y en base a los argumentos que expuse en mi post anterior creo que se debería prestar mas atención a Python, siempre hablando en el contexto exclusivo de este trío.

SmallTalk es cosa aparte. Así como Giuseppe, yo también considero que SmallTalk es superior en muchos aspectos que cualquiera de estos otros lenguajes.

Para ser honesto, hace años que sueño con tener la oportunidad de utilizar SmallTalk en cualquier proyecto, sueño que por desgracia no he podido realizar por diversos motivos. Siendo la plataforma Java mi principal fuente laboral desde hace unos 6 años, siento incluso un pequeño pinchazo de envidia cuando leo a Giuseppe contarnos que pudo elegir SmallTalk para ciertos proyectos y me entusiasmo al imaginar la posibilidad de poder colaborar alguna vez en algún proyecto que utilice SmallTalk, laboral o no.

Por qué no Python?

Lunes, marzo 10, 2008

Acabo de leer este post de Giuseppe el cual me pareció muy interesante.

Estoy de acuerdo con la gran mayoría de lo dicho en el post, sin embargo me llamó mucho la atención que Giuseppe no haya comentado las razones por las cuales descartó Python, las cuales me interesaría muchísimo leer.

Tengo la fuerte impresión, desde hace un tiempo mas bien largo, de que python es la mejor opción dentro de los “tres mosqueteros” como los llama Giuseppe (perl, python y ruby).

El por qué no elegiría perl es muy simple y se refiere mas que nada a la sintaxis, atención que esto no implica que perl no sea un gran lenguaje, de lo cual hace mucho tiempo estoy convencido.

En cuanto a python y ruby la cosa está mucho mas reñida por sus similitudes y diferencias, ambos lenguajes resultan muy ágiles y poderosos para escribir casi cualquier tipo de solución en ellos.

En cuanto a sintaxis python y ruby tienen cada uno ventajas y desventajas. Python parece ser mas apropiado para escribir codigo mas legible lo cual lo hace mas mantenible a largo plazo en comparación con el código que se escribe con ruby. Ruby permite mas libertad, lo cual lo convierte en un lenguaje mas placentero para escribir código, hace mas fácil construir prototipos y DSLs con él y seguramente permite reducir levemente la cantidad de LoC. Personalmente prefiero la sintaxis de ruby aunque para proyectos grandes y complejos creo que la de python es menos riesgosa.

En cuanto a performance, python lleva la ventaja, al menos en mi experiencia, y siempre hablando del ruby de matz (no he desarrollado proyectos completos con jruby el cual tiene el potencial de performance de la JVM).

Sin embargo cada vez que vuelvo a Ruby por algún proyecto en particular, siempre me decepciona en un momento u otro la calidad de las librerías estandar. Suelen estar a medio implementar, ser incompletas, sin consistencia en el diseño de las APIs, o con APIs muy pobres y hasta APIs copiadas 1 a 1 de otros lenguajes. Suelen tener bugs y cuando las empiezo a hacer el debug ya no me sorprenden letreros del tipo “no implementado” en el código. Su documentación también desilusiona bastante, la gran mayoría de los métodos no tienen ni una descripción de lo que hacen.

En comparación, las librerías de python suelen estar completas y ser bastante robustas, bien documentadas e incluso tener muy buena performance.

En fin… sigo queriendo saber por qué Giuseppe excluyó a Python de su lista…

Stallman en español (mostly)

Sábado, enero 6, 2007

Me encontré este post desde el que se puede ver una entrevista reciente a Richard Stallman para la televisión española que vale la pena ver.

Picassos del rock & roll

Viernes, enero 5, 2007

Hoy volví a escuchar Divididos (una banda argentina de rock) en el auto, camino al trabajo, y una vez mas, y como siempre, quedé totalmente alucinado por las innumerables y sobrecogedoras sensaciones que inundan a los que escuchan su música. La letras de la banda se caracterizan por ser crípticas, y según sus autores, se basan y refieren a sucesos que les ocurrieron en sus vidas sin embargo suelen estar escritas de tal forma que es sumamente difícil, sino imposible, encontrar el sentido original de cada letra, en cambio infinidad de interpretaciones se pueden obtener si se les pregunta a distintas personas que entienden de cada una.

En lo personal siempre tuve la sensación de que lo que mas disfruto de su música son precisamente las sensaciones que me provocan, los sentimientos que hacen crecer en mí cuando escucho las canciones, los cuales no están directamente relacionados con el significado obvio de las letras sino que son el producto de la combinación de música, sonidos, palabras, y manera de ser cantadas, que producen sensaciones que muchas veces poco tienen que ver con lo que se dice en las letras sino con la forma, con la estética del sonido.

Pensando en todo esto, en esos momentos de éxtasis, se me ocurrió de repente comparar la música de Divididos con el cubismo, y dentro del mismo con uno de sus mayores exponentes, por lo cual estalló en mi cabeza la (probablemente inválida) proposición:

Divididos son los Picassos del rock & roll argentino.

No les parece?

Hola mundo!

Miércoles, enero 3, 2007

Este es el primer post del primer blog que tuve en mi vida!

Al parecer me llevó años pensar las cosas que tengo por decir para asegurarme que valgan la pena ;-)

Tarde, pero seguro…

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.