Linguagem de Programação E
Pontos principais
- A linguagem E foi criada em 1997 na Electric Communities por Mark S. Miller, Dan Bornstein, Douglas Crockford, Chip Morningstar e outros.
- Utiliza um modelo computacional baseado em objetos distribuídos em unidades chamadas vats.
- Emprega promessas (promises) e loops de eventos para evitar deadlocks em redes distribuídas.
E é uma linguagem de programação orientada a objetos desenvolvida para computação distribuída e segura. Criada em 1997 por Mark S. Miller, Dan Bornstein, Douglas Crockford, Chip Morningstar e outros colaboradores na Electric Communities, a linguagem descende principalmente da linguagem concorrente Joule e do Original-E, um conjunto de extensões voltadas para programação distribuída segura em Java.
Filosofia e Segurança
O projeto da linguagem E prioriza a segurança da computação através de uma estrita adesão ao modelo de computação orientada a objetos. Utiliza um design fundamentado em capacidades, permitindo que componentes de software cooperem mesmo sem confiança mútua total. As referências a objetos funcionam como capacidades, evitando custos computacionais adicionais. A sintaxe foi estruturada para facilitar a auditoria humana de falhas de segurança, utilizando escopo léxico e operadores específicos para evitar ambiguidades.
Modelo Computacional
No ambiente da linguagem E, todos os valores são objetos e a computação ocorre mediante o envio de mensagens entre eles. Cada objeto pertence a um vat (análogo a um processo), que conta com um único thread de execução, um registro de pilha e uma fila de eventos. O envio de mensagens para objetos remotos é criptografado automaticamente pelo tempo de execução da linguagem.
As mensagens podem ser enviadas de duas formas: por chamada imediata ou por envio eventual. A chamada imediata funciona como uma chamada convencional de função onde o remetente aguarda o retorno. O envio eventual gera uma promessa (promise), permitindo que o remetente continue a execução imediatamente enquanto a operação é processada de forma assíncrona, prevenindo impasses (deadlocks) em ambientes distribuídos.
Perguntas frequentes
O que é a linguagem E?
É uma linguagem de programação orientada a objetos projetada especificamente para computação distribuída e segura.
Como a linguagem E evita deadlocks?
Utiliza um modelo de envio eventual de mensagens baseado em promessas (promises) e filas de eventos, eliminando esperas síncronas bloqueantes em chamadas remotas.
Quem criou a linguagem E?
Foi criada em 1997 por um grupo na Electric Communities, incluindo Mark S. Miller, Dan Bornstein, Douglas Crockford e Chip Morningstar.