miércoles, agosto 15, 2007

El lenguaje de programación Scala

Después de pensar que Java era un lenguaje sin mucho futuro, acabo de encontrar un lenguaje que podría salvar a Java y mantenerlo como el lenguaje de máquina de alto nivel de la JVM, cuyo propósito es soportar su próximo lenguaje de alto nivel.
Scala es un lenguaje de alto nivel, multiparadigmático, elegante y seguro. Soporta la programación orientada a objetos y la programación funcional y tiene una librería para soportar la concurrencia basada en el modelo de actores. Deriva de Funnel, que es más formal y me gusta un poco más.
Sin embargo Scala tiene un montón de capacidades interesantes: fue diseñado para reutilizar la plataforma existente y se integra perfectamente con Java y XML, que maneja de manera nativa con capacidades de XQuery y XPath, tiene tipos estáticos, inferencia de tipos y pattern matching.
No creo que sea el mejor lenguaje disponible, pero parece el mejor lenguaje para la JVM, y tiene una ventaja final: al ser OO podría ser adoptado rápidamente por la comunidad de Java, mientras aprenden a utilizar las capacidades adicionales que tiene el lenguaje, presentando la rara oportunidad de una transición aparentemente tranquila.
Como no lo he probado, no puedo decir que tan eficiente es, o si hay algún problema subyacente u otro tipo de detalle que podría originar problemas mayores, sin embargo, no consigo evidencia de esto en Internet.
Aún cuando la JVM no puede soportar aplicaciones masivamente concurrentes, por varias razones técnicas, los diseñadores de Scala, se las ingeniaron para aplicar control de inversión sobre el control de inversión del modelo de programación orientada a eventos para lograr un modelo de microthreads, similar al de Erlang.
Sería excelente que cesará de inmediato la gastadera de recursos en Java y se enfocaran en Scala, incluyendo la investigación y desarrollo de mecanismos en la JVM, que apoyen las capacidades de este lenguaje, permitiendo el uso eficiente de las máquinas del futuro, y abordando definitivamente el autobús al nuevo paradigma de programación.
Si se hacen los cambios apropiados a la JVM (continuaciones, variables por referencia, microthreads, etc.), Scala sería más eficiente, pero además la JVM se convertiría en una plataforma eficiente para lenguajes como Scheme, CL, ML, OCaml y Erlang, con la ventaja automática de tener tal vez el mejor JIT, del mercado que según recuerdo ahora es GPL.

No hay comentarios.: