stringtranslate.com

Alef (lenguaje de programación)

Alef es un lenguaje de programación concurrente discontinuado , diseñado como parte del sistema operativo Plan 9 por Phil Winterbottom de Bell Labs . Implementó el modelo de concurrencia basado en canales de Newsqueak en un lenguaje compilado similar a C.

Historia

Alef apareció en la primera y segunda edición de 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 gestión automática de memoria , a pesar de que Pike y otras personas insistieron a Winterbottom para que añadiera recolección de basura al lenguaje; [3] además, 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 forma de la biblioteca libthread , que pone algunas de las funcionalidades de Alef a disposición de los programas en C y permite traducir programas Alef existentes (como Acme ). [5]

Ejemplo

Este ejemplo fue tomado del manual de referencia de Alef. [1] La pieza ilustra el uso del tipo de datos tupla .

( int , byte * , byte ) func () { return ( 10 , "hola" , 'c' ); }          vacío principal () { int a ; byte * str ; byte c ; ( a , str , c ) = func (); }                 

Véase también

Referencias

  1. ^ ab Winterbottom, Phil (1995). "Manual de referencia del lenguaje Alef". Manual del programador de Plan 9: Volumen dos . Murray Hill: AT&T.
  2. ^ "Prefacio a la tercera edición (2000)". Manual del Plan 9. Murray Hill: Bell Labs. Junio ​​de 2000. Archivado desde el original el 5 de febrero de 2015. Consultado el 29 de octubre de 2012 .
  3. ^ Pike, Rob (2010). Orígenes del estilo de concurrencia de Go. Campamento de lenguajes emergentes de OSCON. Archivado desde el original el 13 de diciembre de 2021.
  4. ^ Pike, Rob. "Rio: Diseño de un sistema de ventanas concurrentes" (PDF) . Consultado el 8 de marzo de 2013 .
  5. ^ "thread(2)". Manual de Plan 9 . Consultado el 29 de octubre de 2012 .