Ir al contenido principal

Lenguajes










    Elixir 


    Elixir es lenguaje de programación de propósito general, concurrente; este lenguaje es funcional. Además está construido sobre la MV de Erlang y aprovecha esto para construir sistemas distribuidos y tolerantes a fallos con baja latencia.












    Ada

    Uno de los pocos lenguajes que provee estructuras embebidas para programación concurrente y provee herramientas para diseño de software de seguridad crítica y proyectos grandes que requieran portabilidad y mantenimiento. Por esta razón la mayoría de software para aviación está programado en Ada que también fue el primer lenguaje orientado a objetos aceptado mundialmente. El lenguaje lleva este nombre en honor a Ada Byron que fue el primer programador del que se tiene registros, siendo este una mujer e hija del poeta Lord Byron [ARA].







    Occam

    Es un lenguaje de procesamiento paralelo diseñado por un equipo en INMOS en conjunto con el diseño del procesador transputer, y basado en CSP. Este lenguaje incorpora soporte para un grano muy fino, hilos de ejecución fáciles de usar y un amplio soporte de ambientes multiprocesadores. Este puede ser usado con sistemas de memoria compartida o distribuida, y es una buena opción cuando se requiere corrección [WOT01].







    Rust
    Es un lenguaje de programación compilado, de propósito general y multiparadigma desarrollado por Mozilla y ha sido diseñado para ser ‘un lenguaje seguro, concurrente y práctico’. Rust se enfoca principalmente en seguridad, velocidad y concurrencia.










    Erlang

    Es un lenguaje de programación funcional de alto nivel, diseñado para escribir aplicaciones concurrentes y distribuidas de funcionamiento ininterrumpido. Erlang usa procesos concurrentes para estructurar la aplicación. Estos procesos no comparten memoria y se comunican de forma asincrónica mediante el paso de mensajes.









    GO
    Es un lenguaje de programación compilado, concurrente, imperativo, estructurado, no orientado a objetos con recolector de basura, soportado en diferentes tipos de sistemas. La concurrencia en Go es diferente a los criterios de programación basados en bloqueos como pthreads.





    Haskell
    Es un lenguaje polimórficamente tipificado, perezoso, puramente funcional, muy diferente a la mayoría de los otros lenguajes de programación.







    Crystal


    Crystal es uno de los nuevos lenguajes en la escena. Aunque no tan conocido como Rust, Elixir o Julia, tiene mucho que ofrecer. Iniciò en 2012, y según describen sus creadores, sus características principales son: 



    - Sintaxis similar a Ruby

    - Estáticamente tipado

    - Compilado

    - Self-hosted (Crystal está escrito en… crystal) 


    Comentarios

    Entradas populares de este blog

    ¿Qué es concurrencia?

    En ciencias de la computación, concurrencia se refiere a la habilidad de distintas partes de un programa, algoritmo, o problema de ser ejecutado en desorden o en orden parcial, sin afectar el resultado final. También concurrente significa algo que se repite cada cierto tiempo en un mismo lugar.

    Origen

    La programación concurrente tiene sus raíces en los sistemas operativos. En los años 60’s se introdujeron en las computadoras dispositivos controladores independientes de entrada-salida llamados canales. La programación de sistemas con capacidades de concurrencia se hacía a bajo nivel, en ensamblador. Los pioneros en este campo fueron:  EdsgerWybe Dijkstra fue un científico de la computación de los Países Bajos. Per Brinch Hansen fue un informático danés-estadounidense conocido por la teoría de la programación concurrente. Charles Antony Richard Hoare también conocido familiarmente como Tony Hoare, es un científico británico en computación.

    Programación Concurrente

    Para definirla correctamente, debemos diferencias entre programa y proceso. ·          Programa: Conjunto de sentencias/instrucciones que se ejecutan secuencialmente. Se asemeja al concepto de clase dentro de la POO. Es por tanto un concepto estático. ·          Proceso : Básicamente, se puede definir como un programa en ejecución. Líneas de código en ejecución de manera dinámica. Se asemeja al concepto de objeto en POO.