Sun, Microsoft eye high-performance computing, AJAX

02.06.2006
Sun Microsystems and Microsoft are progressing with programming language research efforts aiming at high-performance computing (HPC) and AJAX (Asynchronous JavaScript and XML), respectively.

With its Fortress language, Sun researchers are developing a general purpose language intended for HPC applications such as weather simulation or large-scale enterprise-level transactional applications. Fortress will be offered to the community at large via an open source format, although plans on exactly when and how that will be done still are undetermined.

Fortress attempts to overcome current HPC programming issues with Fortran and C++, said Eric Allen, principal investigator in the programming languages research group at Sun. These languages suffer from ill-defined semantics that cause bit-level compatibility problems and are unsafe, requiring programmers to often focus on insidious bugs, said Allen, who spoke during an "Open House" event at Sun offices in Menlo Park, Calif.

"Currently, high-performance computing is dominated by two languages: Fortran, and C++. Unfortunately, both of these languages are ill-suited for the task," Allen said.

He said the languages also have no provisions for concurrency, which must be graphed on top of them and can cause conflicts with syntax.

"What's the result? We see programs that are often unnecessarily long, there are errors that are even difficult to detect, much less diagnose, and hardware parallelism is often difficult to exploit," Allen said.

With Fortress, Sun researchers want to change how high-performance computing is done and allow scientists to program more closely to their own domain, he added. Goals include allowing for abstraction and reuse without overhead, making errors easier to correct and detect and making it easier for parallelism and distribution.

"The most important thing to know about Fortress is that it is parallel. In fact, it's really parallel," said Allen.

Although Fortress follows in the footsteps of Java in the area of syntax, it is a separate language, one that has been in development for three years.

"Our strategy with Fortress is to foster community development by establishing a series of open source projects for the language," and seeding them with initial code and contributing extensions, Allen said.

At Microsoft, Nikhil Kothari, an architect on on that firm's "Atlas" team, is working in his spare time on a project called Script#, which enables developers to more easily leverage C# skills to build JavaScript, according to Microsoft. Atlas is a framework for building rich Web applications on top of ASP.Net 2.0; it is planned for inclusion in the upcoming "Orcas" release of the Visual Studio development tools platform.

Pronounced "script sharp," Script# brings the C# developer experience, including programming and tooling, to the JavaScript and AJAX world, according to a Microsoft representative.

"As Microsoft began to build Atlas, we explored a number of different approaches for creating a state-of-the-art experience for building AJAX-enabled Web applications. Script# is a prototype of one such exploration," Microsoft said in a prepared statement.

A Script# compiler and a sample became available on Kothari's blog, accessed here (http://www.nikhilk.net/ScriptSharpIntro.aspx), on May 22.

At this time, however, there are no plans make Script# an officially supported Microsoft product. But the company continues to look for ways to improve the quality of its developer platform to enable the development of compelling Web experiences, Microsoft said.