lunes, 23 de marzo de 2009

¿Armamos la polémica? Discutamos sobre lenguajes.

Nunca fui un gran fanático del deporte, pero la mayoría de mis compañeros de secundaria sí. Casi todos de fútbol, aunque era también importante el subgrupo del tenis, y el del básquet.

Era inevitable, en cada salida, el momento en que, como buenos hinchas o fanáticos, desplegaran todo su conocimiento estadístico-enciclopédico en intrincadas polémicas acerca de si tal equipo, jugador o escuadra era el mejor o peor en determinado momento.

Las frecuentes discusiones sobre lenguajes y plataformas de programación me recuerdan mucho a esos momentos en los que escuchaba fascinado una sucesión interminable de nombres, fechas y anécdotas que no entendía demasiado y de la que no retenía absolutamente nada… alineaciones, torneos ganados, goles a favor y en contra, números y afirmaciones de dudosa procedencia y que nadie se preocupaba demasiado en corroborar.

En un entorno más “geek” se mencionan comunidades, herramientas disponibles, eficiencia en tiempos de ejecución, en consumo de recursos, seguridad, escalabilidad… uf, un montón de cosas, potenciadas además por la meta-discusión acerca de los criterios por los que se debe realizar la evaluación (ver por ejemplo Todas las discusiones sobre lenguajes son absurdas… que confirma iniciando otra discusión absurda).

Como discusiones de café están muy bien, no por absurdas dejan de ser divertidas, y el intercambio siempre aporta algo interesante. Pero… ¿y en la vida real?

En la vida real (y aquí viene el puntapié inicial de mi propia discusión absurda, inútil y divertida) la elección debería ser clara, natural. Que no lo sea es señal de problemas.

¿En qué lenguaje tenemos experiencia, con cuál venimos trabajando? Debería ser la primera elección. Pero podría no ser técnicamente aplicable, o estar volviéndose obsoleto (por ejemplo ASP, Visual 5 o 6, para dar ejemplos no demasiado discutibles), o la experiencia anterior pudo no haber sido buena. Entonces habría que repetir la pregunta, buscar opciones en la experiencia previa de los integrantes del equipo tomados individualmente.

¿Siguen sin aparecer opciones? Mmmm…. ¿Ven lo que digo? Señal de problemas. Ya estaríamos ante una situación bastante inusual, ¿en qué extraño –para nosotros- proyecto estamos metidos? Yo diría que el paso siguiente es buscar experiencia ajena, indagar un poco acerca de la combinación lenguaje/plataforma más utilizado en proyectos similares y adoptarla. Y sería más que recomendable incorporar a alguien con experiencia, porque la ajena es mala consejera.

Se me dirá conservador. En este tema lo soy. No me es difícil pensar en adoptar un nuevo lenguaje,  pero sí vería con recelo adoptarlo en un desarrollo profesional sin estar acompañado de alguien con experiencia. Es lindo experimentar pero negocios son negocios, y ponerse a jugar con chiches nuevos aumenta en mucho el riesgo del proyecto y probablemente estemos sacrificando calidad en el producto final (porque al fin y al cabo en eso se traduce la experiencia). Luego, cuando los resultados no son buenos, es fácil culpar a la plataforma, cuando en realidad el problema es que no la hemos utilizado correctamente.

¿Java, VB, C#, PHP, Python, Ruby…? Estoy seguro de que en cualquiera puede desarrollarse un producto excelente, escalable, rápido y bonito, así que no es ésa la discusión. La discusión es en cuál podemos hacerlo nosotros.

4 comentarios:

BlackTigerX dijo...

bueno, para empezar todos sabemos que la plataforma .NET es muy superior a Java... y el que no lo crea que me de una clase generica en java que use lambdas, jajaja

salu2

AcP dijo...

Hello es lo más. La curva de aprendizaje más corta posible.

Lobosoft dijo...

Bueno, el mejor lenguaje como se comenta por aquí, es el en que nos sintamos más cómodos. Todos tienen sus pequeñas ventajas sobre los otros, y muchos superan con creces a algunos... pero es innegable que debemos sentirnos cómodos con el lenguaje que usemos, conocerlo bien para sacarle partido y, sobre todo, no temer aprender algo "del enemigo". Buen artículo.

Saludos.

Mithdraug dijo...

Bueno, el mejor lenguaje como se comenta por aquí, es el en que nos sintamos más cómodos. Todos tienen sus pequeñas ventajas sobre los otros, y muchos superan con creces a algunos... pero es innegable que debemos sentirnos cómodos con el lenguaje que usemos, conocerlo bien para sacarle partido y, sobre todo, no temer aprender algo "del enemigo". Buen artículo.

Saludos.