BEAM es la máquina virtual en el núcleo de Erlang Open Telecom Platform (OTP). [1] BEAM es parte del Erlang Run-Time System (ERTS), que compila el código fuente de Erlang en bytecode , que luego se ejecuta en BEAM. [2] [3] Los archivos de bytecode de BEAM tienen la .beamextensión de archivo. [4]
Originalmente, BEAM era la abreviatura de Bogdan's Erlang Abstract Machine , llamada así por Bogumil "Bogdan" Hausman, quien escribió la versión original, pero el nombre también puede denominarse Björn's Erlang Abstract Machine , en honor a Björn Gustavsson, quien escribió y mantiene la versión actual. [1] [5] [6] Ambos desarrolladores trabajaron en el sistema mientras estaban en Ericsson . [7] [8]
El predecesor de BEAM fue JAM (Joe's Abstract Machine), que fue la primera máquina virtual para el lenguaje Erlang y fue escrita por Joe Armstrong .
Idiomas BEAM
Aunque BEAM se creó para Erlang, se han creado varios otros lenguajes para él o se han adaptado para ejecutarse en él. El más popular de ellos es Elixir , que tuvo más respuestas que el propio Erlang en una encuesta para desarrolladores de Stack Overflow de 2023. [9] Otros ejemplos notables incluyen:
- Clojerl, [10] un puerto de Clojure a BEAM
- Cuneiforme , [11] un lenguaje para el análisis de datos científicos a gran escala
- Gleam , [12] un lenguaje funcional tipado estáticamente para BEAM
- LFE , [13] Lisp Flavored Erlang, una interfaz de Lisp para el compilador Erlang
- Luerl, [14] Lua en BEAM, diseñado e implementado por uno de los creadores de Erlang
Véase también
Referencias
- ^ ab "El sistema de ejecución de Erlang". happi.github.io . Consultado el 5 de mayo de 2018 .
- ^ Martin., Logan (2011). Erlang y OTP en acción . Merritt, Eric., Carlsson, Richard. Stamford, CT: Manning Pub. ISBN 9781933988788.OCLC 747046900 .
- ^ "Los lenguajes de programación más populares de 2018 - Blog de Elite Infoworld". 2018-03-30. Archivado desde el original el 2018-05-09 . Consultado el 2018-05-08 .
- ^ Zachary., Kessin (2012). Creación de aplicaciones web con Erlang . Pekín: O'Reilly. ISBN 9781449309961.OCLC 802882644 .
- ^ "erlang/otp". GitHub . Consultado el 6 de mayo de 2018 .
- ^ "Fe de erratas confirmada | O'Reilly Media" . Consultado el 6 de mayo de 2018 .
- ^ Kerjouan, Mathieu (17 de julio de 2017). «Serie de serialización: ¿habla Erlang ETF o BERT? (parte 1)». Medium . Consultado el 6 de mayo de 2018 .
- ^ "Conjunto de instrucciones Erlang BEAM" www.cs-lab.org . Consultado el 6 de mayo de 2018 .
- ^ "Encuesta para desarrolladores de Stack Overflow 2023". Stack Overflow . Consultado el 9 de enero de 2024 .
- ^ Facorro, Juan. "Clojerl". GitHub . Consultado el 9 de enero de 2024 .
- ^ "Cuneiforme". Cuneiforme . Consultado el 9 de enero de 2024 .
- ^ "Resplandor". Resplandor . Consultado el 9 de enero de 2024 .
- ^ "LFE". GitHub . Consultado el 9 de enero de 2024 .
- ^ "luerl". GitHub . Consultado el 9 de enero de 2024 .
Enlaces externos
- Sitio web de Erlang
- Una historia de Erlang
- Especificación de la máquina virtual Erlang BEAM, 1997
- El libro BEAM de Erik Stenman
- Idiomas, y sobre idiomas, en el BEAM