Linguagem de programação concorrente
Alef é uma linguagem de programação concorrente descontinuada, projetada como pate do sistema operacional Plan 9 from Bell Labs por Phil Winterbottom da Bell Labs. Ela implementa um modelo de concorrência baseado em canais de Newsqueak em uma linguagem compilada tipo C.
História
Alef apareceu na primeira e segunda edições do Plan 9, mas foi abandonada durante o desenvolvimento da terceira edição.[1][2] Rob Pike mais tarde explicou que o fim de Alef devido a sua falta de gerenciamento automático de memória, apesar de Pike e outros insistindo para que Winterbottom adicionasse um garbage collector a linguagem[3] e também em um slideshow em fevereiro de 2000, Pike notou: "...apesar de Alef ter sido um linguagem frutífera, se demonstrou muito difícil manter uma variedade de linguagens em várias plataformas, então nós pegamos o que aprendemos e construimos uma biblioteca de threads para C".[4]
Alef foi suplantada por dois ambientes de programação. A linguagem Limbo pode ser considerada como uma sucessora direta de Alef and o seu uso mais comum no sistema operacional Inferno. O modelo de concorrência de Alef foi replicado na terceira edição do Plan 9 na forma da biblioteca libthread, que faz com que algumas das funcionalidades de Alef fiquem disponíveis para programas C e permite que programas existentes em Alef (como Acme) sejam traduzidos.[5]
Exemplo
Esse exemplo foi tirado do manual de referencia de Alef.[1] Esse pedaço ilustra o uso de tuplas
(int, byte*, byte)
func()
{
return (10, "hello", 'c');
}
void
main()
{
int a;
byte* str;
byte c;
(a, str, c) = func();
}
Ver também
Referências