X10 (programming language)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Paradigm Object-oriented
Designed by Kemal Ebcioğlu, Vijay Saraswat, Saravanan Arumugam and Vivek Sarkar
Developer IBM
First appeared 2004
Stable release
2.6.1 / July 30, 2017; 15 months ago (2017-07-30)
Typing discipline Static, strong, safe, constrained
OS IBM AIX, Linux, Mac OS X, Windows
License Eclipse Public License 1.0
Filename extensions .x10
Website x10-lang.org
Influenced by
C++, Java

X10 is a programming language being developed by IBM at the Thomas J. Watson Research Center as part of the Productive, Easy-to-use, Reliable Computing System (PERCS) project funded by DARPA's High Productivity Computing Systems (HPCS) program. Its primary authors are Kemal Ebcioğlu, Vijay Saraswat, Saravanan Arumugam and Vivek Sarkar.[1]

X10 is designed specifically for parallel computing using the partitioned global address space (PGAS) model. A computation is divided among a set of places, each of which holds some data and hosts one or more activities that operate on those data. It has a constrained type system for object-oriented programming, a form of dependent types. Other features include user-defined primitive struct types; globally distributed arrays, and structured and unstructured parallelism.[2]

X10 uses the concept of parent and child relationships for activities to prevent the lock stalemate that can occur when two or more processes wait for each other to finish before they can complete. An activity may spawn one or more child activities, which may themselves have children. Children cannot wait for a parent to finish, but a parent can wait for a child using the finish command.[3]

See also


  1. ^ Ebcioğlu, Kemal; Saraswat, Vijay; Sarkar, Vivek. "X10: Programming for Hierarchical Parallelism and NonUniform Data Access". CiteSeerX
  2. ^ Saraswat, Vijay; Bloom, Bard; Peshansky, Igor; Tardieu, Olivier; Grove, David (October 3, 2014). "X10 Language Specification Version 2.5" (PDF).
  3. ^ Biever, C. "Computer revolution poses problems for programmers". New Scientist. 193 (2594).

External links

  • Official website
  • Overview of PGAS languages
  • Vivek Sarkar's X10 slides
  • GPLed X10 prototype

Retrieved from "https://en.wikipedia.org/w/index.php?title=X10_(programming_language)&oldid=869252001"
This content was retrieved from Wikipedia : http://en.wikipedia.org/wiki/X10_(programming_language)
This page is based on the copyrighted Wikipedia article "X10 (programming language)"; it is used under the Creative Commons Attribution-ShareAlike 3.0 Unported License (CC-BY-SA). You may redistribute it, verbatim or modified, providing that you comply with the terms of the CC-BY-SA