Llegamos a ustedes gracias a:



Noticias

Microsoft aspira a la simplicidad con el lenguaje de programación Bosque

[25/04/2019] Microsoft ha lanzado un nuevo proyecto de código abierto para desarrollar el lenguaje de programación Bosque. El propósito del proyecto del lenguaje Bosque es construir un lenguaje de programación funcional que evite la "complejidad accidental" en el proceso de desarrollo.

Los objetivos de diseño para el lenguaje Bosque incluyen la mejora de la productividad de los desarrolladores, la mejora de la calidad del software y la habilitación de una amplia gama de nuevos compiladores y experiencias con herramientas. El nuevo lenguaje se posiciona como un experimento de diseño regularizado para un ciclo de vida de desarrollo de software asistido por máquina, rápido y fiable.

Un objetivo clave es la eliminación de la complejidad accidental. Se supone que el código de Bosque es simple y fácil de comprender tanto para las máquinas como para los humanos. Pero Bosque sigue en desarrollo en este momento; los proponentes no recomiendan el uso de Bosque para ningún trabajo de producción. Se anima a los desarrolladores a que experimenten con él.

Algunas de las características y opciones de diseño del lenguaje Bosque incluyen las siguientes:

  • Todos los valores son inmutables, con Bosque adoptando un modelo funcional con datos inmutables. La comprensión del efecto de una declaración de bloque de código se simplifica cuando no tiene efectos secundarios, afirma la documentación de Bosque. Los lenguajes funcionales se han beneficiado de simplificaciones en el desarrollo de programas, herramientas sofisticadas y optimizaciones de compiladores habilitadas por este modelo.
  • La programación funcional se fusiona con los osciloscopios de bloque y {...} abrazaderas permitiendo múltiples asignaciones a variables actualizables var!
  • Las funciones son valores y tipos de primera clase.
  • Los constructores de Lambda combinan la definición de código para el cuerpo de la lambda con una semántica de copia variable para las variables capturadas de cierre en la creación de la lambda.
  • Un sistema de tipo simple, no opcional, permite el uso de una gama de tipos estructurales, combinados y nominales para transmitir la intención y codificar las características relevantes del dominio del problema.
  • Las cadenas tecleadas proporcionan un mecanismo para elevar la estructura conocida sobre el contenido de una cadena en el tipo de una manera que sea significativa para las personas y utilizada por el verificador de tipos.
  • Los parámetros se pueden enhebrar mediante el paso de argumentos de referencia. Una alternativa a los valores de retorno múltiple, esto simplifica los escenarios en los que una variable se pasa a un método que puede utilizarla y actualizarla. Permitir la actualización en el parámetro elimina la gestión adicional del valor de retorno que se requeriría. Esta característica aún no se ha implementado.
  • Se proporcionan argumentos con nombres, así como operadores de reposo y propagación. Estos pueden realizar manipulación de datos como parte de invocaciones y operaciones del constructor.
  • Se ofrece un soporte de primera clase para expresar una serie de invariantes, comprobaciones de cordura y afirmaciones diagnósticas.
  • Las operaciones de datos algebraicos a granel en Bosque comienzan con lecturas a granel y actualizaciones de los valores de los datos. Los operadores producen ayuda para enfocar el código en la intención general y permiten a los desarrolladores realizar razonamiento algebraico sobre las operaciones de la estructura de datos. Las operaciones algebraicas se proporcionan para tipos de datos, tuplas, registros y tipos nominales, así como para operaciones que incluyen proyección, actualización múltiple y fusión.
  • Con una capacidad de procesamiento iterativo, los bucles estructurados se intercambian por construcciones de procesamiento iterativo de alto nivel. Eliminar la plancha de caldera de escribir los mismos bucles elimina clases de errores, incluyendo cálculos encuadernados; la intención se hace clara.

Bosque se convierte en el último proyecto de lenguaje de Microsoft, que ha producido lenguajes como C#, un lenguaje orientado a objetos; F#, un lenguaje funcional; y TypeScript, un superconjunto escrito de JavaScript. El gigante del software ha tenido un buen grado de éxito en el desarrollo de lenguajes que ganan popularidad. C#, por ejemplo, ocupa el quinto lugar y TypeScript el 12º en las clasificaciones de lenguaje más recientes de RedMonk, que se basan en discusiones en Stack Overflow y en el uso de código en GitHub.

Puede encontrar documentación de Bosque, ejemplos y una implementación de referencia en GitHub. Los tutoriales están en marcha.