Pit, un nuevo proyecto de código abierto compila código de F# a Javascript. La razón de esto es que Javascript está día a día cobrando más fuerza y para algunos es el sucesor de lo que fuese BASIC al inicio de las computadoras de 8 bits. Actualmente ya hay un buen número de lenguajes que compilan a Javascript, incluyendo Dart y CoffeeScript, pero la mayoría no son más que extensiones y mejoras a mismo Javascript.
Compilar lenguajes fuertemente tipificados a Javascript es todo un reto, pero Javascript ya es un lenguaje orientado a objetos y no necesita mucho más código para implementar tipos y clases que estén basadas en herencia. Sin embargo, Javascript tiene otro aspecto: Se le puede ver como un lenguaje funcional y con un par de adiciones, como map y apply, estamos francamente a todo un lenguaje funcional que realmente puede usarse como tal.
Por ello mismo, ¿por qué no usar Javascript como obetivo para un compilador de un lenguaje funcional “real”?
Esto es precisamente lo que pretende hacer Pit. Actualmente van en la modesta versión 0.2. Puede usarse, sin embargo, para compilar algunas demostraciones impresionantes. Ademas de trabajar como un compilador estándar de F# a Javascript, también puede usarse como REPL en un navegador (Read Evaluate Print Loop). El único inconveniente es que REPL requiere usar silverlight para trabajar, por lo que no trabajará en todos los navegadores. Las buenas noticias es que el compilador genera código de Javascript muy leíble.
Cabe decir que F# (pronúnciese F sharp) es un lenguaje de programación basado en muchos paradigmas, el cual fue enfocado para usarse bajo la plataforma .NET y en alguna medida, tiene características funcionales, así como imperativas. También usa parte del modelo de lenguaje orientado a objetos. F# lo desarrolló Don Syme, en Microsoft Research y ahora ya se desarroll en la Microsoft Developer Division. Se distribuye como un lenguaje completo en .NET y Visual Studio, como parte de la versión 2010 de ese paquete.
Aparte de ser un proyecto interesante y además, otra prueba de que en principio Javascript puede ser usado como un lenguaje intermedio, es también una herramienta útil. Hay muchos algoritmos muy avanzados que trabajan en F# y ahora pueden correrse en un navegador como una aplicación HTML5. Además, da una plataforma mucho más grande para el desarrollo de F#. Ahora se puede pensar en usar F# con la expectativa de que puede dar a la postre una versión web con la ayuda de Pit.
Por supuesto que esto dependerá de que el proyecto se siga desarrollando. Por el momento hay dos personas en el equipo, pero si piensa que usted podría echarles la mano, ¿por qué no se une al mismo?