Mostrando entradas con la etiqueta Haskell. Mostrar todas las entradas
Mostrando entradas con la etiqueta Haskell. Mostrar todas las entradas

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.