Conheça a Rust, a Nova Linguagem de Programação da Mozilla

A Mozilla está desenvolvendo uma nova linguagem de programação multi-paradigma chamada Rust. De acordo com o FAQ da Rust, o objetivo principal da Rust é “desenvolver e implementar sistemas seguros, práticos, simultâneos e estáticos.”

A Rust nasceu como um projeto paralelo da Graydon Hoare em 2006, e a Mozilla se envolveu em 2009 quando o projeto se tornou maduro o suficiente para fazer alguns testes básicos. A linguagem agora está publicada no Github, mas ainda não está pronta para produção.

Aqui está um exemplo de código do Rust Language FAQ:

Aqui está uma lista dos recursos do FAQ:

  • Memória segura. Sem ponteiros null ou wild. Gerenciamento de armazenamento automático.
  • Controle de mutabilidade. Imutável por padrão. Nenhum estado mutável compartilhado entre tarefas.
  • Execução dinâmica de segurança: falha de tarefas / unwinding, trapping, logging. RAII / dtors.
  • Controle de memória explícita. Controle de layout e alocação. Interior / tipos de valor.
  • Iteradores de pilhas (lambda-blocks efetivos sem alocações de heap).
  • Compilações nativas e estáticas. Arquivos Emits ELF / PE / Mach-o.
  • Interface direta e simples para código C ;
  • Multi-plataforma. Desenvolvidas no Windows, Linux, OSX.
  • Strings UTF8, variedades de tipos de nível de máquina.
  • Funciona com toolchains nativas e existentes. GDB / Valgrind / Shark / etc.

Além do Hoare, outros contribuidores incluem o membro do comitê Ecma, Dave Herman, e o criador do JavaScript e CTO da Mozilla, Brendan Eich.

Ed Borasky recentemente comentou no ReadWriteWeb: “Nós simplesmente não precisamos de mais linguagens de programação! O que precisamos é de implementações eficientes das que já temos e de sistemas de controle IDEs que reforçam a disciplina de engenharia de software.”

Você concorda? Será que temos linguagens de programação suficientes ou há uma necessidade e espaço para novas experiências?

0 responses to “Conheça a Rust, a Nova Linguagem de Programação da Mozilla

  1. Temos muitas linguagens de programação, mas ainda não é o suficiente. Ainda tem muito espaço para experimentar com linguagens diferentes.

    Uma linguagem é uma forma de expressão, que molda a percepção que cada um tem do problema e da forma de solucioná-lo. À medida que tratamos de problemas mais e mais sofisticados, em computadores cada vez melhores e maiores, vamos precisando de linguagens com capacidade de expressão superior.

    O próprio conceito de programa como “texto” também precisa ser desafiado. Linguagens visuais, com blocos de construção tipo “Lego” talvez tenham lugar em breve. O fluxo de controle de linguagens textuais tende a ser sequencial, até mesmo porque essa é uma característica do texto. Um ambiente 2D ou 3D (ou “n D”!) permitiria expressar outros tipos de controle.

    Parece viagem, mas coisas que eram impossíveis há 20 anos hoje são normais. Gerenciamento automático de memória, tradução de código “on the fly” (com JIT), paralelismo maciço, e muitas outras. E com certeza não vamos parar por aí.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *