A linguagem de programação Bosque veio para simplificar

Uma nova linguagem de programação de código aberto projetada para escrever códigos simples e óbvios para humanos e máquinas.

Por Paul Krill, da InforWorld (EUA)

Microsoft lançou um novo projeto de código aberto para desenvolver a linguagem de programação Bosque. O objetivo do projeto de linguagem Bosque é construir uma linguagem de programação funcional que evite a “complexidade acidental” no processo de desenvolvimento.

As metas de design para a linguagem Bosque incluem a produtividade melhorada de desenvolvedor, melhor qualidade de software e habilitação de uma série de novos compiladores e experiências de ferramentas. A Bosque posiciona-se como uma experiencia para projetos regularizados para um ciclo de vida de desenvolvimento de software assistido por máquinas.

Um objetivo fundamental é a eliminação da complexidade acidental. O código Bosque é supostamente simples e fácil de compreender tanto para máquinas quanto para seres humanos. Mas o Bosque permanece muito em desenvolvimento neste momento; os proponentes não recomendam usar a Bosque em qualquer trabalho de produção. Os developers são encorajados a experimentá-lo.

Algumas das características e escolhas de design feitas para a Bosque são as seguintes:

  • Todos os valores são imutáveis, com a Bosque adotando um modelo funcional com dados imutáveis. Entender o efeito de uma declaração de bloco de código é simplificado quando é livre de efeitos colaterais, afirma a documentação da Bosque. As linguagens funcionais beneficiaram-se de simplificações para o desenvolvimento de programas, ferramentas sofisticadas e otimizações de compiladores permitidas por este modelo.
  • A programação funcional é combinada com escopos de bloco e {…} chaves, permitindo várias atribuições a variáveis atualizáveis var!.
  • Funções são valores e tipos de primeira classe.
  • Os construtores Lambda combinam a definição de código para o corpo lambda com uma semântica de cópia variável para as variáveis capturadas de conclusão na criação de lambda.
  • Um sistema de tipos simples e sem opinião permite o uso de uma variedade de tipos estruturais, combinados e nominais para transmitir intenção e codificar recursos relevantes do domínio do problema.
  • As strings tipificadas fornecem um mecanismo para elevar a estrutura conhecida sobre o conteúdo de uma string no tipo, de uma forma que seja significativa para as pessoas e usada pelo verificador de tipos.
  • Os parâmetros podem ser encadeados através da passagem de argumentos ref. Uma alternativa aos valores de vários retornos, isso simplifica os cenários em que uma variável é passada para um método que pode usá-la e atualizá-la. Permitir a atualização no parâmetro elimina o gerenciamento de valor de retorno extra que seria necessário. Este recurso ainda não está implementado.
  • Argumentos nomeados são fornecidos, assim como os operadores de descanso e disseminação. Estes podem executar manipulação de dados como parte de invocações e operações de construtor.
  • Suporte de primeira classe é oferecido para expressar uma série de invariantes, verificações de sanidade e afirmações de diagnóstico.
  • As operações de dados algébricos em massa na Bosque começam com leituras em massa e atualizações para valores de dados. Os operadores produzidos ajudam a concentrar o código na intenção geral e permitem que os desenvolvedores executem o raciocínio algébrico nas operações da estrutura de dados. As operações algébricas são fornecidas para tipos de dados, conjuntos compostos, registros e tipos nominais, bem como para operações, incluindo projeção, atualização múltipla e mesclagem.
  • Com uma capacidade de processamento iterativo, os loops estruturados são trocados por construções de processamento iterativo de alto nível. Remover o clichê de gravar os mesmos loops, elimina classes de erros, incluindo cálculos vinculados; a tentativa é feita com intenção de limpar.

A Bosque torna-se o mais recente projeto de linguagem da Microsoft, que produziu idiomas incluindo C#, uma linguagem orientada a objetos; F#, uma linguagem funcional; e TypeScript, um superconjunto digitado de JavaScript.

A gigante americana de software tem tido um nivel elevado de sucesso no desenvolvimento de idiomas que ganham popularidade. O C#, por exemplo, ficou em quinto lugar e o TypeScript em 12º lugar nas mais recentes classificações de linguagem do RedMonk, baseadas em discussões no Stack Overflow e uso de código no GitHub.

Veja com detalhe documentação da Bosque, exemplos e uma implementação de referência no GitHub.

Autores

Artigos relacionados

O seu comentário...

*

Top