Bosque, el nuevo lenguaje Open Source de Microsoft

Todavía en fase de desarrollo, Bosque es un nuevo lenguaje de programación de código abierto de Microsoft.  Está basado en la sintaxis y los tipos de datos TypeScrypt, también desarrollado por Microsoft y del que hablamos en este artículo, aunque influenciado por Node.js/JavaScript y ML. Resulta un código sencillo de escribir y de comprender, que minimiza  los errores y es más cercano y fácil de aprender que otras alternativas.

Bosque elimina los bucles del lenguaje, cambiando las subrutinas independientes de los lenguajes clásicos, con una función llamada Functor, más sencilla de crear, rastrear y con una tarea similar.

Una de las cosas más interesantes con Bosque, es que elimina algo que en la programación tradicional es frecuente: la complejidad accidental, o lo que es lo mismo, escribir un código,relativamente complejo sin querer hacerlo, porque la estructura del propio lenguaje nos obliga a ello.

Lo vemos con este ejemplo de código. En lugar de hacer el bucle iterativo habitual en C, por ejemplo, al multiplicar todos los elementos de la matriz por 2:

int a[5] = {1, 2, 3, 4, 5};
 int b[5];
 for(int i=0; i<5; i++)
     b[i] = a[i]*2;

Sin embargo, con Bosque evitamos la idea de hacer un bucle y acceder a la matriz directamente desde la memoria haciendo lo siguiente:

var a = List[Int]@{1, 2, 3, 4, 5};
 var b = a.map[Int](fn(x) => x*2);

Requerimientos

Para utilizar Bosque se necesita lo siguiente:

  • Sistema operativo de 64 bits
  • La versión LTS de node.js (según su sistema operativo)
  • Typescript (instalar con: npm i typescript -g)

Crear y testear

En el directorio ref_impl se encuentra el paser, el comprobador de tipos, el intérprete y la línea de comandos. Podéis probar desde ese directorio lo siguiente:

npm install && npm run-script build && npm test

Ejecución desde la línea de comandos

Desde el directorio ref_impl tenemos una interfaz de línea de comandos muy sencilla para archivos independientes de Bosque (.bsq). Estos archivos deben tener una sola función de punto de entrada llamada main (). El código en el archivo se puede analizar, revisar y ejecutar con:

nodo bin / test / app_runner.js FILE.bsq

Actualmente, Bosque está todavía en fase de desarrollo y Microsoft recomienda no utilizarlo todavía en aplicaciones profesionales. En su lugar, anima a que se ensaye solo con proyectos paralelos pequeños y experimentales, aunque si pide a los programadores que se involucren y proporcionen comentarios. Podéis descargar Bosque desde GitHub por si queréis comenzar a trastear con él.