| X10 | |
|---|---|
| Paradigm | Object-oriented |
| Designed by | Kemal Ebcioğlu, Saravanan Arumugam, Vijay Saraswat, and Vivek Sarkar |
| Developer | IBM |
| First appeared | 2004; 21 years ago (2004) |
| Stable release | |
| 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 |
| Influenced by | |
| C++,Java | |
X10 is aprogramming language being developed byIBM at theThomas J. Watson Research Center as part of the Productive, Easy-to-use, Reliable Computing System (PERCS) project funded byDARPA'sHigh Productivity Computing Systems (HPCS) program.
Its primary authors are Kemal Ebcioğlu, Saravanan Arumugam (Aswath), Vijay Saraswat, and Vivek Sarkar.[1]
X10 is designed specifically forparallel computing using thepartitioned global address space (PGAS) model.A computation is divided among a set ofplaces, each of which holds some data and hosts one or moreactivities that operate on those data. It has a constrained type system for object-oriented programming, a form ofdependent types. Other features include user-defined primitivestruct types; globally distributedarrays, 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 thefinish command.[3]
/** Example file for the X10 programming language (http://x10-lang.org). */class Example {publicstaticdef main(Rail[String]) { Console.OUT.println("Hello, World!");// say hello. }}
Thisprogramming-language-related article is astub. You can help Wikipedia byexpanding it. |