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:
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
@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
Publicar un comentario