Tutorial del Lenguaje de programacion Bosque

Articulos tematica Microsoft

Tutorial de Bosque. Bloqueo de alcance. Características destacadas

Características destacadas

El lenguaje de programación Bosque está diseñado para escribir código que sea simple, obvio y fácil de razonar tanto para humanos como para máquinas. El diseño fue impulsado en gran medida por la identificación y eliminación de varias fuentes de complejidad accidental y puntos de vista sobre cómo se pueden aliviar a través del diseño del lenguaje reflexivo.

Esta sección destaca y contiene información sobre muchas de las características y opciones de diseño más notables y / o únicas en el lenguaje de programación de Bosque.

Valores inmutables

¡Todos los valores en el lenguaje del bosque son inmutables!

El razonamiento y la comprensión del efecto de una declaración o bloque de código se simplifica enormemente cuando no tiene efectos secundarios. Los lenguajes funcionales se han beneficiado durante mucho tiempo de las simplificaciones al desarrollo de programas, herramientas sofisticadas y optimizaciones agresivas del compilador que este modelo permite. Desde esta perspectiva, la elección natural para el lenguaje Bosque es adoptar un modelo funcional puro con datos inmutables solamente.

Bloqueo de alcance

Las variables locales con código de bloque estructurado son un modelo muy atractivo para estructurar código. El lenguaje Bosque fusiona la programación funcional con ámbitos de bloque y {...} llaves permitiendo múltiples asignaciones a variables actualizables var! (6.3 Asignación de variables). Esto admite la programación de estilo funcional en un lenguaje de ámbito de bloque y permite a los desarrolladores escribir código como:

function abs(x: Int): Int {

var! sign = 1; //declare updatable variable with initial value

if(x < 0) {

sign = -1; //update the variable

}

return x * sign;

}

Roscado de parámetros de referencia

Además de permitir múltiples asignaciones a variables, el lenguaje Bosque también permite a los desarrolladores enlazar parámetros a través del paso de argumento ref. Esta alternativa a los valores de retorno múltiple simplifica los escenarios donde se pasa una variable (a menudo, algún tipo de entorno) a un método que puede usarla y actualizarla. Al permitir la actualización en el parámetro se elimina la administración adicional del valor de retorno que de otro modo se necesitaría:

function internString(ref env: Map, str: String): Int {

if(env.has(str)) { //use the ref parameter

return env.get(str);

}

env = env.add(str, env.size()); //update the ref parameter

return env.size();

}

Fecha actualización el 2021-05-06. Fecha publicación el 2019-05-06. Categoría: microsoft Autor: Oscar olg Mapa del sitio Fuente: github Version movil