Sun's Fortran replacement goes open source

Daily Newsletters

Sign up to ZDNet UK's daily newsletter.

ANALYSIS

Sun Microsystems took a new open source step last week, enlisting the outside world's help in an attempt to create a brand-new programming language called Fortress.

On Tuesday in the US, the company quietly released as open source software a prototype Fortress "interpreter", a programming tool to execute Fortress programs line by line. "We're trying to engage academics and other third parties," Eric Allen, a Sun Labs computer scientist and Fortress project leader, said about the open source move.

Fortress is designed to be a modern replacement for Fortran, a programming language born 50 years ago at IBM but still very popular for high-performance computing tasks such as forecasting the weather.

Even though Fortress grew out of a US Defense Department-funded supercomputing project, it tackles a mainstream computing challenge, too: more easily extracting work from all those new processing engines appearing in multicore processors.

"We certainly have a lot of visibility in the high-performance computing market right now. We think as multicore becomes more important for ordinary desktop systems that programmers are going to have to turn to a language like Fortress in order to take advantage of the performance their hardware is providing to them," Allen said.

Mainstream x86 chips from Intel and AMD today have two or four processing cores, while Sun Niagara chips have eight cores and will move to sixteen soon. But it's hard to break down software into independent chunks that run in parallel across all those cores or across multiple processors.

"For some types of workloads, the computer industry has done a pretty good job. Google is a parallel programming problem," Illuminata analyst Gordon Haff said. "Some workloads scale very well. A lot do not, however. Extracting parallelism from those workloads is a very long-standing computer science problem. Progress has been made, but it's a long way from being solved."

Sun hopes that Fortress will help with that problem.

"Fortress isn't pixie dust. But it does allow us to write programs in a way that really work better on multicore in general," Allen said.

For example, Fortress programmers must explicitly declare when software shouldn't run in parallel, a reversal of the prevailing default. When a Fortress program performs a "for" loop — a repeated task such as examining every pixel in a photograph or finding how many people in a list are above age 21 — Fortress automatically breaks the job into pieces and farms each piece out to different cores, processors or servers, Allen said.

Fortress also tries to store data intelligently so it will be conveniently near the processor that needs it, Allen said. That should help with large compute clusters that gang together independent servers on a high-speed network, Sun argues.

Popularity contest
Sun, by virtue of its successful Java language, has a notable track record introducing new programming languages. But that doesn't guarantee success.

"What is hard — very hard, in fact — is attracting a substantial portion of developers to that language," said RedMonk analyst Stephen O'Grady.

Tapping into the open source software movement, in which anyone can see and modify the underlying code for software, is a natural way to try to ensnare new programmers — in particular, programmers in high-performance computing where open source software is popular, a do-it-yourself ethos is encouraged and people are willing to experiment with new technology to extract the most work from their hardware.

New languages that have shown some successes in recent years — PHP, Python, Perl and Mono, for example — have open source underpinnings. And after years of resisting, Sun is making Java open source software.

It's too strong to say Fortress would be doomed if it weren't open source, "but its future would be extremely niche," O'Grady said.

Sun released the Fortress interpreter under the permissive open source BSD licence. The company is keeping control over the official version, though, so for now at least outside programmers will need to give Sun control over their contributions, Allen said.

It's also important to have a community interested in a new language to get it to catch on, O'Grady said. For Sun, that community is high-performance computing.

For example, programmers can use ordinary mathematical expressions rather than having to translate formulas into the typically very different syntax of computer languages. "It provides more productivity because it allows the scientific programmer to stay closer to his own problem domain instead of learning some computer science language," Allen said.

Still a prototype
Fortress is good for other tasks, too, Allen believes. For example, it's perfectly appropriate for somebody writing business software for customer-relationship management, he said.

But not just yet.

Sun released an alpha version of the Fortress language specification in September, but it's not final, Allen said. And the interpreter is in its early stages. The interpreter can handle some Fortress features — for example, "work stealing" in which one hardware element that's finished up its task can pick up chores from another that's still busy — but it still only runs a subset of the Fortress language.

The interpreter runs on a Java foundation, but shouldn't be confused with Java itself. Java lets the same program run on a multitude of computers, so it means the Fortress project can be developed more widely.

Ultimately, Sun wants to build not just an interpreter, which executes Fortress software line by line, but also a compiler, which translates the software in advance into a form a computer can understand from the code a person wrote. Compiled software is generally faster than interpreted software. In addition, Sun envisions an optimising compiler, a technology that adjusts the compiled version of software as it runs to improve performance.

Sun has started with a clean slate with Fortress. That means new programmers have more to learn, but also that Sun has more options for development. But Allen has respect for Fortran's inertia.

"There are a lot of features in Fortran that make it difficult for programmers to write as efficiently as they can in modern programming languages," he said, but added, "It's hard to imagine a world in which Fortran programs are no longer run at all."

Talkback

I'm interested to see how Microsoft responds to this. .NET is an open standard and I'm not a compiler developer but I'm sure the distance between this 'fortress' and multi-core/server/processor .NET technology is not too different.

