Está en la página 1de 4

DE CIUDAD HIDALGO

INSTITUTO TECNOLÓGICO SUPERIOR

PROGRAMACIÓN LÓGICA Y FUNCIONAL

ACTIVIDAD DE APRENDIZAJE:

TEMA 2: ERLANG LENGUAJE DE PROGRAMACIÓN


FUNCIONAL

Presenta:
Edgar Camacho Cruz.

Docente:
ISC. ERIC ESCOBAR MENDOZA

Cd. Hidalgo, Mich. 10 Marzo 2021


ERLANG.
Es un lenguaje de programación concurrente (u orientado a la concurrencia) y un sistema de
ejecución que incluye una máquina virtual (BEAM) y bibliotecas (OTP). Es un lenguaje
funcional, con evaluación estricta, asignación única, y tipado dinámico. Fue diseñado en la
compañía Ericsson para realizar aplicaciones distribuidas, tolerantes de fallos, soft-real-time
y de funcionamiento ininterrumpido. Permite la modificación del código en proceso de
aplicación sin tener que recurrir a la detención del sistema.

El sistema de Erlang fue perteneciente a la compañía Ericsson, en 1998 fue cedido como
software de código abierto. Este recibe el nombre debido a Agner Krarup Erlang quien
invento los campos de trafico de telecomunicaciones y la teoría de colas. Aunque también se
hace la creencia de que su nombre proviene de Ericsson Language.

Características:

Concurrente: Erlang tiene procesos extremadamente livianos cuyos requerimientos de


memoria varían dinámicamente. Los procesos no tienen memoria compartida y se comunican
vía mensajes asincrónicos.

Distribuido: Erlang está diseñado para correr en ambientes distribuidos. Una máquina
virtual de Erlang es un nodo de Erlang. Un sistema distribuido de Erlang es una red de nodos
(generalmente uno por procesador). Un nodo Erlang puede crear procesos paralelos
ejecutando en otros nodos, lo cuales podrían utilizar otros sistemas operativos.

Robustez: Erlang posee varias primitivas de detección de errores las cuales sirve para
estructurar sistemas con Tolerancia frente a fallos.

Soft real-time: Erlang soporta sistemas "soft" real-time, el cual requiere tiempo de respuesta
del orden de los milisegundos.

Actualización de código durante ejecución: Muchos sistemas no pueden detenerse para


hacer mantenimiento de software. Erlang permite cambiar el código mientras el sistema está
ejecutando. El viejo código puede ser desafectado y reemplazado por el nuevo código.

Carga de código incremental: Los usuarios pueden controlar en detalle como se carga el
código.

Interfaces Externas: Los procesos Erlang se comunican con el mundo exterior utilizando el
mismo mecanismo de envío de mensajes como los usados internamente entre procesos. Este
mecanismo es utilizado para la comunicación con el sistema operativo y para interactuar con
programas escritos en otros lenguajes.
Parámetro Haskell Erlang
Paradigma Programación Funcional estática Programación Funcional Dinámica
Categoría Académico, matemático orientado Practico y pragmático
Definición Lenguaje de propósito general que Los usos de Erlang se encuentran en
se puede utilizar en cualquier telecomunicaciones, banca, comercio
dominio y caso de uso, es ideal electrónico, telefonía informática y
para análisis de datos y lógica mensajería instantánea. El sistema de
empresarial tiempo de ejecución de Erlang tiene
soporte integrado para concurrencia,
distribución y tolerancia a fallas.
Sintaxis A diferencia de los operadores, las Para trazar mejor los códigos, claro,
funciones se utilizan en notación y porque bien pensado, un lenguaje
prefija, es decir, el nombre de la funcional no requiere del uso de
función se coloca antes de sus tantas variables. Fue creado para
parámetros. Los nombres de las entornos en los que hubiese que
funciones sólo pueden contener desarrollar software con alto grado
caracteres normales, es decir, de concurrencia, esto lo hace ideal
letras, dígitos, comillas y para entornos servidores de cualquier
subrayados. El primer carácter de tipo, y actualmente, para los
un identificador de función no escritorios modernos, donde los
puede ser una letra mayúscula ni programas se ejecutan de forma
un dígito. concurrente
Entorno Al concepto de funciones, que Se centra en la evaluación de
son un bloque de código expresiones, en lugar de la ejecución
destinado a realizar tareas de comandos, donde las expresiones
específicas. utilizan funciones para deducir
valores básicos
Software Código Abierto Código Abierto
Naturaleza Tradicional y de propósito Distribuido según
general
Aprendizaje Desarrollo de lógica matemática Lenguaje de nivel intuitivo, pero
abstracta, algo complicada diferente a primera vista.

Conclusión.

Ambos lenguajes de programación funcional tienes sus méritos según su entorno de


desempeño, por su parte Haskell maneja conceptos más abstractos, su sintaxis es detallada y
precisa sin embargo el nivel de manejo puede ser complicado para usuarios inexpertos. Por
su parte Erlang tiene un gran soporte a características de fallas y es una mejor opción para la
adicción a sistemas debido a su manejo de multiples nodos y el soporte a concurrencia. Si se
requiere niveles más lógicos matemáticos la opción será Haskell pero de ser necesario la
aplicación de sistemas más robustos podemos emplear Erlang como una alternativa clara
debido a nivel de operabilidad que nos otorga.

Edgar Camacho Cruz 3


BIBLIOGRAFIA

• J., & J. (2010). jlouis/combinatorrent. GitHub.


https://github.com/jlouis/combinatorrent/blob/master/doc/haskell-vs-erlang.mkd

• EcuRed. (2000). Erlang - EcuRed. https://www.ecured.cu/Erlang

• Pedamkar, P. (2021, 1 marzo). Haskell vs Erlang. EDUCBA.


https://www.educba.com/haskell-vs-erlang/

• Colaboradores de Wikipedia. (2021, 6 febrero). Erlang. Wikipedia, la enciclopedia


libre.
https://es.wikipedia.org/wiki/Erlang#:%7E:text=El%20subconjunto%20de%20prog
ramaci%C3%B3n%20secuencial,time%20y%20de%20funcionamiento%20ininterru
mpido.

Edgar Camacho Cruz 4

También podría gustarte