El mejor lenguaje, la mejor herramienta

Ayer escribía sobre la popularidad de los lenguajes de programación:

Popularidad de Lenguajes de Programación

Justo ayer, también, @ebersys escribía en Twitter:

El bueno de Eber Irigoyen es miembro activo de Alt.NET hispano:

Vive en Salt Lake city, Utah, visiten su blog:

Que quieres desarrollar hoy?

Yo disiento con eso de “el mejor lenguaje es el que conoces mejor”. Mi contestación en Twitter fue:

Pero de donde puede venir eso de “el mejor lenguaje es el que conoces mejor”? Bueno, como comentaba ayer, hay grupos de lenguajes, y mucho de nosotros, estamos trabajando con .NET o Java o ambos. Son lenguajes de uso general, donde podemos hacer aplicaciones de consola, gráficas, o web. En los dos casos, más que lenguaje, tenemos un framework de clases, y entornos de desarrollo, desde Eclipse hasta Visual Studio. Creo que uno puede pensar que “el lenguaje que conoce es el mejor”, si está en uno de esos dos grupos: programando en Java o en .NET. Son más que lenguajes: son interminables clases y capacidades y plugins y wizards, que nos ayudan a hacer multitud de aplicaciones.

Pero sigo pensando que, si limitamos la pregunta a lenguajes, el mejor lenguaje es el que mejor se adecua a lo que tengo entre manos. Claro que con .NET o con Java, vamos a poder hacer más tipos diferentes de aplicaciones. Pero siempre es importante, si podemos elegir, considerar que hay lenguajes de todo tipo, con énfasis en distintos aspectos de la programación. Por ejemplo, en mi caso, en mi proyecto de generación de código AjGenesis, he elegido desde el principio, adoptar un lenguaje dinámico, no tipado, porque me parece lo más adecuado, flexible, adaptable, a lo que quería hacer (leer Generación de Código, AjGenesis y AjBasic). Y estoy muy contento con la elección.

Por otro lado, si vamos a hacer aplicaciones de empresa, nos baste .NET o Java, y en ese caso, elegiremos, si podemos, “el que conocemos mejor”.

Pero insisto: si vamos a .NET o Java, no vamos a “un lenguaje”, vamos a una tecnología, un framework de clases, y alguna IDE, vamos más allá de elegir un lenguaje. En este caso, destacaría la experiencia de desarrollo que nos dé la IDE que elijamos. En estos casos, tengo que comentar que tanto Eclipse como Visual Studio, son una gran ayuda a la hora del desarrollo. En mi opinión, Eclipse es demasiado “todo es un plugin”, cosa que en Visual Studio todo viene más armado y coordinado desde el principio. (Hace un tiempo que no veo NetBeans: cuando lo veía, me parecía que era mucha “bajada de línea” de Sun, donde se soportaba sólo lo que a Sun le importaba. Si le importaba JSF, desaparecía del mapa JSP y así.)

Entonces, uno podría pensar que la mejor herramienta es la IDE, el framework, la tecnología. Pero acá debo alzar la mano, y recordar una escena de Rambo II. Rambo sale de la cárcel, y vuelve a la selva, a rescatar a su antiguo jefe y entrenador, que ha sido capturado por el enemigo. En un campamento amigo, un agente especial le muestra un galpón, lleno de armas: orgulloso, le presenta a Rambo una tras otra arma, una más sofisticada y poderosa que la otra. Rambo no parece impresionarse, y pronuncia la frase, lapidaria: “La mejor arma es una mente despierta”.

Lo mismo digo: parafraseando a Rambo, “la mejor herramienta es una mente despierta”. No hay IDE, lenguaje, tecnología, plataforma, framework, que sustituya lo que tenemos entre las orejas. Si como desarrolladores no pensamos, no meditamos en lo que hacemos, por qué lo hacemos, qué necesitamos lograr, y solamente programamos de tal forma, porque está de moda, o está en los libros, o usamos tal framework, sin entenderlo cabalmente, sin ver cuál es el problema que resuelve, y lo vemos como una panacea o “silver bullit”, si en vez de pensar, digo, nos embarcamos ciegamente en el desarrollo, no hay IDE que nos ayude. Lo que Salamanca non da, natura non presta. Lo que no pensemos, no lo va a solucionar la IDE, ni el lenguaje.

Si uno piensa, puede llegar a ser productivo hasta en Assembler… :-)

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

This entry was posted in 1389, 1390, 3463, 8870. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>