Está en la página 1de 4

Ejemplos de Lenguajes de Programación Concurrentes

.- ADA: El lenguaje fue diseñado bajo encargo del Departamento de Defensa de


los Estados Unidos. Durante los años 1970, este departamento tenía proyectos en
una infinidad de lenguajes y estaba gastando mucho dinero en software. Para
solucionarlo se buscó un lenguaje único que cumpliese unas ciertas normas. Después
de un estudio de los lenguajes existentes en la época se decidió que ninguno las
cumplía totalmente, por lo que se hizo un concurso público al que se presentaron
cuatro equipos, cuyas propuestas se nombraron con un color: Rojo (Intermetrics),
Verde (CII Honeywell Bull), Azul (SofTEch) y Amarillo (SRI International).
Finalmente en mayo de 1979 se seleccionó la propuesta Verde diseñada por Jean
Ichbiah de CII Honeywell Bull, y se le dio el nombre de Ada(El nombre se eligió en
conmemoración de lady Augusta Ada Byron, Condesa de Lovelace, hija del poeta
Lord George Byron y de la matemática, activista y aristócrata Anne Isabella Noel
Byron, considerada la primera programadora de la Historia por su colaboración y
relación con Charles Babbage, creador de la máquina analítica.). Ada es un lenguaje
de programación de propósito general que sigue la filosofía de la orientación a
objetos y concurrente, que a la par de ser fácil, es también muy completo, no
obstante, no se cuenta entre los lenguajes más utilizados, quedándose por detrás
de C/C++ o Java, reducido en la mayoría de las veces a un ámbito
meramente académico gracias a su simplicidad, este lenguaje tiene características
como:

 Legibilidad.
 Tipado Fuerte.
 Construcción de grandes programas.
 Manejo de Excepciones.
 Abstracción de Datos.
 Procesamiento Paralelo.
 Unidades Genéricas.

.- CSP: CSP (Hoare 1978) fue uno de los desarrollos fundamentales en


Programación Concurrente. Muchos lenguajes reales (OCCAM, ADA, SR) se basan
en CSP. La idea básica de Hoare fue la de comunicación guardada: es decir pasaje
de mensajes con waiting selectivo. Canal: link directo entre dos procesos en lugar
de mailbox global. Son half-duplex y nominados. Sentencias de Entrada y Salida
( ? ! ) : único medio por el cual los procesos se comunican.
.- OCCAM: es un lenguaje de programación imperativo y estructurado (al igual
que Pascal). Fue desarrollado por David May en Inmos Limited, Bristol, Inglaterra,
para desarrollar software para su línea de procesadores Transputers, existiendo
también implementaciones para otras plataformas.

Hoare introdujo CSP como lenguaje formal que sigue el modelo de pasaje de
mensajes sincrónicos, pero nunca fue implementado. OCCAM es un lenguaje real,
que implementa lo esencial de CSP sobre una arquitectura “modelo” que físicamente
se ha desarrollado y que son los trasputers. Trasputers + OCCAM constituyen una
combinación que permite hablar de “sistema multiprocesador para procesamiento
concurrente”, donde tanto la arquitectura como el lenguaje son simples y
perfectamente adecuadas a la programación concurrente con mensajes
sincrónicos. 

 .-OCCAM es un lenguaje simple con una sintaxis rígida:

• Cada proceso primitivo, constructor o declaración ocupa una línea.

• Se usa : al final de una declaración.

• Los procesos y los caminos de comunicación entre ellos son estáticos (definidos
al momento de la compilación). Un programa en OCCAM tiene un número fijo de
procesos.

• El modelo de comunicación es sincrónico por canales half duplex.

• Las sentencias básicas (asignación y comunicación) son vistas como procesos


primitivos.

.- JAVA: Java es un lenguaje de programación de propósito general orientado a


objetos y concurrente, desarrollado por Sun Microsystems. También se puede
decir que Java es una tecnología que no sólo se reduce al lenguaje sino que además
provee de una máquina virtual Java que permite ejecutar código compilado Java,
sea cual sea la plataforma que exista por debajo; plataforma tanto hardware, como
software (el sistema operativo que soporte ese hardware). El apoyo a esta
tecnología viene dado por la gran cantidad de fabricantes que apoyan esta
especificación de máquina virtual.

El lenguaje se inspira en otros lenguajes:

.- sentencias comunes de C y C++ (sintaxis parecida a dichos lenguajes)


.- concurrencia parecida a la de Mesa (un lenguaje de investigación de Xerox)

.- interrupciones parecidas a las de Modula-3

.- tratamiento de enlace dinámico de código nuevo parecido al de Lisp

.- definiciones de interfaces parecidas a las de Objective C

.- gestión de almacenamiento automático parecida a la de Lisp

Sun describe al lenguaje Java de la siguiente manera:

 Simple
 Orientado a Objetos
 Tipado estáticamente
 Distribuido
 Interpretado
 Robusto
 Seguro
 de Arquitectura Neutral
 Multihilo
 con Recolector de basura (Garbage Collector)
 Portable
 de Alto Rendimiento: sobre todo con la aparición de hardware especializado
y mejor software
 Dinámico
https://prezi.com/m0yickgrvle_/lenguajes-concurrentes/

https://www.ecured.cu/Lenguaje_de_programaci
%C3%B3n_Ada#Caracter.C3.ADsticas_principales

https://www.definicionabc.com/tecnologia/ada-programacion.php

https://es.wikipedia.org/wiki/Ada_(lenguaje_de_programaci%C3%B3n)

https://es.linkfang.org/wiki/Lenguaje_de_programaci%C3%B3n_Occam

https://www.slideserve.com/zayit/qu-vimos-en-la-clase-pasada

http://personales.upv.es/rmartin/cursoJava/Java/Introduccion/PrincipalesCaract
eristicas.htm

También podría gustarte