X10 es un lenguaje de programación que está desarrollando IBM en el Centro de Investigación Thomas J. Watson como parte del proyecto Sistema Informático Productivo, Fácil de Usar y Confiable ( PERCS ), financiado por el programa Sistemas Informáticos de Alta Productividad (HPCS) de DARPA .
Historia
Sus autores principales son Kemal Ebcioğlu, Saravanan Arumugam (Aswath), Vijay Saraswat y Vivek Sarkar. [ 1 ]
X10 está diseñado específicamente para la computación paralela mediante el modelo de espacio de direcciones global particionado (PGAS). Un cálculo se divide entre un conjunto de lugares , cada uno de los cuales contiene datos y alberga una o más actividades que operan sobre esos datos. Posee un sistema de tipos restringido para la programación orientada a objetos, una forma de tipos dependientes . Otras características incluyen tipos de estructuras primitivas definidas por el usuario , matrices distribuidas globalmente y paralelismo estructurado y no estructurado. [ 2 ]
X10 utiliza el concepto de relaciones padre-hijo para las actividades con el fin de evitar el bloqueo que puede producirse cuando dos o más procesos esperan a que el otro finalice antes de poder completarse. Una actividad puede generar una o más actividades hijas, que a su vez pueden tener hijas. Las hijas no pueden esperar a que un padre finalice, pero un padre puede esperar a un hijo mediante el comando finish . [ 3 ]
Código de ejemplo
¡Hola Mundo!
Un programa X10 "¡Hola, mundo!"
/** Archivo de ejemplo para el lenguaje de programación X10 (http://x10-lang.org). */ class Example { public static def main(Rail[String]) { Console.OUT.println( "Hola, mundo!" ); // di hola. } } Véase también
Referencias
- ↑ Ebcioğlu, Kemal; Saraswat, Vijay; Sarkar, Vivek. "X10: Programación para paralelismo jerárquico y acceso a datos no uniforme". CiteSeerX 10.1.1.135.9826 .
- ↑ Saraswat, Vijay; Bloom, Bard; Peshansky, Igor; Tardieu, Olivier; Grove, David (4 de enero de 2019). "Especificación del lenguaje X10 Versión 2.6.2" (PDF) . Archivado del original (PDF) el 2 de mayo de 2024. Recuperado el 11 de agosto de 2025 .
- ↑ Biever, C. "La revolución informática plantea problemas para los programadores". New Scientist . 193 (2594).
- ↑ pygments/tests/examplefiles/x10/example.x10 en GitHub
Enlaces externos
- Software de IBM
- lenguajes de programación de matrices
- Lenguajes de programación concurrentes
- Lenguajes de programación de la JVM
- Temas básicos de lenguajes de programación