Just my two cents. I cant wait to see how this all plays out.

tmpvar 22 January, 2007 03:51
Reply

Post your comment

In order to post a comment you need to be registered and logged in.

You can also log in with Facebook. Log in or create your ZDNet UK account below

  • Login

Will not be displayed with your comment

By signing up for this service, you indicate that you agree to our Terms and Conditions and have read and understood our Privacy Policy. Questions about membership? Find the answers in the Community FAQ

Get ZDNet UK's daily newsletter

Enter your email address to sign up

ZDNet UK Live

kevinmchapman

"the very significant number of users" and "many (most) of us" - you have no evidence for these statements. It is a fact that most users are saying...

4 hours ago by kevinmchapman on A tale of two distros: Ubuntu and Linux Mint
Marg Menzies Harrison

Another grammar faux pas is the improper use of "you". When sitting down down in a restaurant, for example, I get cringe when the waitress...

6 hours ago by Marg Menzies Harrison via Facebook on 10 flagrant grammar mistakes that make you look stupid
zdnetukuser

And NOW, folks, for Canonical's next trick... Kubuntu is late. Here's a pencil. Draw your own conclusions. cf.:...

6 hours ago by zdnetukuser on Linux Minterface
Moley

@kevinmchapman. The discussion here reflects the very significant number of users who really do like the traditional menu system and who wish to...

8 hours ago by Moley on A tale of two distros: Ubuntu and Linux Mint
kevinmchapman

Er, no... It is an efficient means of finding the application/file/setting you need in one place. The icons are a simply a fallback for when you...

10 hours ago by kevinmchapman on A tale of two distros: Ubuntu and Linux Mint
TerryRK

Isn't the provision of a text based search an admission by the developers that the mass of icons approach does not work? I don't need to use a...

11 hours ago by TerryRK on A tale of two distros: Ubuntu and Linux Mint
kevinmchapman

"Unity and GNOME 3 both abandon the old text-based cascading menus in favour of a graphical icon-driven system." Point truly missed. Both use a...

12 hours ago by kevinmchapman on A tale of two distros: Ubuntu and Linux Mint
TerryRK

whs001 - Thank you, I'm glad you liked the article. I absolutely agree with you on your first point. I should perhaps have made it clearer that...

12 hours ago by TerryRK on A tale of two distros: Ubuntu and Linux Mint
Dennis Nilsson

If we allow corporate interest to dictate the way our government circumvents due process against foreign entities then we should accept the same...

13 hours ago by Dennis Nilsson via Facebook on ACTA stumbles in Germany
GHar123

I totally dislike pirating of works, I fear that artists will be deterred from creating works if they think that they are going to get ripped off....

15 hours ago by GHar123 on ACTA stumbles in Germany
JCB33

How dare film makers, artists or anybody that invests in creativity stop us pirating their works for free. I want to be able to walk into my local...

20 hours ago by JCB33 on ACTA stumbles in Germany
Moley

@GrueMaster. I prefer horses for courses rather than one size fits all. I, and I suspect most other computer users, do not really wish to have...

23 hours ago by Moley on A tale of two distros: Ubuntu and Linux Mint
greycynic

The product that scares me every time I have to use it is the Office 2007 version of Excel. The first bug that I found was applying the median...

23 hours ago by greycynic on Ten flawed products that derail productivity
GrueMaster

Nice review and very informative. One thing I'd like to add (in reply to whs001's 1st question), the main reason to have the same interface from...

1 day ago by GrueMaster on A tale of two distros: Ubuntu and Linux Mint
Frederick Wrigley

I'be been using Mint 12 since the RC came out, and I am far more happy with the Cinnamon, the Mate, and, yes (with extensions), theGnome 3...

1 day ago by Frederick Wrigley via Facebook on A tale of two distros: Ubuntu and Linux Mint
bdantas

Excellent article. One small correction, though--although a fresh installation of Linux Mint 12 will, indeed, provide the user with a version of...

1 day ago by bdantas on A tale of two distros: Ubuntu and Linux Mint
Alan Ralph

In related news, the ISPs club together to get the members of the Home Affairs Select Committee (ya goofed on that part, ZDNet UK) copies of "The...

1 day ago by Alan Ralph via Facebook on MPs urge ISPs to take down terrorist material
Alan Ralph

In related news, the ISPs club together to get the members of the Home Affairs Select Committee (ya goofed on that part, ZDNet UK) copies of "The...

1 day ago by Alan Ralph via Facebook on MPs urge ISPs to take down terrorist material
Moley

For Gnome 2 die-hards, it is possible to add icons to the bottom panel (or top top panel, if you prefer) which provide the exact Gnome 2...

1 day ago by Moley on A tale of two distros: Ubuntu and Linux Mint
ramwellian

Your comments would seem pretty naive and immature. Your 'solution' appears to be, "gee, let's all just give in to the hackers and give them...

1 day ago by ramwellian on Cloud computing security: no more oxymoron?

Latest in Application Development