Parece que es momento de aprender otro lenguaje de programación

Esto es para ponerse a pensar:

SUN (la empresa casi "mamá" de Java... porque IBM parece el papá) ha lanzado una nueva página web de tenología, con noticias y artículos acerca de un lenguaje de programación que.... no es java.

Es Python: http://developers.sun.com/scripting/python/index.jsp

Ah! y está actualizando NetBeans para que soporte el lenguaje Python próximamente. http://wiki.netbeans.org/Python

Se pone interesante no?... pero sigamos:

Google ha lanzado hosting para aplicaciones Python: http://www.niallkennedy.com/blog/2008/04/google-app-engine.html

No sólo hosting, Google ofrece toda una SDK para desarrollo con Python. http://code.google.com/appengine/docs/whatisgoogleappengine.html

Python ha ganado el premio "Lenguaje de programación del año 2007": http://www.cmswire.com/cms/enterprise-20/2007s-programming-language-of-the-year-is-002221.php

Humm.....

Google contrata al creador de Python: http://www.oreillynet.com/onlamp/blog/2005/12/python_creator_guido_van_rossu.html

La empresa SUN parece que está perdiendo dinero ( http://www.bloggingstocks.com/2008/08/01/sun-microsystems-java-drops-on-forecast-of-losses/ ) Después de todo... SUN no "vende" java pues es gratis. Pero lo peor de todo es que SUN no parece estar aprovechando la "fama" de java a su favor. Parece que mientras más se usa Java los que se benefician son otros (IBM, Oracle, .etc) y no la propia SUN.

Bruce Eckel (el que escribió el libro "thinking in Java") ahora trabaja para Adobe y utiliza herramientas Flex: http://www.jamesward.com/wordpress/2007/01/10/bruce-eckel-is-thinking-in-flex/ ......su próximo libro será "Thinking in Flex"?.

Bruce Eckel (si, el mismo) también hizo el intento de escribir "Thinking in Python" ( http://www.mindview.net/Books/TIPython )

Guido Van Rossum (creador de Python), quien pronto sacará la siguiente versión (Python 3000) http://dotnet.sys-con.com/node/467841 mencionó algo muy interesante en una entrevista: "... Python es un lenguaje de incluso más alto nivel [incluso mas alto que java] y eso antiguamente era mal visto por la pérdida de performance que eso genera; pero sin embargo el poder computacional del hardware avanza tan rápido que ese argumento es cada vez menos válido..."

Revisemos un poco de historia:

Assembler es un lenguaje de gran poder; pero luego apareció otro lenguaje ("C") un poco más lento pero de "alto nivel" que te permite ser productivo y se empezó a usar más que el propio assembler, estoy hablando de lenguaje C.
Luego apareció C++ y se repitió lo mismo.
Luego apareció Visual Basic, cuyo "alto nivel y facilidad de uso" lo ha convertido en quizás el lenguaje más utilizado.
Alguno recuerda Visual FOX?... lenguaje de alto nivel pero con alta productividad.
Luego apareció Java y es muy utilizado y definitivamente uno puedo hacer mucho con Java y ser muy productivo. Claro, el resultado final puede no ser tan rápido como algo hecho en C++ ... pero..... realmente importa? Realmente es necesario ser milisegundos más rápido en un mundo en el que procesadores más rápidos aparecen constantemente?

¿Y qué tal si te dijera que con Python puedes ser incluso más productivo que con Java; pero tu programa va a correr un poquito más lento?... ¿Usarías Python? ...

Claro, el "mercado" determina mucho que lenguaje de programación utilizamos, y el respaldo de "los grandes" (SUN, IBM, Microsoft) es la razón por la cual muchos de nosotros trabajamos con lenguajes como Java y .NET. Pero ahora que otro "grande" como Google está empujando Python quizás eso empiece a cambiar.

He revisado Python ultimamente y yo (que trabajo con Java todos los días) puedo decir que cada vez me gusta más Python.... aquí algunas de las observaciones que he encontrado:

  • Java es libre. Python también.
  • Si, mi Eclipse soporta Python. Pero hay otras IDEs también.
  • Tooodos esos términos de marketing que se usan para vender Java también aplican para Python: programación orientada a objetos, multiplataforma, seguridad, escalabilidad, gran cantidad de librerías y frameworks, .etc.
  • Interesante comparación de java versus Python: http://pythonology.org/success&story=nexedi
  • Cuando quiero mayor performance en java, "bajo" a lenguaje C... y eso no es simple porque tengo que usar DLLs, JNI y esas cosas... sin embargo Python conversa con librerías de lenguaje C de una manera más natural.
  • Y Python también puede utilizar librerías Java, incluso puede extender una clase java de ser necesario. ( www.jython.org ) De hecho puedo hacer un "applet java" en Python. (Si! y ponerlo en una web como si fuera un "applet java")
    Siempre he querido hacer un juego, cada vez que lo intento con java llego sólo a un límite porque las librerías gráficas de java (no me refiero a Swing ni a AWT) no tienen el poder suficiente para hacer un juego 3D "de verdad" o usar una librería de juegos como OGRE: http://www.ogre3d.org/ .... sin embargo... Python tiene varias librerías para acceder al "poder gráfico de 3D"... ejemplos: http://www.pygame.org/ y el propio Blender: http://www.blender.org/ que te permite crear juegos en 3D y luego aplicarles lógica de programación..... con el lenguaje Python por supuesto.
  • Los hosting para aplicaciones Java están "caros" (20 dólares mensuales) y por eso PHP tiene gran popularidad porque sus hostings son "baratos" (3 dólares mensuales, algunos incluso menos o gratis). Los precios de hosting Python son similares a los de PHP.
Creo que he estado demasiado ocupado en Java ultimamente y me he perdido este "movimiento pitónico" llamado Python que ha estado surgiendo....


Ahora la única razón para no aprender Python es: flojera.

Te invito a descubrir un mundo nuevo llamado Python: www.python.org

1 Response to Parece que es momento de aprender otro lenguaje de programación

Anónimo
1 de noviembre de 2008, 2:48

Pucha, osea, ahora que recién estoy aprendiendo Java :p tengo que pasar a otro lenguaje? :@ ... bueno, lo que escogimos esta profesión sabíamos a que nos enfrentábamos :) ... Gracias por la info amigo Tak, un abrazo.

Yaddif.