domingo, 29 de marzo de 2009

Microsoft al rescate

En mi búsqueda de convencer clientes conservadores que es tiempo de usar nuevos lenguajes como Scala y nuevos framework como Lift , me encontré con el caso particular de los "clientes MS".   Algunos de estos usan Visual Basic, T-SQL y programación estructurada.  En primera instancia, descarte por completo tratar de convencer este tipo de cliente: lograr que adopten, programación Orientada al Objeto, programación Funcional y un servidor de aplicación Java me pareció una tarea casi imposible. 

No obstante, lo estoy repensando porque MS demostró algo que estos clientes entienden muy bien:
  • una maquina virtual puede/debe soportar múltiples lenguajes,
  • se usa el lenguaje más apropiado a cada problema y a la capacidad del grupo de desarrollo,
  • si se usa un solo set de API's, es relativamente fácil pasar de un lenguaje a otro.
Si se compara con el mundo Java: a pesar que la JVM soporta hace rato múltiples lenguajes, la tradición es que todo se programa en Java y se cambia la API/framework según el problema a resolver o la capacidad del grupo de desarrollo.  Entonces, hay una barrera que se tiene que romper en Java y que no existe en el mundo .Net.

Además, MS esta bastante activa con los lenguajes funcionales y los posiciona como solución a la crisis del multi-core.  El creador de F# habla bien de Scala  y Haskell sigue siendo una referencia para el control de los efectos colaterales con su soporte STM 

En resumen, MS esta demostrando porque se requiere un cambio de paradigma y que este cambio puede ser incremental sobre su maquina virtual (con F# y Haskell).  Voy a usar estos mismos argumentos, cambiando la CLR de .Net por la JVM de Java, F#/Haskell por Scala y STM por la API Actor.  

Fácil.

2 comentarios:

Germán dijo...

Así es, MS no tuvo miedo en hacer avanzar sus lenguajes. C# nació como un Java mejorado y no paró de evolucionar (bien o mal), incorporando conceptos funcionales. Sun está empecinado en estancar a Java-el-lenguaje, tratemos de no estancarnos nosotros junto con él.
Saludos

Francois dijo...

@Germán:

Es cierto que Java se esta estancando como lenguaje. Comparto la opinión de Bruce Eckel que no es necesariamente tan malo.

Para darle algún crédito a Sun, hay que mencionar que integran Ruby y Python sobre la JVM, como plug-in de Netbeans y sobre su Glassfish. También soportan PHP en Glassfish a través de Quercus de Caucho. Se se compara, IBM esta solamente con PHP, Oracle con PL/SQL. SpringSource esta con Groovy y Grails.

No hay lugar a duda, el multi-lenguaje sobre la JVM es una realidad. Para mi, los lenguajes más interesantes son funcionales.

¡Ahora, queda hacer correr la voz para que más clientes se entusiasmen!

Saludos