IBM is partnering with academic institutions to develop a new language in an experimental phase of development.
X10 is designed to contribute to this productivity improvement by developing a new programming model, combined with new tools that are integrated into Eclipse and new implementation techniques for delivering optimized scalable parallelism in a managed runtime environment. It is a modern, parallel, distributed object-oriented language that is targeted to low-end and high-end systems with nodes built out of multi-core SMP chips with non-uniform memory hierarchies and interconnected in scalable cluster configurations.
X10 is a member of the Partitioned Global Address Space (PGAS) family of languages, and it highlights the explicit reification of locality in the form of places. It also has lightweight activities embodied in async, future, foreach, and ateach constructs, constructs for termination detection (finish) and phased computation (clocks), the use of lock-free synchronization (atomic blocks), and the manipulation of global arrays and data structures.
To further increase programmer productivity, an Eclipse-based Integrated Development Environment (IDE) has been developed at IBM for X10. The X10 Development Toolkit (X10DT) is intended to be a full-featured IDE for X10 that offers features Java programmers have come to love and depend upon in Eclipse: a source editor with various coding assists, lightweight information pop-ups, high-level and low-level navigation views, powerful search capabilities, application launch configuration management, refactoring, and debugging support.
In addition, the X10DT includes tools, views, and refactorings that specifically address the development of highly concurrent software in X10. All in all, X10 is an experimental software that has great potential to contribute to improved development productivity and scalability for parallel applications.
Version 1.7.2: N/A