X10
- Русское название:
- Икс - 10
- Дата создания:
- 2004
- Создан под влиянием:
- Парадигма:
- Типизация:
- Принятые расширения файлов:
- x10
- Реализации и версии (свернуть все | развернуть все):
X10 — язык программирования, созданный в IBM в исследовательском центром имени Томаса Уотсона как часть проекта PERCS (Productive, Easy-to-use, Reliable Computing System), спонсируемого DARPA в рамках программы HPCS (High Productivity Computing Systems). Первыми авторами стали Kemal Ebcioğlu, Vijay Saraswat, and Vivek Sarkar.
X10 разработан с учетом требований параллельного программирования, используя модель разделяемого глобального адресного пространства. Поддерживает парадигмы как объектно-ориентированного, так и не-объектно-ориентированного программирования.
X10 использует концепцию отношения «родитель-ребенок» в целях предотвращения возникновения ситуации, когда два или более процессов ждут друг друга прежде чем выполнить свою часть задачи. Задача может породить одну или более подзадач («дочерних задач»), которые в свою очередь также могут иметь собственные подзадачи. Подзадачи не могут ожидать от «родителей» завершения их работы, но «родители» могут ждать «детей» при использовании команды «finish».
Ссылки:
Примеры:
Hello, World!:
Пример для версий X10 Release 2.2.2.2import x10.io.Console;
public class HelloWorld
{
public static def main(argv:Array[String])
{
Console.OUT.println("Hello, World");
}
}
Числа Фибоначчи:
Пример для версий X10 Release 2.2.2.2Рекурсивный метод
import x10.io.Console;
public class Fibonacci {
public static def fib(n:int) {
if (n<=2) return 1;
val f1:int;
val f2:int;
finish {
async { f1 = fib(n-1); }
f2 = fib(n-2);
}
return f1 + f2;
}
public static def main(args:Array[String](1)) {
val n = (args.size > 0) ? int.parse(args(0)) : 10;
Console.OUT.println("Computing fib("+n+")");
val f = fib(n);
Console.OUT.println("fib("+n+") = "+f);
}
}
Комментарии
]]>blog comments powered by Disqus
]]>