Alef es un lenguaje de programación concurrente descontinuado , diseñado como parte del sistema operativo Plan 9 por Phil Winterbottom de Bell Labs . Se implementó el basado en canales de concurrencia modelo de Newsqueak en un compilado , C lenguaje -como.
Paradigma | compilado , concurrente , estructurado |
---|---|
Diseñada por | Phil Winterbottom |
Apareció por primera vez | 1992 |
Disciplina de mecanografía | Estático , fuerte |
SO | Plan 9 de Bell Labs |
Influenciado por | |
C , Newsqueak | |
Influenciado | |
Limbo , óxido , ir |
Historia
Alef apareció en la primera y segunda ediciones del Plan 9, pero fue abandonado durante el desarrollo de la tercera edición. [1] [2] Rob Pike explicó más tarde la desaparición de Alef señalando su falta de administración automática de memoria , a pesar de que Pike y otras personas instaron a Winterbottom a agregar recolección de basura al lenguaje; [3] también, en una presentación de diapositivas de febrero de 2000, Pike señaló: "... aunque Alef era un lenguaje fructífero, resultó demasiado difícil mantener un lenguaje variante en múltiples arquitecturas, así que tomamos lo que aprendimos de él y construimos la biblioteca de subprocesos para C." [4]
Alef fue reemplazado por dos entornos de programación. El lenguaje de programación Limbo puede considerarse un sucesor directo de Alef y es el lenguaje más utilizado en el sistema operativo Inferno . El modelo de concurrencia de Alef se replicó en la tercera edición de Plan 9 en la forma de la biblioteca libthread , que hace que algunas de las funciones de Alef estén disponibles para los programas C y permite traducir los programas Alef existentes (como Acme ). [5]
Ejemplo
Este ejemplo se tomó del manual de referencia de Alef. [1] La pieza ilustra el uso del tipo de datos de tupla .
( int , byte * , byte ) func () { return ( 10 , "hola" , ' c ' ); }void main () { int a ; byte * str ; byte c ; ( a , str , c ) = func (); }
Ver también
Referencias
- ↑ a b Winterbottom, Phil (1995). "Manual de referencia del lenguaje Alef" . Plan 9 Manual del programador: Volumen dos . Murray Hill: AT&T.
- ^ "Prefacio a la tercera edición (2000)" . Plan 9 Manual . Murray Hill: Laboratorios Bell. Junio de 2000 . Consultado el 29 de octubre de 2012 .
- ^ Pike, Rob (2010). Orígenes del estilo de concurrencia de Go . Campamento de Idiomas Emergentes de OSCON.
- ^ Pike, Rob. "Rio: Diseño de un sistema de ventanas concurrentes" (PDF) . Consultado el 8 de marzo de 2013 .
- ^ "hilo (2)" . Plan 9 Manual . Consultado el 29 de octubre de 2012 .
- Flandrena, Bob (1995). "Guía de usuarios de Alef" . Plan 9 Manual del programador: Volumen dos . Murray Hill: Laboratorios Bell.
- Phil Winterbottom (20 de octubre de 1992). "Plan9 VM" . Grupo de noticias : comp.os.research . Usenet: [email protected] .